A few months ago, at JavaOne, I discussed the possibility of starting an XML publication with the folks at SYS-CON Publications. Two questions came up: "Is it as big as Java?" and "Are there any real products out there?" Both are valid.
The first question is the more difficult to answer. XML is a standard. Java is a platform. Is XML as big as Java? Or C++? Or EDI? Or HTML? For one thing, XML isn't a programming language. It isn't a software platform. It isn't a Web presentation language. In some sense XML may be seen as an Internet-enabled version of EDI. However, at its most basic definition, it is a markup language. One of the primary purposes of a markup language is to represent data via a tag-based scheme. XML stands for eXtensible Markup Language. This means that not only does XML allow data representation via tags, it enables the definition of the tags themselves.
Thus XML may be seen as a means of data definition and representation. Since data is an integral part of all computing environments (indeed, it is their raison d'Ítre), XML transcends programming languages and computing platforms. In that sense it is "bigger" than Java. XML holds the promise of being the cross-language, cross-platform common data format. Its ultimate goal would be to become as ubiquitous as HTML in vertical industry segments.
The second question addresses the promise of the "common data format" as it stands today. The market for XML is evolving rapidly. Some products have already matured to industrial strength. Others are in the process of maturing. And many are still in their inception stages. However, the XML products in the market today run a wide gamut and span several tiers of the computing industry. This leads to confusion about how to use XML and in what areas of computing. Currently there is a wave of euphoria about XML in the industry. People are referring to it as the "silver bullet" for e-commerce. While this may be an overoptimistic definition, it's true that almost anyone who's doing anything in the world of e-commerce is taking a serious look at XML.
This month in e-Java we'll take a look at XML product categories, vendors that are pushing XML as the enabler for e-business transactions, and XML organizations. As it's beyond the scope of this article to provide an exhaustive list of products and vendors, what I'll set forth here are randomly selected examples of vendors in the various product categories. I offer advance apologies to vendors not represented here, and encourage them to contact SYS-CONfor representation in future publications.
XML is yet another technology that's spreading like wildfire through the e-business market. Granted, a lot of it is hype. So what are the indicators for determining the maturity of the market? I'd like to present some of the unofficial indicators that appear in the industry when a technology starts staking its claim in the computing world:
xml.orgs, xml.coms and xml zones
- Committees: Technology committees both facilitate and hamper the evolution of a technology. Fortunately, the pros of the former usually outweigh the cons of the latter. Committees and consortiums promote standardization and reduce vendor bias. XML is a standard maintained by the W3C (World Wide Web Consortium). In addition, organizations like XML.org and OASIS (Organization for the Advancement of Structured Information Standards) add weight behind XML.
- Training: Software training organizations are a reflection of the need for particular software technologies in the market. Most consulting and training organizations involved in e-business training offer XML training.
- Online tutorials: Free online tutorials are an indicator similar to training. Several online tutorials on the use of XML are available on the Web.
- White papers: The good thing about white papers is that, although they're definitely biased, they serve to describe the general direction a particular technology is taking. When several major industry players start publishing white papers about a technology, that particular technology is one to be reckoned with. Almost any company that has a foot in the e-commerce door has a white paper that defines their direction regarding XML.
- Books: Take a look at the number of Java books that have flooded the market. In only four years well over a thousand books have been published with more to come. The XML book market is also growing rapidly. This again reflects a market need.
- Conferences: Conferences serve to bring IT managers, developers and vendors together. In addition to representation at several software and business conferences (including JavaOne), this year XMLOne, a SIGS conference focused solely on XML, took place in Austin, Texas, in May. Conferences are also scheduled for London and Santa Clara later in the year.
One indication of how serious vendors are in backing up a particular technology is the number of sites that subsequently start popping up. In the case of XML, XML.org (www.xml.org) is an industry Web portal operated by OASIS. XML.org is an industry consortium funded by a group of companies committed to establishing an open, distributed system for enabling the use of XML in electronic commerce and other industrial applications.
Several of the larger vendors have also started dedicating separate Web sites that focus solely on their affiliation to XML and the respective products. Here are some examples from the biggest software companies in the world:
XML Product Categories
The proof is always in the pudding. And actual products are the pudding in this case. Mature and evolving products are the best indicators of how far a technology has come. The XML products in the market today may be classified as:
- Authoring tools (editors)
- Viewing tools (browsers, XSL tools)
- Conversion tools
- Database systems
- Business-to-business servers
- Content management systems
Table 1 provides a brief description of each product category. Figure 1 illustrates the product categories that fit into the data presentation tiers. Figure 2 illustrates the product categories that fit into the business tiers. The remainder of this article discusses these categories and some representative products.
XML authoring tools include XML editors, DTD editors and XSL editors. XML editors are standalone products for creating and editing XML documents. Many XML editors are sensitive to DTDs and thus they can enable production of valid XML documents. Xeena from alphaWorks (IBM) and Adept Editor from ArborText are examples of XML editors.
XSL tools are used for creating, editing and processing XSL stylesheets. Examples of XSL editors are CUEXsl from CUESoft and XT from James Clark.
The XML viewing tools are the browsers that enable presentation of XML documents. XML browsers, generally driven by stylesheets, provide capabilities for viewing valid and well-formed documents. Browser support for XML varies among the different browsers. It's expected that Version 5.0 of Netscape Communicator as well as Internet Explorer will have richer support for displaying XML. Examples of XML browsers are Netscape's Mozilla, Internet Explorer 5.0, HyBrick from Fujitsu and XML Viewer from alphaWorks, IBM.
Applications using XML need to convert data from various formats to XML and back. This has given rise to a variety of general and specific tools for this conversion. Examples are XMLServlet (Java Servlet to convert XML to HTML on the fly) from Cerium Component Software, EDI/XML Authoring Tool from Redix International and Dynatag (converts word processing documents into DynaText electronic books) from Inso.
XML parsers process an XML document and make it available to an application as an interface that the application understands. Standard interfaces for this are SAX and DOM (described in the next section).
Thus the purpose of an XML parser is to take the XML document text input and convert it into objects that can be used by the corresponding programming language. XML parsers can be validating (check conformance of an XML document against a DTD) or nonvalidating (check only well-formatted XML documents). Examples of XML parsers are IBM's XML4C (for C++) and XML4J (for Java), Oracle's XML Parser for Java and Microsoft's XML Parser.
Several tools and utilities for XML that provide additional processing and services that enhance XML processors are coming on the market. Since the tool supplied by a particular vendor provides unique functionality, it's hard to pick examples here. However, the examples on my list are SAXON (a Java interface for processing XML documents) from Michael Kay, Java Project X package from Sun Microsystems and xWingML (builds XML documents that define the complete Java Swing GUI) from Bluestone.
As mentioned earlier, XML basically defines data formatting. Databases define data storage and retrieval mechanisms. It's therefore not surprising that database vendors are jumping on the XML bandwagon. This includes RDBMS as well as OODBMS databases. The databases provide persistent stores for XML documents. Examples of database system products are eXcelon from Object Design and Oracle8i from Oracle.
In my opinion, of all the product categories described in this article, this category is the one in which the heavyweight products will show up. XML is all about data formatting, exchange and translation between applications. The XML server product category is one in which businesses that have bet the farm on XML are staking their claim. Business-to-business XML integration servers connect applications to existing Web sites and provide the ability to leverage Web protocols in integrating business applications directly over the Web to existing legacy applications.
The products in this category include tools for transaction processing and object serialization tools for application-to-application information exchange using XML. The types of applications integrated by these application servers include e-commerce applications, EDI, supply chain integration and thin-client enabled devices, desktop applications, and so on. Bluestone's XML-Server and WebMethods' B2B Server are examples of products in this category.
XML Content Management Tools
XML content management environments are used to build information exchange and translation systems from rich information repositories that combine the power of relational databases, query languages and search engines. Examples of products in this category are BladeRunner from InterLeaf and POET Content Management Suite from POET software.
As the editor of this "XML Focus" issue of JDJ, I think that the market for XML is definitely getting there. The technologies are evolving so rapidly that it's hard to separate the hype from reality. As Sean Rhody, JDJ's editor-in-chief, said in his editorial "The XML Mambo" (JDJ Vol. 4, issue 6): "Nice, but why is XML the next killer app?"
These are the kinds of questions SYS-CON would like to start addressing. In fact, is XML the next killer app? Or is it just an enabler for the next wave of killer apps? Most of you who are starting to get involved in XML are probably trying to figure out where to start and what XML is going to do for you.
We'd like to help you by directing our writers to address specific issues in the XML industry. We encourage readers, writers and vendors to provide feedback to us by filling out the online XML survey form at
JavaDevelopersJournal.com regarding the possibility of an XML publication.
About The Author
Ajit can be reached at [email protected].