Already expected to reshape business-to-business communications, XML--or Extensible Markup Language--also holds the potential to become the de facto standard for corporate data integration, an important area where others have failed.
None of these earlier technologies has been able to accomplish the goal of giving developers a simple way to share data between computer systems from multiple companies, analysts and software makers say.
The landscape is littered with unsuccessful predecessors, most with equally daunting names: Common Object Request Broker Architecture (CORBA), Enterprise JavaBeans (EJBs), and Microsoft's Component Object Model (COM). CORBA has yet to take hold despite years of next-big-thing promise; EJB is more a accessible technology but still complex; and COM in many ways remains a proprietary technology.
XML's popularity is being driven by two overriding trends. The growth in business-to-business e-commerce has necessitated an Esperanto of sorts for exchanging information in areas ranging from purchase orders to part descriptions. And in big corporations, the rush to make internal data locked in custom back-end systems available to new Web-based applications has heightened the need for a cross-platform development.
In comparison, CORBA, EJB, and COM require more extensive programming knowledge and greater infrastructure. Although these technologies will have their place for building highly reliable, high-volume systems, XML gives corporate developers a new option for many applications.
"My sense is that there are people that don't understand how to build COM apps on the inside. It's too hard. They get the Web and XML and HTTP are much easier technologies. It's certainly easier to develop in that environment, but it's not as feature-rich," said Eric Brown, an analyst with Forrester Research.
Microsoft is particularly bullish. At a recent developers' conference, senior vice president Bob Muglia said XML is a cornerstone of the company's knowledge management initiative, aimed at wedding its client and server software into a more cohesive business tool.
Based on comments from Microsoft's marketing executives, the XML religion is quickly spreading throughout the company--even at the expense of COM, the company's longstanding component model.
"For application-to-application integration, XML is better than component systems like CORBA and DCOM," claims James Utzschneider, director of Microsoft's XML-based BizTalk initiative. "XML is good for things that CORBA and COM were not really good at, like building an applications backbone."
Oracle is also taking a hard line on XML as a superior way to share corporate data and has integrated the technology into its flagship database server. "CORBA and COM promised a lot. But in the future, they will really just be a way to get data from point A to point B. But for the most part, people will talk HTTP using XML," said Jeremy Burton, vice president of server marketing at Oracle.
Some XML software providers, such as DataChannel and Bluestone Software, are touting XML and HTTP as a Web component model. Bluestone executives believes XML's ease of use will quickly make it more popular than CORBA, EJB, and COM.
"If you had to read 260 pages to understand Enterprise JavaBeans vs. 20 pages for XML, which one would you be likely to do?" said John Capobianco, senior vice president of marketing. "Almost everyone can understand and utilize the technology as opposed to a few smart people who can handle Java or any other object."
Naturally, Java backers have a different opinion. IBM and Sun executives say XML has its place, but it cannot be a direct replacement for EJB and CORBA in all applications. XML represents portable data, while EJB is used to deliver portable code, so the two technologies work in concert with each other, said Rod Smith, IBM's chief Java technologist.
"That's a bit like comparing apples to hand grenades," said Bill Roth, Sun's product line manager for Java 2 Enterprise Edition. "It's like inventing a language without verbs. There has to be a standard way to deliver structured data. And if not CORBA, EJB, or even COM, then what?"
Brown, of Forrester Research, said the three component models also offers more features than plain old XML, such as transaction processing and messaging. But combined with message queuing and other technologies, XML can come close, Oracle's Burton said.
Also, currently XML and HTTP don't offer the transaction speed necessary to replace the component models in all applications. "If I were to take the COM components calling each other and replace the Windows COM message traffic in an HTTP traffic, I would not be a happy guy. It would have a significant performance impact on the system," Brown said.
But XML and HTTP can serve as a Web component model for quickly building lower-level applications that connect businesses to businesses and link internal systems. For example, one business trying to get inventory level from its three major suppliers.
Companies can connect XML servers on their databases, exchange XML documents, and read them a Java graphical user interface on a Web browser, Brown said. The communications would be secure with digital certificates.
"This is applications to applications. This is our systems talking to each other," Brown said. "The infrastructure can handle that stuff."
Analyst Jeetu Patel, of Doculabs, said XML will complement Electronic Data Interchange (EDI) systems because it will allow large companies who use the more expensive EDI to use XML to communicate with smaller companies. They can perform e-commerce by sending purchase orders back and forth.
"The limitation for EDI was it was done between two large entities--Ford buying tires from Goodyear. But if Ford wanted to buy from a mom and pop down the street, that was a tough thing [with EDI]. XML allows low-tech partners to trade with you," Patel said.
Bob Bickel, Bluestone's senior vice president of products, said the XML and HTTP component model allows developers to use a language, such as Java and C++, to write their applications. "How many people can program to an API model [using CORBA, EJB, or COM]? Now instead of programming, I'm sending documents back and forth. More people can understand documents and can deal with them."
Bluestone executives said they are working with supermarket chains to build XML applications that will allow shoppers to order their groceries through a PalmPilot. Shoppers can pay with a credit card and wait for the store to send a message back that they can pick up their groceries at a pickup window. All the transactions are done through exchanging XML documents, they said.
Jeremy Allaire, vice president of technology strategy of Allaire, said XML, combined with new HTTP technologies, could become a very popular component framework. "As more and more companies look at the Web as a strategic center for business, they want to design around the Web-centric application models," he said.
In fact, the World Wide Web Consortium is creating a next-generation version of HTTP that includes a distributed object framework for the Web. "It will probably share the same semantic model similar to CORBA and COM," he said, further bolstering XML's capabilties.
Allaire, whose company is using XML as the core technology for its forthcoming set of content management and e-commerce software, believes the XML-HTTP model will become popular. About 85 percent of the applications written today are simply HTML pages with script code and databases, he said.
"We've had these COM, CORBA, EJB debates for a long time and if you go out and survey customers writing applications, very few actually use the stuff. It's very limited," he said. "And so, in some ways, [XML and HTTP] has its own legs. It's about how do I work with my thousands of partners on the Internet and tie together businesses--that's when it gets interesting. You need an XML-based model."
Norbert Mikula, DataChannel's chief technology officer, said it should not turn into a religious debate, but that developers have more options.
"I don't care if the future is CORBA or Java objects," he said. "What is in my mind is the data itself becomes mobile and it becomes mobile through XML. You don't have to worry about COM, as long as [XML] describes the interchange of data."