XML joins the IT workforce

Diploma in hand, and ready to get down to business, XML has quickly found its niche in business computing.

Like a graduating college senior, XML has been in the academic realm long enough. The conceptual work is done and now it is time for XML to go to work. Two years ago, XML was a fitting subject for a Scientific American article, but now it is moving from the theoretical to the practical. Business leaders, IT management and the analysts who advise them are looking to find some jobs XML can do in the real world.

The prime place to look for a job for XML is in B2B, where the theoretical promise of the language is most likely to be realized. The most significant and widespread use of XML can be found in the B2B space and in the back-end EAI projects required to make B2B work, according to Massimo Pezzini, a GartnerGroup analyst based in Italy. He sees XML as a good way to expose interfaces to business components. Something like XML was needed, he pointed out, since the traditional way of exposing interfaces through Interface Definition Languages (IDL) had a major drawback.

"The problem with IDLs is that on the other side you have to have a software environment which is able to understand those IDLs," he said. "So, if you expose a CORBA IDL, you have to have a CORBA environment to call that IDL. The good thing about XML is that it allows you to call this particular service from any other environment—from CORBA, DCOM, or a CICS application."

Ivan Chong, director of product management for Informatica Corp., Palo Alto, Calif., agrees that B2B is a big part of what is driving the adoption of XML, as the market moves out of the old data mart idea and towards actual data integration. Something had to emerge, he said, to help larger companies with huge legacy IT infrastructures to interface with their partners, and XML is in the forefront.

"As you extend to the B2B space, you've got to have information about your information to really understand what's going on in the underlying data," he said.

XML in your shopping cart
With the crush of reality after a disappointing 2000 Christmas season, beleaguered e-commerce may not be the most popular job market for XML this year. For the survivors, however, XML could work to make online shopping a less trying experience because it puts information right where consumers need it—in their shopping carts.

Heidi Housten, a developer for the Microsoft Network, advocates building a better shopping cart by representing it in XML. For example, a recently completed shopping cart application developed for Duwamish Online used XML tags for all the data regarding customers and what they are buying. Maintaining XML state data as the shopper moves around the Web site avoids annoying problems such as having to go back multiple Web pages to change the size of an item in the cart.

"The shopping cart is represented in XML and the shopping cart data is stored in the session state," Housten wrote in a paper on the project. "The cart part of the context contains the following data for each of the cart items: category, quantities ordered, cost for the quantity selected, item title, graphic name, query string for shopper-specific navigation paths and a short description ... The description eliminates the need to go to the cache every time the basic cart contents are displayed. The session state is stored in the SQL database, and thus the database is accessed only once. The cart XML and other user information are then extracted from the session state data as needed."

But with e-commerce in what Hollywood execs call "turnaround" mode, since its fall from NASDAQ grace, B2B offers the most job opportunities for XML this year. Here it has an opportunity to complete tasks that EDI could not handle—making connections so that corporations, their partners and their vendors can transact business.

One of the reasons many large corporations were having great difficulty in connecting with their partners, according to Charles F. Goldfarb, co-author of The XML Handbook (Upper Saddle River, N.J.: Prentice Hall, 2000), was the rigidity of their own internal EDI projects. To send or receive messages to their internal EDI system, all of their business partners needed to implement their own EDI projects, a prohibitively expensive process for 80% of those partners, which were often smaller companies with limited IT budgets, he explained.

"XML is being used to create a bridge between EDI and Internet-based applications that anybody can afford to use," he said. "So, as a result, the big guys can extend the reach of their EDI systems out to anybody at all that they want to do business with, and these other companies can now have the benefits of EDI without the costs of implementing an EDI system."

XML is different from programming languages like Java, Goldfarb explained, because it provides part of a language—the grammar and the syntax—but vocabulary can be developed and specialized to meet the needs of specific industries. Currently, there is movement among industries, such as finance, manufacturing and health care, to standardize their own specific vocabularies.

Goldfarb said that the financial services industry "is one of the oldest users because they had been using SGML [Standard Generalized Markup Language] in what is called the 'Open Financial Exchange,' even before XML was designed."

One example of the type of integration XML makes possible, he said, is the capability of an accounting product such as Quicken to read data downloaded from another company, a stockbroker or a tax consultant, and consolidate it into a Quicken ledger.

XML meets EAI
Both Goldfarb and Pezzini agree that there are also good reasons for using XML for integration within the four walls of a corporation, and that this use will increase as companies discover its benefits.

"Primarily, XML will be used for external integration," Pezzini said. "But we believe it will also be used increasingly for internal integration, because it is a convenient way of defining interfaces, even if your services are all internal applications with no external applications."

Goldfarb pointed out that many legacy applications were never converted to the mainstream ERP systems used in many corporations. XML is a good way to create applications that can show a user data pulled from the ERP system side-by-side with data that was not connected to that system, he said. Implemented in middleware, XML has the potential to integrate a mainframe circa 1971 with a system running on a 2001 Web server.

Banking on XML
First Union Bank, Charlotte, N.C., is doing just that—joining legacy, local networks and Web applications by implementing XML in the integration of its internal and external systems.

Internally, XML is helping to unify information flowing among heterogeneous systems, including OS/390, AIX, Solaris, HP/9000 and Windows NT servers with Windows NT, Windows 98, Solaris and AIX clients.

Applications running on distributed systems rely on a messaging infrastructure based on IBM's MQSeries to link Web and application server data requests and transactions to a venerable OS/390 mainframe, which then forwards them to subsystems, including CICS and DB2 IMS, to complete the required processing.

While the bank has its own messaging specification, known as Common Interface Message (CIM), to facilitate middleware processing, it is now implementing XML to provide a standard flexible enough to be updated easily as business requirements change.

To accomplish this integration task, the bank's Distributed Object Integration Team wrote a service for the mainframe message broker that adds XML tags to data arriving from the network systems, according to Bill Barnett, the team's manager. Then using the IBM XML for Java (XML4J) parser, a second service parses requests from the network so they can be processed by the back-office servers. A third service, written by the team, converts COBOL copy books to DTDs, so the XML4J parser can validate the data. This service assures that the request from the network matches the COBOL data requirements of the mainframe. Employed first in the bank's call center, the XML and Java-based distributed applications are also scheduled to support the Web-based banking system for First Union customers.

Making sense of Web publishing
In addition to integration, XML is becoming a useful tool in traditional industries, according to Goldfarb.

XML is changing the way corporations manage information by extending the concept of subscription syndication beyond the commercial publishing arena into the corporate world. Subscriptions have been a mainstay in the publishing industry since the invention of the telegraph and teletype.

For example, Goldfarb said, the Associated Press (AP) has long been in the business of selling news reports, business and market data and political analysis to hundreds of newspapers that subscribed to its wire service.

But in the information age, Goldfarb explained, corporations also need to create subscription services for the thousands of documents they publish covering everything from technical specifications, user guides and marketing collateral to corporate news. XML gives corporations the ability to set up Web-based subscription services, create documents once and publish them in different formats on different platforms all over the world.

"We've moved from an era of information scarcity to an era of information glut," Goldfarb said. "And so, picking out the right stuff and making sure that that's what you get and you get it when you need it is really, really important. And things like syndication with XML help to make that happen."

Wireless integration
The pioneers in the wireless communications business are also adopting XML as they move into the electronic publishing business. Vendors in the wireless arena appreciate XML's ability to identify data in an abstract form and then render it in different formats, depending on the limitations and capabilities of particular wireless devices, Goldfarb said.

"I think wireless is going to be a substantial market," he said. "Because XML lets you create any rendition you want using a style sheet. It's appropriate for the wireless market where the wireless devices vary in their presentation functionality quite a bit."

In the brave new world of wireless and mobile computing, XML is also being employed to synchronize data from various systems and applications so the multiplicity of systems on the road and in the office can make sense to each other.

On the Sun Microsystems Web site, Norman Walsh, staff engineer at Sun's XML Technology Center, detailed his exploits using XML to synchronize his Palm Pilot to various applications running on his desktop PC. This may seem like one small step for a programmer but if wireless networks conquer the business world, it could be a giant leap in mobile computing.

"Unfortunately, for all its benefits," Walsh wrote, "I still have some troubles with my Palm. Among them is the fact that I can't sync my Palm address book with other information management tools that are important to me or publish the calendar on the Web so that I can share my calendar with my manager and colleagues."

While admitting that it is probably possible to buy an off-the-shelf utility to accomplish this, Walsh, who serves on several W3C Working Groups on XML, could not resist the opportunity to create something based on XML.

Employing old-fashioned trial-and-error and learn-as-you-go methodologies, Walsh managed to build "SyncXml Conduits" for moving calendar and address book entries back and forth between his Palm and desktop systems. (Readers interested in a detailed account of his adventures in XML will find his illustrated journal, complete with code samples, at

Emerging Web services
Looking to the future, both Goldfarb and Pezzini expect the biggest growth in the use of XML will be in the emerging Web services arena. Today, interaction with a Web site is pretty much limited to filling out a form and sending it back to the Web site's application server.

In the future, Goldfarb explained, sending a request through your browser will not necessarily be asking for a specific Web page on the site, but will be asking for a service to be performed.

In the automobile industry, for example, Goldfarb said an automaker that needs a specific part must search a number of parts databases on a variety of Web sites. With XML, the company could send a request to a Web services site asking for the parts to be purchased and delivered. The Web services site might turn around and send further requests to other sites and they might send requests to even more sites, until the request is fulfilled. XML will make it possible for the automaker's computer to set up transactions with parts vendors' systems.

"Your computer will set up a business relationship with that company's computer and get the service performed without any humans even knowing who's doing business with whom," Goldfarb predicted.

The Universal Description, Discovery and Integration project (UDDI) hopes to accomplish this. Goldfarb called UDDI a directory of enterprises that describes what they do and the protocols necessary to communicate with them. Web services sites will serve as interfaces to these directories and search them to find the supplier or suppliers fitting the criteria requested.

XML comes of age
While not all technology standards have staying power, the consensus among vendors, developers and theorists is that XML is not only here to stay but is poised to become as ubiquitous in business computing as HTML and ASCII. Most companies that do not have XML incorporated into current applications and tools promise that the standard will be part of the next release. The skeptic would be hard pressed to find any authority in computer science who doubts that e-business can progress without XML. Regardless of the theoretical value of meta data standards, the practical reality is that B2B creates information management challenges that require XML compliance in data exchanges between all participants. XML will soon be as crucial to advancing the conduct of business over the Web as the Dewey Decimal System once was to the organization of great libraries.