Emerging Web Technolgies - Rich Clients with XML

CoderSource.net
Emerging Web Technolgies - Rich Clients with XML - Article by buragapuravi
Rating:

Date: 4/15/2005 7:14:21 PM

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.

   These would provide instant access to information, interaction with distributed and remote applications, and integration with local desktop applications. Simply put, while the disadvantages of thin-client architecture have limited its usefulness as a foundation for business-critical applications, rich-client systems have proven resilient as the preferred choice in these areas. This is particularly the case for applications that require high levels of user interaction, reliability and security.

ON GOING WORKS

Macromedia?s Royale

A leading competitor in the RUI technology field with their Flash product. Macromedia?s Firefly Components can be used by designers and developers alike to successfully link Flash to backend business services.

   Macromedia Firefly Components is a key part of Macromedia Flash MX Data Connection Kit. The components allow the visual development of data-driven rich clients in a very short period of time. 

Laszlo?s Presentation Server

The Laszlo Presentation Server already delivers on a similar concept. The Presentation Server is an application that can be installed on any J2EE server, and performs on-the-fly rendering of Flash movies from XML-based application descriptor files.

A scripting language, LZX script, can be used to further extend component functionality. 

CONCLUSION

XML based rich clients can deliver high efficient enterprise internet applications not only visually but also functionally richer, easier to deploy and maintain with a thinner footprint, faster performance, greater scalability and lower complexity.

You Can Rate this Article, if you are Logged In      
 

More Links from CoderSource.net:

 
Refer to a Friend:

Your Details:

Name:     e-mail:

Friend Details:

Name:    e-mail:    


MENU
Home
MFC 
C++
.Net
WIN32
Programming
Forum
My Articles
Add to Google
Add to My Yahoo!
Welcome to Codersource.Net Login | Register | Faq  

SEARCH
Google
 

NOTES:


Thanks for visiting our CoderSource.net. This site will be improved with more articles. Interested visitors can also submit their articles through the Submit Article link.Your article will also be published after due consideration by the editor. 

© Copyright 2003. All rights on content reserved by CoderSource.net. Contact    About Us