Indo Java podcast #7 akhirnya terbit juga setelah agak lama. Proses editingnya memerlukan waktu cukup lama karena ada kesalahan teknis pada waktu rekaman, file yang kerekam terputus-putus menjadi beberapa file dan akhirnya harus digabung-gabungin lagi.

Anyway, indo java podcast ini membahas dua buah framework aplikasi web java: Spring Roo dan Java EE 6 web profile. Pembahasan dimulai dengan memperkenalkan spesifikasi masing-masing framework. Roo menggunakan Spring MVC 3.0, JPA, ApectJ dan dojo toolkit. Kalau Java EE 6 web profile menggunakan JSF 2.0, PrimeFaces 2.1, JPA 2 menggunakan EclipseLink dan Servlet 3.0.

Kita membuat sebuah aplikasi sederhana yang terdiri dari sebuah table, ada halaman form untuk insert dan update table, ada satu halaman untuk menampilkan table dalam grid. Table yang kita gunakan adalah table person yang terdiri dari beberapa kolom seperti id, nama, password dan satu kolom blob untuk menyimpan foto yang diupload user.

Di bagian awal dito menerangkan panjang lebar mengenai development modelnya Spring Roo yang menganut DDD (Domain Driven Design) dimana Model / Entity tidak hanya dumb class sebagai representasi dari table database, tetapi juga mempunyai kapabilitas untuk melakukan operasi terhadap dirinya sendiri. Misalnya ada Entity Person, maka akan ada method Person.save(), Person.delete(), Person.update() dan seterusnya. Dengan DDD, DAO pattern secara otomatis menjadi tidak berguna, karena operasi terhadap Entity dilakukan di dalam Entity itu sendiri, tidak di dalam DAO. Roo tidak hanya framework, tapi tools untuk rapid development, sepertinya Roo ini mengambil banyak inspirasi dari Ruby on Rails. Framework java yang menggunakan metode serupa adalah Play Framework.

Di segmen berikutnya saya menerangkan lebih jauh tentang Java EE 6, kemudian menjelaskan satu per satu file yang saya buat. Mulai dari SessionBean, Entity, Servlet, ManagedBean hingga ke UI file-nya. Penjelasanya cukup teknis dan cukup sulit dibayangkan tanpa melihat source code-nya, jadi silahkan browse langsung source codenya di :

http://code.google.com/p/indo-java-podcast/source/browse

Atau bisa juga pull repository indojava podcast menggunakan mercurial cleint, atau bisa juga install tortoise-hg.

hg clone https://indo-java-podcast.googlecode.com/hg/ indo-java-podcast

#7 http://indo-java-podcast.googlecode.com/files/indo-java-podcast%237.mp3
- Pengenalan Spring Roo
- Pengenalan Java EE 6 Web profile
- DDD (Domain Driven Design) di Spring Roo
- JSF, JPA, EJB dan Servlet di Java EE 6
- Aplikasi CRUD sederhana menggunakan Spring Roo dan Java EE 6

Happy Podcasting