3. Kemudian, jika ada kode JavaScript yang dijalankan triggered, maka ZK client engine akan mengirim kembali aksi-aksi juga, termasuk di
dalamnya AJAX request, kepada ZK AU engine pada sisi server.
4. ZK AU engine bertanggung jawab dalam menerima permintaan AJAX
yang dikirim sebelumnya. Ia kemudian meng-update properti dari komponen-komponen ZK dan mengirim balik sebuah balasan berupa
AJAX ke sisi client. 5. ZK client engine bertanggung jawab dalam menerima respon dan
meng-update konten-konten yang cocok dengan Dokument Objek Modeling DOM
tree pada browser.
Proses di atas akan berlangsung terus menerus, sampai sebuah URL tidak lagi dialamatkan oleh seorang user.
2.11.4. Karakteristik Utama ZK
ZK memiliki tiga karakteristik utama yang terdapat pada dirinya. Karakteristik tersebut secara tidak langsung menunjukkan keunggulan ZK
dibanding framework yang mengatur layer view yang lain. Karakteristik yang pertama menjelaskan tentang fokus ZK dalam
tier application. ZK dibangun memang benar-benar untuk memperkaya tingkatan view dari konsep MVC model view control.
Karakteristik kedua, menjelaskan tentang bagaimana ZK dapat menjadi solusi dari permasalahan komunikasi antara komponen AJAX
dengan Server. ZK menampilkan teknologi framework berbasis komponen yang mudah untuk di jalankan pada Server apapun.
Dan karakteristik yang ketiga, menjelaskan tentang bagaimana peranan ZK sebagai framework yang dapat membawa konsep
pemrograman desktop kepada model pemrograman web. 1. Layar Presentasi a presentation layer
ZK memang dirancang seringan mungkin dan hanya berfokus pada layer presentation. Lebih jauh, ZK tidak bergantung pada
teknologi back-end di belakangnya, atau semua aplikasi middleware yang mungkin banyak disukai seperti Java Database Connectivity
JDBC, Hibernate, Java Mail, Enterprise Java Beans EJBs dan Java Message Service JMS. Pekerjaan middleware tersebut dapat
dikerjakan secara tepat oleh ZK. Bahkan pengembang aplikasi ini dapat membangun aplikasi webnya dengan berbagai teknologi yang
sudah akrab dikenal, tanpa harus mempelajari yang baru. Akan tetapi, ada juga pengembang yang ingin memaksimalkan aplikasinya dengan
mengkombinasikan ZK dengan sebuah middleware, dalam hal ini yang menangani Java Persistance Hibernate ORM.
2. Framework Server Tepusat a server-centric event-driven framework Diketahui, bahwa sebagian besar framework berbasis AJAX
menyebabkan peran sebuah server menjadi pasif. Hal ini dikarenakan sebuah server hanya bertanggung jawab sebagai penyedia respon
ketika ada request datang dari sisi klien. Komunikasi yang terbangun antar
komponen-komponennya pun
cukup kompleks
dan membutuhkan banyak kode JavaScript, belum lagi masalah
ketidaksesuaian antara JavaScript dan browser. Sebaliknya, ZK menjadi solusi dalam menangani masalah
tersebut. Semua komponen ZK dibuat pada sisi Server, hal ini mengakibatkan komunikasi yang terbangun antar komponen lebih
mudah karena komponen-komponen itu dapat diakses dengan segera pada Server. Selain itu, cara komunikasi antar komponen yang satu
dengan lainnya juga dilakukan dengan event-driven. Artinya, interaksi dapat digerakkan oleh aktifitas user pada sisi klien atau dengan
lemparan event dari komponen lain. Penjelasan tentang event-driven dapat dilihat pada bagian 2.1.4 tentang ZK AJAX Framework.
Sederhananya, ZK mencerminkan kesederhanaan untuk membuat aplikasi desktop dalam pengembangan aplikasi web dan komunikasi
yang lebih interaktif serta responsif bagi para pengguna. 3. Kakas GUI Berbasis Komponen a component-based gui toolkit
ZK merupakan toolkit GUI graphical user interface berbasis komponen. ZK menyediakan lebih dari 70 komponen berbasis XUL
dan 80 XHTML dan keduanya menyediakan ZUML markup language untuk desain antarmuka. Pemrogram membuat program dengan
memanipulasi event striggered dengan aktivias penggunanya secara langsung.
2.12. Object Relational Mapping ORM