Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


AJAX: "XML for Client-Side Computing"
It's no wonder that XML has been widely used for server-side

This article originally appeared in XML-Journal on March 10, 2004

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

However, we have not seen significant use of XML on the client side to date. When we write client-side code, we are likely using HTML/DHTML for browser-based applications, Win32 for Windows desktop applications, and Java Swing/J2ME for Java applications.

The truth of the matter is that XML makes a lot of sense for client-side computing. The difference between client-side computing and server-side computing is that the former is more concerned with user presentation and interaction while the latter is more concerned with business logic and data access. XML has proven to be an effective tool at both the business logic layer and data layer. It is also a great solution to the challenges at the user interface (UI) layer. Two UI layer challenges stand to benefit most obviously from the use of XML.

The first challenge is how to decouple UI description and UI logic. Separating UI description and interaction logic would allow greater flexibility, clearer separation of programmers and designers, and lower development and maintenance costs.

Today, UI description and UI logic are tightly coupled in most client-side programming models. UI description must be written as program code and normally mixed together with UI interaction logic. For example, to create a UI layout for a Win32 dialog, a developer must write Win32 code. Changes to the UI layout would require changing the code, recompiling the program, and redeploying the program. The cost and complexity of this process are high.

XML is an ideal candidate to solve this challenge. UI description can be written as XML documents and UI logic can be written in any programming language. Such separation decouples them and creates tremendous flexibility. XML documents can be created and manipulated by many tools and are human-readable. Additionally, designers with HTML skills will have no problem dealing with XML documents. UI designers can create and edit such documents without touching the UI logic. UI developers are free to code UI logic without getting bogged down in UI design. Such clear separation would significantly lower development and maintenance costs.

Additionally, using XML for UI description would enable better development tools. The best development tools enable visual design of user interfaces in a drag-and-drop fashion. However, these tools are merely "UI code generators" for developers and preclude the participation of people other than developers. For example, Visual Studio .NET generates UI description as C# code and only C# developers have the skill sets to use such code. Furthermore, when developers modify such C# UI code, it is a daunting task for the development tool to parse the C# code, figure out what has been changed, and determine how the change should be reflected in the visual design. With XML for UI description, it would be easier to create tools that enable two-way editing of UI design for nonprogrammers and allow programmers to concentrate on business logic.

The second challenge is how to decouple the UI layer from the underlying platform or device. Companies will always have different computing platforms. If applications can run on any browser, operating system, and hardware device, the cost for development, deployment, maintenance, and support will be dramatically lower.

It's easy to see how business logic can be made platform independent, but it is much harder for UI. Even Java did not adequately solve this challenge. As a result, most client-side programming models are tied to the client-side platform, such as Win32, MFC, Java Swing, and DHTML.

XML is inherently cross-platform. UI designers can use XML to describe their design and the cross-platform nature of XML will enable such information to be communicated accurately to different platforms. Different platforms can choose to present such UIs in a platform-optimized way without requiring UIs to be hard coded into this platform. UI logic can be easily compiled or coded to run cross-platform using available technologies today, such as Java or JavaScript. Even if there are incompatibility issues, they can be resolved by leveraging the flexibility of XML (e.g., XSLT).

Client-side XML is beginning to draw attention. There have been efforts and successes from standards bodies, and startups are beginning to deliver real commercial implementations. Scalable Vector Graphics (SVG), an XML standard for 2D graphics over the Web, is a W3C standard and has gained a lot of support in the industry. XUL, an XML language for describing rich user interfaces, developed by Mozilla, significantly increased awareness of client-side XML. On the commercial implementation side, there have been quite a few successful examples. For example, Starwood Hotels developed a customer response system across its hotel chain (www.nwfusion.com/ee/2003/eecrm.html). The user interface of the application is written using XML and the UI logic is written as client-side beans. It runs inside any 4.0+ browser on major platforms and deploys like a normal Web application with zero client install, but delivers native desktop application performance and functionality. The application has been running nonstop for 14 months, supporting thousands of users distributed across the country. The results were significant: shorter development cycle, huge deployment and maintenance savings, and higher user satisfaction and productivity. It was cited as one of InfoWorld's "Top 100 Innovations" in 2002.

What started as a great success on the server side is just now beginning to show its strengths in client-side programming. We have yet to see the full potential of client-side XML, but can expect to see much more as it drives a client-side revolution.

About Coach Wei
Coach Wei is founder and CEO of Yottaa, a web performance optimization company. He is also founder and Chairman of Nexaweb, an enterprise application modernization software company. Coding, running, magic, robot, big data, speed...are among his favorite list of things (not necessarily in that order. His coding capability is really at PowerPoint level right now). Caffeine, doing something entrepreneurial and getting out of sleeping are three reasons that he gets up in the morning and gets really excited.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.

If your interested in a true application XML environment, check out ObjectBuilders patented tools. We have been doing application XML for the past ten years. This isn't new, people are finally beginning to realize the benefits.

This is exactly what we are proposing as a solution at our site (www.ultrid.com) We have example of complete separation of UI and code. The coding can be done with 10 scripting languages or in Java. The UI language is extendable, so new tags can be created for wrapping Java API that can be use and re-use by all. Tags like Preference, Help System can be integrated whithout writing a single line of code by a person who is not a programmer. Application can be fully localized. Yes, UI can be writing by non-programmer and the code can be separated from it and create by programmers. And this can be zero deploy as an application when the engine is installed on the client computer. Take a look at our SwingSet2 clone all writing in XML, Javascript and some Java class.

Next generation Windows from Microsoft, Longhorn, will include support for XAML. It is squarely along the lines talked in this article.

right on!


Your Feedback
XML Journal News Desk wrote: XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.
n d wrote: XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.
n d wrote: XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.
n d wrote: XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.
n d wrote: XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.
SYS-CON Australia News Desk wrote: XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.
SYS-CON Italy News Desk wrote: XML is a simple, flexible text format initially designed for large-scale electronic publishing. It is flexible, open, and human-readable, and can be learned easily. XML can also be generated, parsed, analyzed, and transformed easily. It's no wonder that XML has been widely used for server-side computing: J2EE, .NET, and Web services.
Jim Cutillo wrote: If your interested in a true application XML environment, check out ObjectBuilders patented tools. We have been doing application XML for the past ten years. This isn't new, people are finally beginning to realize the benefits.
Pierre Morel wrote: This is exactly what we are proposing as a solution at our site (www.ultrid.com) We have example of complete separation of UI and code. The coding can be done with 10 scripting languages or in Java. The UI language is extendable, so new tags can be created for wrapping Java API that can be use and re-use by all. Tags like Preference, Help System can be integrated whithout writing a single line of code by a person who is not a programmer. Application can be fully localized. Yes, UI can be writing by non-programmer and the code can be separated from it and create by programmers. And this can be zero deploy as an application when the engine is installed on the client computer. Take a look at our SwingSet2 clone all writing in XML, Javascript and some Java class.
Scott Diezen wrote: Next generation Windows from Microsoft, Longhorn, will include support for XAML. It is squarely along the lines talked in this article.
jack swany wrote: right on!
Enterprise Open Source Magazine Latest Stories . . .
AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought. AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and st...
During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers. M3 execution procedure was outlined in this previous article. The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
Red Hat is putting its bought-in Gluster scale-out NAS storage technology, acquired in October, on the Amazon cloud. It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and other clouds are supposed to follow in short order.
A new episode of the screencast series is now available at the OpenNebula YouTube Channel. This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...
C12G Labs has just announced an update release of OpenNebulaPro, the enterprise edition of the OpenNebula Toolkit. OpenNebula 3.2, released two weeks ago, brings important benefits to cloud providers with a new easily-customizable self-service portal for cloud consumers, and builders w...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE