Server TF/usecases

From MemberWiki

Jump to: navigation, search

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.
  1. UI command component fires an event.
  2. Updates to the UI are applied to client-side component model.
  3. Client side updates trigger event that delivers changes to server.
  4. Sever process request and updates server-side component model.
  5. 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.
  • 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
  1. Client loads a page from the server, establishing a communication channel supporting Ajax Push
  2. State change occurs in server-side application
  3. Server-side application initiates rendering of JSF views associated with the state change
  4. 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
  5. Desired client-side state change is communicated to the client over the Ajax Push channel
  6. Client updates displayed page to reflect desired state change