An Introduction to ZK's Server client Fusion Architecture"

From Documentation
m
Line 3: Line 3:
 
[[Image:architecture-s.png]]
 
[[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. The synchronization of the states of the ZK components between the browser and the server is done automatically by ZK.
+
A ZK application runs at the server. It could access the backend resources, assemble UI with components, listen to user's activity, and then manipulate components to update UI. All are done at the server. The synchronization of the states of the components between the browser and the server is done automatically by ZK, and transparent to the application.
  
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. ZK Client Engine and Update Engine work together to provide an elegant and robust channel to simplify the implementation.
+
When running at the server, the application can access the full stack of Java technology. User activities are, including Ajax and Server Push, abstracted to event objects. UI are composed by POJO-like components. It is the most productive approach to develop a modern Web application.
  
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 components at the server. ZK is the only framework to enable the seamless fusion ranging from pure server-centric, to pure client-centric.
+
With ZK's Server+client Fusion architecture, your application won't stop at the server. The application could enhance the interactivity by adding optional client-side functionality, such as client-side event handling, visual effect customizing, and even UI composing without the server-side code. ZK enables the seamless fusion ranging from pure server-centric, to pure client-centric. You could have the best of two worlds: productivity and flexibility.
  
 
{{ZKEssentialsPageFooter}}
 
{{ZKEssentialsPageFooter}}

Revision as of 03:57, 2 November 2010

Stop.png This article is out of date, please refer to http://books.zkoss.org/zkessentials-book/master/ for more up to date information.


Architecture-s.png

A ZK application runs at the server. It could access the backend resources, assemble UI with components, listen to user's activity, and then manipulate components to update UI. All are done at the server. The synchronization of the states of the components between the browser and the server is done automatically by ZK, and transparent to the application.

When running at the server, the application can access the full stack of Java technology. User activities are, including Ajax and Server Push, abstracted to event objects. UI are composed by POJO-like components. It is the most productive approach to develop a modern Web application.

With ZK's Server+client Fusion architecture, your application won't stop at the server. The application could enhance the interactivity by adding optional client-side functionality, such as client-side event handling, visual effect customizing, and even UI composing without the server-side code. ZK enables the seamless fusion ranging from pure server-centric, to pure client-centric. You could have the best of two worlds: productivity and flexibility.



Last Update : 2010/11/02

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.