Karakteristik Utama ZK ZK AU engine bertanggung jawab dalam menerima permintaan AJAX

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