Monday, June 06, 2005

Java basic: Protected modifier and default modifier

Protected modifier dari suatu field dalam suatu class berarti selain dirinya sendiri yang dapat mengakses field tersebut, class lain yang bisa mengakses field tersebut adalah:
  • class yang satu package dengan class tersebut
  • class yang merupakan subclass dari class tersebut walaupun berbeda package

Default modifier agak berbeda dengan protected modifier, karena

  • subclass di package yang berbeda tidak dapat mengakses field tersebut

Java Network Launching application

Ini beberapa alternatif aplikasi untuk lauching java program lewat network:

Karakteristik RIA

Karakteristik RIA (Rich Internet Applications) :

  • Poses di server dan komunikasi client-server (network traffic) direduksi dengan sebisa mungkin melakukan proses di client
  • Mendukung cross platform (operating system, device) di client
  • Richness of the media (audio, grphics, video/animation)
  • Bisa membuat grafik atau media file lainya secara on the fly
  • Membutuhkan plugin
  • Data dapat dicache di client- Responsive
  • Control yang lebih bervariasi dan responsif seperti pada aplikasi desktop biasa (date picker, gauges, slider, dan lain-lain)
  • Tampilan dan proses konsisten karena dapat dibuat tidak tergantung browser.
  • Beberapa masih menggunakan browser dengan teknologi HTML + javascript
  • Dapat menyimpan state/data yang lebih besar di client (teknologi cookie dan session pada web bisa ditinggalkan)

Beberapa teknologi RIA:

Kekurangan apliksi WEB (diambil dari majalah SDAAsia versi Indonesia) :

  • Mekanisme pemnyimpanan data di client sangat terbatas, biasanya memanfaatkan cookie dan session dari mekanisme HTTP.
  • Tiap pemrosesan logika biasanya dilakukan di server sehingga respon aplikasi menjadi lambat, selain itu menambah beban di server dan memperbesar data bandwidth jaringan.
  • Tiap alur proses dari aplikai menghasilkan respon halaman web terdiri dari code HTML yang harus di kirim ke client secara lengkap berulang kali, meskipun masih menampilkan halaman yg sama.
  • Validasi dan proses logika di client biasanya memanfaatkan JavaScript, yang dapat diutak-atik atau dinonaktifkan sehingga tidak berfungsi.
  • Efek-efek tampilan atau proses logika di client sering kali mendayagunakan DHTML atau JavaScript yang terkadang tidak compatible dengan browser tertentu. Misalnya menu pop-up muncul di Internet Explorer tetapi tidak tampak atau tidak berfungsi dengan baik di Mozilla.
  • Komponen GUI dari web form terbatas.

Wednesday, June 01, 2005

Apa spring framework memiliki feature AOP?

Spring menggunakan istilah interceptor untuk melakukan mekanisme AOP. Memang dalam dokumentasi spring disebutkan bahwa AOP pada spring framework dibuat sederhana dan tidak memiliki semua kemampuan seperti layaknya AOP framework.

Interceptor/interception ternyata merupakan istilah yang lebih cocok untuk enterprise framework seperti disebutkan dalam buku "Pattern of Software Architecture" karya Schmidt, dijelaskan

The Interceptor architectural pattern allows services to be added transparently to a framework and triggered automatically when certain events occur.

Artikel ini, "Setting the Story Straight: AOP != Interception" (link dari web archive) menarik untuk dibaca. Menurut penulisnya interception pattern berbeda dengan AOP.

Sebagai kesimpulan artikel tersebut: Interception can be seen as a simplified form of AOP.

Followers