Chapter 15
592
Client
Application
Logic
Data Tier
HTTP carrying
HTML
Web Browser
Web Server
J2EE Application Server
XML
Transform
Database, Mail Server,
Directory Service,
CORBA, RMI etc.
Processing
Servlet, JSP,
EJB, Beans, etc.
ClientSide XML Processing
In practice, however, there are frequently real-life scenarios where a more proportional sharing of
processing between the client and server is necessary. This means that the client will share in the data
processing tasks, potentially alleviating the heavy load on the server. In this scenario, the data
interchanged between the client and the server is more than HTML. The interchange also contains data
that the client can perform processing on. In such a case, the protocol of choice between client and server
is still HTTP (as it is still the most widely supported protocol in corporate intranet infrastructures).
This means that we must incorporate an extra data delivery mechanism between the 'medium weight'
client and the server. XML, as it turns out, is perfect for satisfying this niche in an interoperable
manner. The diagram below illustrates the data flow in these scenarios. We can see the additional
transform and processing function that is performed by the client now, something that did not occur in
the 'thin' client scenario before.
Client
Application
Logic
HTTP carrying
HTML
and/or XML Data
Web Browser
Processing
and
Rendering
Transform