EMERGING WEB TECHNOLOGIES - XML BASED RICH CLIENTS
Written by
Ravi Kumar Buragapu
Abstract
This white paper describes a unique architecture, framework and mechanism for rapidly changing business environment that provides the feature ?Dynamic Decision Making? through the ?XML Based Rich Clients Technology/Framework?.
The proposed XML based rich clients technology/framework that provides A flexible, open and modular system minimizes the need to re-engineer the design and content every time a business decision changes; such as the launch of a new campaign, product, customer segment or for example, an area of a company website.
This framework provides a facility to develop high efficient enterprise internet applications with high levels of user interaction, reliability, security, rich user interface and rich functionality.
INTRODUCTION
In the highly competitive and rapidly changing business environment, the decision making need to correspond dynamically, i.e., the design, the underlying technology and the organizational structure supporting its production, should be capable enough to support rapid and frequent changes.
Most of the existing business applications are user-oriented. Client-side issues such as look and feel, richness and performance directly affect business-user productivity. As a result, client-side choice influences server-side architecture decisions.
To be able to achieve the goal of dynamic decision making, it is mandatory to separate the design, navigation, content/tools and business logic from each other. In a large, complex and fast-paced online environment, the fundamental concept of modularization becomes necessary. By removing dependencies, the business decision-making processes and technology platforms can react fast enough to deliver a flexible, efficient and scalable system.
A flexible, open and modular system minimizes the need to re-engineer the design and content every time a business decision changes; such as the launch of a new campaign, product, customer segment or for example, an area of a company website.
One such solution is to use XML for communication and Rich Clients on the client-end. Rich Clients can remove the total presentation layer from the server and minimize the server dependency with the help of a simple communication framework.
THIN CLIENTS
This section describes the strengths and weaknesses of traditional thin client?s technology.
Thin-Client?s Strengths
The foundation of thin client, the hypertext interface, was originally developed as a mechanism for browsing through large amounts of text.
It became an immediate hit for online display of documents, and innovative applications of the hypertext interface have completely revolutionized the publishing and auctions industries. Indeed, selective employment of the hypertext interface where it makes sense can greatly improve the usability of many software applications.
The Limitations of Thin Client for Business Systems
Thin client?s surge in popularity for applications heavy in content browsing led to a flurry of development aimed at utilizing it for transaction-based business-critical systems, but several inadequacies surfaced:
- Slow Performance due to round trips to the server, because everything from framework to content, business logic to data is processed at the server. The processing capability of client is left unutilized, whereas the server resources are heavily loaded leading to degradation in
performance.
- Lack of Rich Interface, as complex UI features are difficult to replicate in thin client system, while attempts to do so usually result in an additional performance penalty. Typical examples would be thick client like toolbars.
- Since all code, UI & data resides on the server, thin clients tend to duplicate data in subsequent requests. Since the browser gets final HTML output from the server, each response will carry the data plus all the HTML code. Had it been just the data that is exchanged, with UI (styles & HTML code) remaining at the client the amount and number of client server exchanges would be significantly less.
By moving to XML based Rich Clients in the web environment users can continue viewing or editing the data provided by their respective services even though they can?t get network access, something like offline browsing. When the network connection is back up the data can be saved back to the server.
XML BASED RICH CLIENTS
A typical rich client application consists of a framework that provides backend communication over http or any other protocol, window management and UI widgets such as toolbars, tree-views and tab controls and also the configuration and security settings of the system itself.
In order to support seamless clustering of Servers, the communication framework only issues atomic and stateless calls to the backend. This means that a call can be answered by any of the servers in the backend while application state is maintained on the client itself.

A TYPICAL RICH CLIENT?S ARCHITECTURE
Each and every website has a unique look and feel. The UI framework must provide support for pluggable rendering facilities through the UI management by making use of UI widgets, UI translation. This can be achieved with a clear component model for pluggable render factories. Internationalization will be built in every aspect of the UI component.
Typically the rich client will handle the user interface, and will communicate with a middle tier using XML over HTTP.
RICH CLIENT?S COMMUNICATION MECHANISM
The client and server will communicate and exchange data as XML text embedded in HTTP request & response body. XML is a standard meta-markup language for business data and allows heterogeneous systems to communicate. The advantage here is that as long as the XML interface remains same each of the client & server technologies /components can be replaced irrespective of other.
XML over HTTP

The rich client application uses a data model defined by an XML schema / DTD. Programmers interact with that data model using XHTML templates (XSL) and JavaScript.
This style will seem familiar to Web developers, but has some postmodern aspects. For example the JavaScript engine supports XML, this technology makes it easy to ?walk around? inside the data model and insert new XML fragments.
The Client application, though, always works with a genuine local data model that it stores as sets of XML fragments and navigates in a relational style that later updates the server based data model.
This XML based communication mechanism brings the cross-platform benefits in information exchange, as the information that is expressed in a structured, text-based format can easily be transmitted between, transformed, and interpreted by entities that understand the structure.
The Advantages of Rich-Client Architecture
In a rich-client system, part of the software runs natively on a client machine. In the often transaction-intensive arena of business-critical applications ? such as for accounting, customer relationship management, sales-force automation, and enterprise resource planning ? this yields several advantages:
- Faster Performance, because the UI is generated natively on the client.
- De-coupling of Client and Servers by separating the business logic, from content and presentation style.
- Immediate Feedback. Users get fast responses with context sensitive help, drop-down combo boxes, field-by-field validation, Tabbed forms, quick lookups for data searches, and automated process for data entry.
- Better Reliability, because an application running on the desktop is more reliable and stable (Off-line continuation of work) than the one that may fail when the Internet connection is lost intermittently.
Rich clients provide capabilities neither thin nor fat clients can, including windowing features and data navigation controls such as buttons, check boxes, radio buttons, toggles and palettes. They also enable Web services by integrating content, communications, and platform-independent application interfaces for distribution with service oriented architectures.