Servlet, JSP, dan Web Browser

Java
SERVLET Servlet adalah teknologi Java untuk aplikasi web berupa class yang digunakan untuk menerima request dan memberi respon melalui protokol http (html, xml, file dan sebagainya). Pada dasarnya Servlet merupakan file java class yang telah dikompilasi dan dijalankan oleh servlet container atau application server. Istilah application server digunakan apabila software server dapat menjalankan servlet, JSP serta teknologi J2EE utama seperti EJB (Enterprise Java Bean). Contoh Application Servlet adalah BEA Web Logic, IBM Websphere, Jboss, dsb. Servlet container biasanya juga merupakan JSP container, seperti Apache Tomcat, Macromedia Jrun, Resin. (more…)
Read More

Enterprise Java Bean

Java
EJB atau kepanjangannya Enterprise Java Bean merupakan implementasi komponen bisnis / business layer yang tersedia pada bahasa Java platform Java Enterprise Edition. Ada 3 macam EJB dalam spesifikasi EJB versi 3.0 (EJB3) : a. Session Bean Session bean adalah EJB yang digunakan untuk mengeksekusi proses. Isi dari Session Bean ini biassanya berupa kata kerja (transfer, pay, calculate, updateData, dll). Stateless Session Bean (SLSB) adalah Session Bean yang tidak menyimpan state (keadaan) pada setiap kali eksekusi. Berbeda dengan Statefull Session Bean (SFSB) yang dapat menyimpan state. State ini dapat kita gunakan misalnya untuk menyimpan informasi user atau barang-barang yang sudah dibeli (pada kasus online shop). b. Entity Bean Entity Bean adalah EJB yang digunakan untuk mempermudah manipulasi database. Konsepnya adalah Object – Relational Mapping (ORM) yang berarti memetakan object dengan data…
Read More

Annotation pada Spring yang perlu diketahui

Java
Annotation merupakan informasi data tentang kode program tetapi tidak akan berdampak secara langsung pada kode, atau lebih dikenal dengan nama meta tag. Lalu apa kegunaan dari annotation ? Memberikan informasi kepada compiler - Annotation dapat digunakan oleh compiler untuk mendeteksi error atau suppress warning. Compiler-time dan deployment-time processing - Software tools dapat memproses informasi dari annotation untuk men-generate code, XML file, dan masih banyak lagi. Runtime processing - Beberapa annotation akan diperiksa pada waktu runtime. Annotation dapat diaplikasikan pada class, field, method, dan elemen program yang lain 1. @Controller Controller adalah anotasi yang digunakan untuk menunjukkan bahwa sebuah class adalah controller, yang terdiri dari   method method atau fungsi fungsi  yang akan melayani dan berhubungan langsung dengan http request dan request mapping. Pada Controller pertama kali data data yang dikirim…
Read More

Spring Boot

Java
Spring-boot adalah sebuah framework yang merupakan kompilasi dari beberapa elemen library spring framework. Spring-boot diciptakan dengan tujuan untuk memudahkan para pengguna spring framework agar dapat : Mudah membuat aplikasi berbasiskan spring framework. Kontainer web aplikasi seperti tomcat, jetty atau undertow sudah terintegrasi di dalamnya atau membuat standalone aplikasi. Menyediakan sebuah skema 'tinggal pakai' untuk menyederhanakan developer jika menggunakan maven dalam proses development-nya. Memungkinkan pengkonfigurasian spring framework semudah mungkin. Menyediakan fitur-fitur yang siap pakai pada saat produksi, seperti metrics, health checks, dan konfigurasi yang bisa ditempatkan diluar aplikasi. Tidak menggunakan xml sebagai konfigurasi spring-nya. Spring Boot menggunakan teknologi jdbc untuk koneksi ke database relasional (MySql, PostgreSql, Oracle Database, IBM DB2 Database, MsSQL dll). Teknologi jdbc sendiri merupakan bagian dari standard java. Untuk pengetahuan tambahan, silahkan baca halam wikipedia ini. Selain penyimpanan…
Read More

Code Refactoring

Java
Refactoring adalah usaha untuk mengubah struktur kode program agar lebih mudah dibaca dan lebih mudah dimodifikasi. Ya, karena terburu-buru mengejar deadline, seringkali kita membuat kode program ‘kusut’ sehingga sulit dipahami. Meskipun tentu saja sudah bisa dieksekusi dengan benar. Kode program yang kita buat itu seharusnya mudah dibaca dan dipahami karena bukan kita saja yang akan membacanya. Suatu saat nanti, mungkin kode program tersebut harus dimodifikasi oleh orang lain. Selain itu, kode program harus dibuat sedemikian rupa agar penambahan fitur baru tidak menyebabkan kita harus menelusuri dan mengubah bagian-bagian kode program versi sebelumnya. Idealnya, menambah fitur baru cukup dengan membuat kode program baru kemudian ‘digabung’ dengan kode program sebelumnya. Jika struktur program kurang baik, seringkali proses ‘menggabung’ ini jadi butuh effort yang besar. Refactoring pertama diperkanalkan oleh Martin Fowler dalam bukunya…
Read More

Mengapa Perlu Unit Test

Java
Saat kita membangun sebuah sistem maka kita wajib untuk memastikan apakah sistem tersebut berperilaku dan berfungsi sebagaimana mestinya. Sebelum menyerahkan aplikasi ke client, sudahkah dilakukan testing? 100% programmer pasti menjawab dengan kompak, “SUDAAAAHHHH !!!” Jawaban orang biasanya bervariasi, tergantung nilai project, jumlah orang yang tersedia, dan juga tergantung tingkat kegaptekan si programmer terhadap teknologi testing yang tersedia. Testing minimal yang dilakukan biasanya adalah user testing. Jadi, ada user (atau programmer yang pura-pura jadi user) mencoba menggunakan aplikasi yang (katanya sih) sudah selesai. Biasanya fenomena ini akan berakhir dengan periode bugfix yang lebih lama daripada periode coding itu sendiri. (more…)
Read More

Kombinasi Teknologi Aplikasi Java

Java
Untuk membangun aplikasi Java perlu kombinasi teknologi agar aplikasi bisa powerful. Ada beberapa kategori teknologi, yaitu: Ada beberapa kategori teknologi, yaitu: Presentation Layer. Yaitu teknologi untuk membangun User Interface Business Layer. Yaitu teknologi untuk menyediakan logika proses bisnis. Data Access Layer. Yaitu teknologi untuk mengakses penyimpanan data, misalnya database. Security Framework. Teknologi untuk mengelola otentikasi dan otorisasi. Build System. Sistem untuk mengotomasi proses build. Testing System. Sistem untuk mengotomasi pengetesan aplikasi. Application Server Database Server Project Management Tools. Perangkat pembantu untuk mengelola project. (more…)
Read More

Versioning System SVN/Git

Java
Versioning system atau sering juga disebut Revision Control yaitu software yang berfungsi untuk mencatat perubahan berkala pada setiap file dengan detail pencatatan berupa : Tanggal perubahan Anda akan tahu kapan terakhir script tersebut dirubah User yang merubah Anda akan tahu user yang mana dalam tim anda yang melakukan perubahan Baris Kode perubahan Karena file dicatat waktu per waktu maka anda dapat membandingkan setiap baris kode perubahan Dan dari 3 aturan tersebut kode akan dicatat sebagai Revisi #1, Revisi #2 dan seterusnya. Inilah yang dimaksud dengan Versioning system atau revision control. Salah satu contohnya adalah SVN atau Subversion, adalah aplikasi version control. Aplikasi ini mirip dengan file server, artinya dia bisa digunakan untuk menyimpan file, dan bisa diakses jika ingin mengambil file tersebut. Bedanya dengan file server biasa (FTP server, Samba,…
Read More

Perbedaan SQL dan NoSQL

Java
Hampir semua program yang dibuat pasti menggunakan database dalam pengerjaannya, database atau basis data disini digunakan untuk menyimpan data-data. Database ini memiliki skala di mulai dari kecil sampai sangat besar seperti Big Data. Skala terkecil mungkin di dapatkan dari pengumpulan data pembelian barang perhari dan yang terbesar mungkin di dapatkan dari kebiasaan dari para pembeli. Untuk ukuran kecil masih memungkinkan penggunakan Excel atau spreadsheet sebagai basis data, tetapi untuk skala yang besar hal ini agak riskan untuk dilakukan. Dan untuk melakukan penyimpanan ini dibutuhkan sebuah Basis Data yang sangat mumpuni atau tangguh yang disesuaikan dengan kebutuha. Hal ini untuk menjaga skalabilitas (ketersediaan) data, kecepatan pengolahan data, dan keamanan data yang di simpan di dalam basis data. Untuk itu muncul lah perusahaan – perusahaan yang mengeluarkan produk produk basis data yang…
Read More