suhe arie's pages

Programmer juga manusia

Pengenalan Web Framework: Apache Struts

Karena ini adalah artikel pertama saya tentang framework, ada baiknya kita tahu dulu apakah yang disebut framework, dan mengapa kita memerlukannya. Ok, secara singkat dapat dikatakan bahwa framework biasanya terdiri atas:
1. Library, adalah kumpulan kode siap pakai.
2. Pattern, pola kerjanya.
3. Rule. Misalnya file xxx harus diletakkan di direktori abc, buat file xml dengan nama blablabla.xml, letakkan di folder xyz.

Tujuan framework adalah untuk memudahkan programmer untuk melakukan pekerjaan yang umum dan dilakukan secara berulang-ulang. Dengan adanya framework, hal-hal tersebut menjadi lebih mudah karena framework sudah menyediakan fitur-fitur tersebut, sehingga waktu pengerjaan diharapkan bisa menjadi lebih cepat dan memperoleh hasil yang lebih baik. Keuntungan lain dari penggunaan framework adalah programming style dari tim developer bisa lebih seragam (konsisten), karena framework sudah menyediakan pattern yang sudah terbukti efektif untuk mendevelop aplikasi.
Kelemahan penggunaan framework adalah perlunya waktu untuk mempelajari cara penggunaan framework itu sendiri. Jika waktu tersebut masih jauh lebih pendek daripada waktu pengerjaan proyeknya, maka menggunakan framework akan memberikan manfaat yang signifikan.

Pernah merasa melakukan sesuatu yang sama, berulang2 pada setiap project ? Misalnya, untuk bikin aplikasi web, kita sering bekerja untuk:
1. Validasi input dari html form.
2. Mengambil semua parameter yang disertakan dalam http request, kemudian mengubahnya menjadi java object.
3. Membuat servlet untuk melakukan complex processing.
4. Melakukan manipulasi database.
5. Setelah processing selesai, forward control ke halaman JSP.

Jika jawabannya adalah YA, maka Anda bisa menggunakan web framework untuk mengerjakan hal-hal tersebut dengan lebih mudah.

Struts, mungkin Anda sering dengar, sering baca di forum, artikel atau lowongan pekerjaan. Bagi yang belum tahu, Struts adalah web development framework yang berada di bawah payung Apache Software Foundation. Struts menggunakan pattern Model-View-Controller (MVC) dengan memanfaatkan Java Bean (Model), Servlet (Controller) dan JSP (View). Sekilas pengenalan tentang Servlet dan JSP bisa dibaca di sini.

Berikut adalah gambar yang mendeskripsikan bagaimana struts framework bekerja dalam aplikasi web:

Continue reading

October 5, 2008 Posted by | Java, Java Enterprise | , , , | 13 Comments

Java Enterprise, mulai dari mana ? (part 3 – Eclipse & JBoss)

Ini sebenarnya hanya perbandingan saja, saya ingin mencoba membuat aplikasi yang persis sama dengan yang ada di artikel sebelumnya. Bedanya, di part 2, saya membuatnya dengan IDE Netbeans dan mendeploynya di Glassfish, sedangkan kali ini saya akan menggunakan IDE Eclipse 3.4 for Java EE developer dan mendeploynya di JBoss versi 4.2.2.

Karena di Java kita punya banyak pilihan, semoga artikel ini bisa memberi gambaran tentang alternatif-alternatif yang bisa kita gunakan, sekaligus menunjukkan bahwa aplikasi yang sama bisa dideploy di atas 2 application server yang berbeda tanpa harus melakukan banyak perubahan.

Di artikel ini saya tidak akan mengulang penjelasan tentang apa itu Java EE dan modul-modul yang terdapat di dalamnya. Silahkan lihat artikel ini untuk overview Java EE, dan artikel itu untuk penjelasan komponen Java EE yang digunakan di dalam contoh aplikasi ini.

1. Download dan install

Eclipse 3.4 for Java EE developer bisa didownload dari http://www.eclipse.org/downloads/. JBoss bisa didownload di http://www.jboss.org/jbossas/downloads/, saya menggunakan versi 4.2.2 GA. Ekstrak file-file zip tersebut ke komputer Anda, selanjutnya saya akan menyebut direktori instalasi eclipse sebagai ECLIPSE_HOME dan direktori instalasi JBoss sebagai JBOSS_HOME.

2. Register JBoss ke Eclipse

Klik menu Windows -> Preferences. Pilih item Server -> Runtime Environments di tree. Kemudian klik tombol Add untuk meregister application server baru ke dalam eclipse.

Di wizard New Server Environment, pilih JBoss -> JBoss v4.2, klik next, browse JBOSS_HOME anda, kemudian klik finish. Hasilnya, kita bisa melihat server JBoss kita teregister di eclipse, dan kita bisa mengontrol server ini seperti halnya Netbeans mengontrol Glassfish.

Continue reading

September 1, 2008 Posted by | Java, Java Enterprise | , , , , , , | 15 Comments

Java Enterprise, mulai dari mana ? (part 2 – Netbeans & Glassfish)

Artikel ini merupakan tutorial yang berisi aplikasi kalkulator sederhana dengan menggunakan arsitektur Java EE. Jika Anda belum tahu tentang apa itu Java EE, silahkan baca artikel ini terlebih dahulu. Kali ini kita akan menggunakan Netbeans 6.1 sebagai IDE dan Glasshfish v2 sebagai application servernya.

1. Download & install

Kedua software tersebut bisa didownload sekaligus di http://download.netbeans.org/netbeans/6.1/final/. Install netbeans dan glassfish di komputer Anda dengan mengikuti wizard.

2. Setup Project

Start Netbeans, pilih menu File -> New Project.
Pada dialog New Project, pilih categori Enterprise -> Enterprise Application, klik Next.

Masukkan nama project TestEnterpriseProject.

Pilih Server Glassfish V2, Java EE Version 5, dan pastikan Anda mengaktifkan pilihan Create EJB Module dan Create Web Application Module, kemudian klik Finish.

Maka Netbeans akan mengcreate project TestEnterpriseProject sebagai project utama, project TestEnterpriseProject-ejb sebagai sub-project untuk modul EJB, dan TestEnterpriseProject-war sebagai sub-project untuk modul web.

Continue reading

August 26, 2008 Posted by | Java, Java Enterprise | , , , , , , | 15 Comments

Java Enterprise, mulai dari mana ?

Java Enterprise, J2EE, Java EE adalah istilah-istilah yang mungkin sulit dimengerti oleh sebagian orang, bahkan programer Java (yang baru) sekalipun. Di artikel kali ini, saya akan berusaha memberikan gambaran, apa itu Java Enterprise, dan bagaimana kita bisa memanfaatkannya dalam membangun sebuah aplikasi.

J2EE adalah singkatan dari Java 2 Enterprise Edition, dan sejak versi 5 berubah menjadi Java EE atau cukup Java Enterprise Edition. Java EE adalah sebuah spesifikasi, bukan berupa product berwujud nyata. Ada banyak vendor software atau komunitas opensource membuat software berupa application server yang mengikuti standard Java EE sehingga disebut Java EE compliant application server.

Application server ini memungkinkan kita untuk membuat aplikasi berskala enterprise dengan lebih mudah karena application server sudah menyediakan berbagai fasilitas yang siap untuk digunakan sebagai pendukung aplikasi kita.
Full Java EE compliant application server menyediakan berbagai service seperti web container, messaging, web service, mail, directory service, database connectivity, distributed transaction, remoting, persistence, dan lain lain.

Contoh application server adalah Glassfish, Oracle AS, JBoss, IBM Websphere, JRun, JOnAS, dll. Apache Tomcat adalah salah satu webserver/webcontainer untuk aplikasi web Java yang cukup terkenal, tapi bukan termasuk Java EE application server karena tidak menyediakan semua service yang ada di spesifikasi Java EE. Jika kita membuka website sun.java.com, dan menuju halaman tentang Java EE, maka kita bisa mendownload salah satu produk implementasi Java EE yang dibuat di bawah kendali Sun Microsystem, yaitu Sun Java System Application Server, yang sebenarnya adalah nama lain dari Glassfish application server.

Mengapa perlu ada Java EE ?

Continue reading

August 26, 2008 Posted by | Java, Java Enterprise | , | 12 Comments