SYS-CON MEDIA Authors: Jason Bloomberg, Elizabeth White, Zakia Bouachraoui, Andy Thurai, Liz McMillan

Related Topics: Linux Containers, Industrial IoT, Machine Learning

Linux Containers: Article

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.

More Stories By 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.

Comments (11)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Latest Stories
While the focus and objectives of IoT initiatives are many and diverse, they all share a few common attributes, and one of those is the network. Commonly, that network includes the Internet, over which there isn't any real control for performance and availability. Or is there? The current state of the art for Big Data analytics, as applied to network telemetry, offers new opportunities for improving and assuring operational integrity. In his session at @ThingsExpo, Jim Frey, Vice President of S...
"We were founded in 2003 and the way we were founded was about good backup and good disaster recovery for our clients, and for the last 20 years we've been pretty consistent with that," noted Marc Malafronte, Territory Manager at StorageCraft, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Historically, some banking activities such as trading have been relying heavily on analytics and cutting edge algorithmic tools. The coming of age of powerful data analytics solutions combined with the development of intelligent algorithms have created new opportunities for financial institutions. In his session at 20th Cloud Expo, Sebastien Meunier, Head of Digital for North America at Chappuis Halder & Co., discussed how these tools can be leveraged to develop a lasting competitive advantage ...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settl...
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm. In their Day 3 Keynote at 20th Cloud Expo, Chris Brown, a Solutions Marketing Manager at Nutanix, and Mark Lav...
@CloudEXPO and @ExpoDX, two of the most influential technology events in the world, have hosted hundreds of sponsors and exhibitors since our launch 10 years ago. @CloudEXPO and @ExpoDX New York and Silicon Valley provide a full year of face-to-face marketing opportunities for your company. Each sponsorship and exhibit package comes with pre and post-show marketing programs. By sponsoring and exhibiting in New York and Silicon Valley, you reach a full complement of decision makers and buyers in ...
According to the IDC InfoBrief, Sponsored by Nutanix, “Surviving and Thriving in a Multi-cloud World,” multicloud deployments are now the norm for enterprise organizations – less than 30% of customers report using single cloud environments. Most customers leverage different cloud platforms across multiple service providers. The interoperability of data and applications between these varied cloud environments is growing in importance and yet access to hybrid cloud capabilities where a single appl...
"At the keynote this morning we spoke about the value proposition of Nutanix, of having a DevOps culture and a mindset, and the business outcomes of achieving agility and scale, which everybody here is trying to accomplish," noted Mark Lavi, DevOps Solution Architect at Nutanix, in this SYS-CON.tv interview at @DevOpsSummit at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
In today's always-on world, customer expectations have changed. Competitive differentiation is delivered through rapid software innovations, the ability to respond to issues quickly and by releasing high-quality code with minimal interruptions. DevOps isn't some far off goal; it's methodologies and practices are a response to this demand. The demand to go faster. The demand for more uptime. The demand to innovate. In this keynote, we will cover the Nutanix Developer Stack. Built from the foundat...
"NetApp's vision is how we help organizations manage data - delivering the right data in the right place, in the right time, to the people who need it, and doing it agnostic to what the platform is," explained Josh Atwell, Developer Advocate for NetApp, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Sold by Nutanix, Nutanix Mine with Veeam can be deployed in minutes and simplifies the full lifecycle of data backup operations, including on-going management, scaling and troubleshooting. The offering combines highly-efficient storage working in concert with Veeam Backup and Replication, helping customers achieve comprehensive data protection for all their workloads — virtual, physical and private cloud —to meet increasing business demands for uptime and productivity.
"Cloud computing is certainly changing how people consume storage, how they use it, and what they use it for. It's also making people rethink how they architect their environment," stated Brad Winett, Senior Technologist for DDN Storage, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
A look across the tech landscape at the disruptive technologies that are increasing in prominence and speculate as to which will be most impactful for communications – namely, AI and Cloud Computing. In his session at 20th Cloud Expo, Curtis Peterson, VP of Operations at RingCentral, highlighted the current challenges of these transformative technologies and shared strategies for preparing your organization for these changes. This “view from the top” outlined the latest trends and developments i...
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound e...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...