The present invention provides a method and apparatus for integrating applets
running on a client with the application logic for applications running on a server.
The mechanism of the present invention provides two significant advantages over
the prior art: the synchronization of state, and the recognition of user actions
in the browser including the invocation of the appropriate application logic in
the server. Instead of using the FORM element available in HTML, individual active
applets are available and may be created that obtain user input (e.g. a checkbox,
textbox, button, etc.). A hidden applet called the Applet Group Controller is created
which handles communication between the applets on the browser and the application
logic on the server. The Applet Group Controller maintains an association with
each applet that maintains the keys and values of any parameters and variables
for the applet. In a preferred embodiment, upon the invocation of an event, the
association instructs an Action Coordinator to invoke an action. The Action Coordinator
obtains and transmits a list of all of the keys and their values to the server.
The server invokes the appropriate application logic and transmits the keys and
their values (as updated during the execution of the application logic) back to
the Action Coordinator. The Action Coordinator then pushes the updated values out
to the applets (through their Associations) at which time the browser's display
is updated with the new values.