Welcome!

Linux Containers Authors: Jyoti Bansal, Jason Bloomberg, Liz McMillan, Elizabeth White, Ed Featherston

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) View Comments

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.


Most Recent Comments
XML Journal News Desk 09/14/06 01:22:28 PM EDT

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 08/22/06 10:42:07 AM EDT

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 08/21/06 08:15:09 PM EDT

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 08/21/06 08:05:19 PM EDT

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 08/21/06 07:47:37 PM EDT

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 04/05/06 07:49:07 PM EDT

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 02/22/06 02:02:42 PM EST

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 09/25/04 08:16:02 PM EDT

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 05/06/04 12:05:10 AM EDT

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 03/23/04 09:26:18 AM EST

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

jack swany 03/17/04 03:17:42 PM EST

right on!

@ThingsExpo Stories
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...
Five years ago development was seen as a dead-end career, now it’s anything but – with an explosion in mobile and IoT initiatives increasing the demand for skilled engineers. But apart from having a ready supply of great coders, what constitutes true ‘DevOps Royalty’? It’ll be the ability to craft resilient architectures, supportability, security everywhere across the software lifecycle. In his keynote at @DevOpsSummit at 20th Cloud Expo, Jeffrey Scheaffer, GM and SVP, Continuous Delivery Busin...
SYS-CON Events announced today that T-Mobile will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on ...
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
@ThingsExpo has been named the Most Influential ‘Smart Cities - IIoT' Account and @BigDataExpo has been named fourteenth by Right Relevance (RR), which provides curated information and intelligence on approximately 50,000 topics. In addition, Right Relevance provides an Insights offering that combines the above Topics and Influencers information with real time conversations to provide actionable intelligence with visualizations to enable decision making. The Insights service is applicable to eve...
SYS-CON Events announced today that Grape Up will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct. 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company specializing in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market across the U.S. and Europe, Grape Up works with a variety of customers from emergi...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...
New competitors, disruptive technologies, and growing expectations are pushing every business to both adopt and deliver new digital services. This ‘Digital Transformation’ demands rapid delivery and continuous iteration of new competitive services via multiple channels, which in turn demands new service delivery techniques – including DevOps. In this power panel at @DevOpsSummit 20th Cloud Expo, moderated by DevOps Conference Co-Chair Andi Mann, panelists will examine how DevOps helps to meet th...
SYS-CON Events announced today that Hitachi, the leading provider the Internet of Things and Digital Transformation, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Hitachi Data Systems, a wholly owned subsidiary of Hitachi, Ltd., offers an integrated portfolio of services and solutions that enable digital transformation through enhanced data management, governance, mobility and analytics. We help globa...
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will look at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deli...
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend @CloudExpo | @ThingsExpo, June 6-8, 2017, at the Javits Center in New York City, NY and October 31 - November 2, 2017, Santa Clara Convention Center, CA. Learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
SYS-CON Events announced today that Juniper Networks (NYSE: JNPR), an industry leader in automated, scalable and secure networks, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Juniper Networks challenges the status quo with products, solutions and services that transform the economics of networking. The company co-innovates with customers and partners to deliver automated, scalable and secure network...
@GonzalezCarmen has been ranked the Number One Influencer and @ThingsExpo has been named the Number One Brand in the “M2M 2016: Top 100 Influencers and Brands” by Analytic. Onalytica analyzed tweets over the last 6 months mentioning the keywords M2M OR “Machine to Machine.” They then identified the top 100 most influential brands and individuals leading the discussion on Twitter.
The buzz continues for cloud, data analytics and the Internet of Things (IoT) and their collective impact across all industries. But a new conversation is emerging - how do companies use industry disruption and technology enablers to lead in markets undergoing change, uncertainty and ambiguity? Organizations of all sizes need to evolve and transform, often under massive pressure, as industry lines blur and merge and traditional business models are assaulted and turned upside down. In this new da...
SYS-CON Events announced today that Hitachi, the leading provider the Internet of Things and Digital Transformation, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Hitachi Data Systems, a wholly owned subsidiary of Hitachi, Ltd., offers an integrated portfolio of services and solutions that enable digital transformation through enhanced data management, governance, mobility and analytics. We help globa...
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in compute, storage and networking technologies, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/...