1 Overview



Abbildung 1: Overview of StrutsME

Figure 1shows a overview of an StrutsME application. StrutsME consists of 3 components:

StrutsME-Client
runs on the J2ME client.
StrutsME-Server
runs in the web-application server as an extension of the Struts framework.
StrutsME-Common
runs on both the client and the server.

The J2ME-Client sends an action request to the StrutsME-Client component. This uses StrutsME-Common to serialize the parameters and sends these as the body of a HTTP request to the server. When Struts receives the HTTP request, it invokes the . The recognizes that the request is coming from a StrutsME-Common . In this case, the data is deserialized and provided to Struts and the Struts application like it would come from a normal web-browser client. After the Struts action(s) is/are executed, normally a HTML answer would be rendered from a JSP. This step is skipped by the . Instead the result of the execution is serialized and sent back. This also makes use of StrutsME-Common . At the client the result is deserialized from the HTTP response and given back to the caller. It is now in the responsibility of the J2ME-Client to deal with the response. One way to do this is shown in the sample application 'Wishlist'. Figure 2gives an impression of flow in the client.



Abbildung 2: Overview of the Clientactionworkflow