An Introduction to ZK's Server client Fusion Architecture

From Documentation
Revision as of 09:21, 20 October 2010 by Tmillsclare (talk | contribs) (Created page with 'Image:architecture-s.png A ZK application runs at the server, seamlessly accessing the backend resources, and then manipulating the ZK components to display the relevant UI.…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Architecture-s.png

A ZK application runs at the server, seamlessly accessing the backend resources, and then manipulating the ZK components to display the relevant UI. The synchronization of the states of the ZK components between the browser and the server is done automatically by ZK.

A ZK component (or more precisely, a UI object) consists of a component and a widget. A component is a Java object running at the server controlled by your application. A widget is a JavaScript object running at the client to interact with the user. How to synchronize the states and distribute the load is really up to the component designer. ZK Client Engine and Update Engine work together to provide an elegant and robust channel to simplify the implementation.

Furthermore, the application can add optional client-side functionality, such as handling event at the client, customizing widget's behavior, and even instantiating widgets without the corresponding component. ZK is the only framework to enable the seamless fusion ranging from pure server-centric, to pure client-centric.