Server TF/usecases
From MemberWiki
Server Use Cases
Please describe in narrative form use cases germane to the use of Ajax in a server environment. This can include subjects such as state management, communication, scalability, security, among others.
Draft Use Case Summary Here
Client-side and Server-side UI Hierarchy Interactions
- Create a standalone client-side Ajax API that provides an abstract component and event model that can easily interact with JSF, allowing both a client-side and server-side representation of a user interface. Updates to either UI representation are delivered to the alternative implementation via an XMLHttpRequest (XHR) communication channel.
- UI command component fires an event.
- Updates to the UI are applied to client-side component model.
- Client side updates trigger event that delivers changes to server.
- Sever process request and updates server-side component model.
- Server-side updates trigger JSF lifecycle. Any updates via the lifecycle are then propagated to the client and reflected in the client-side component tree.
(The following two were copied from Christophe's email)
- ILOG Use Case 1
- User of toolkit A, an Ajax-enabled JSF components toolkit, wants to integrate with components of toolkit B, also providing Ajax-enabled JSF components.
- He wants to be able to use the two of them in the same JSF page without having them stepping on each other.
- He wants to have similar or even better common ways to configure them with respect to the Ajax integration (e.g. registration of Ajax request handler on the server).
- And optionally he wants them to be able to share the same communication layer.
- User of toolkit A, an Ajax-enabled JSF components toolkit, wants to integrate with components of toolkit B, also providing Ajax-enabled JSF components.
- ILOG Use Case 2
- User of toolkit A, an Ajax-enable JSF components toolkit, wants to integrate with components of toolkit C, a pure Ajax client-side toolkit.
- He wants to be able to use the two of them in the same JSF page without having them stepping on each other.
(The following describes the ICEfaces application-initiated update scenario)
- ICEfaces Ajax Push Use Case
- Asynchronously apply the outcome of a server-side state change to a client-side page independently of user interaction
- Client loads a page from the server, establishing a communication channel supporting Ajax Push
- State change occurs in server-side application
- Server-side application initiates rendering of JSF views associated with the state change
- Rendering of JSF views causes state change to be propagated through the model (beans) and the user interface components (view) resulting in determination of desired client-side state
- Desired client-side state change is communicated to the client over the Ajax Push channel
- Client updates displayed page to reflect desired state change
