Pacific Connection(英語)

Bickering at the XML Love Fest

Don't look now, but Sun and Microsoft are at each other's throats again---this time, in part, over which company is the more enthusiastic supporter of XML. Beneath the catcalls is a serious debate over the role of XML---and the myriad technologies embracing XML---in moving software services to the Web.

This latest round of the Sun/Microsoft feud goes back to 1997, when Sun filed a lawsuit in U.S. District Court alleging that Microsoft had breached its contractual obligation to deliver a compatible implementation of Java technology for Microsoft products. Last January, with the technology agreement between the two companies set to expire in two months, Microsoft agreed to pay Sun $20 million, terminate the agreement early, and refrain from using Sun's "Java Compatible" trademark---which Microsoft had not in fact used since 1998. The agreement, a clear victory for Sun, seemed like the final divorce settlement between Microsoft and Java.

The separation had come earlier came with Microsoft's .NET initiative. .NET is Microsoft's move toward "Web services," in which software is not a program residing on a local disk or network, but a suite of services available over the Internet. Web services, of course, are what Java is supposed to deliver. But Microsoft has visibly embraced another technology in its place: XML.

"We're entering the next phase of computing---a phase enabled by the Internet, specifically by the key Internet technology, Extensible Markup Language (XML)," wrote Microsoft in an online history of Web services. "XML enables the creation of powerful applications that can be used by anyone, anywhere. It increases the reach of applications and enables the continual delivery of software. In this context, however, software is not so much something installed from a CD, but is a service---like caller ID or pay-per-view television---to subscribe to through a communications medium." Under .NET, Web services are accessed via the Simple Object Access Protocol (SOAP), which is based on XML. Nowhere in the .NET vision does the term "Java" seem to appear. Instead, Microsoft is promoting an alternative language, C# (Pronounced "C Sharp" as in the musical scale), which, at this writing, has yet to debut.

Microsoft is actively wooing Java developers with a suite of tools called "JUMP to .NET," or JUMP, for short. JUMP stands for "Java User Migration Path to Microsoft" and provides what Microsoft calls "the easiest transition for Java developers into the world of XML-based Web Services." For now, Microsoft is saying that Java programs, at least those built with the company's own Visual J++ tools, can be modified for compatibility with .NET. But it's clear that Microsoft would prefer programmers to take their Java programming skills and work directly in C#. Indeed, a key component of JUMP with be a facility for translating Java code into C#.

As for Sun, it was predictably unimpressed by .NET, pointing out that C# is a proprietary language that doesn't share Java's "Write Once, Run Anywhere" philosophy. "For all their talk about the benefits of JUMP to .NET, developers recognize that a path from Java technology to Microsoft Windows applications already exists. Sun freely distributes and actively supports, the most high-powered version of Java technology for Microsoft Windows," the company wrote in a statement.

But in attempting to abandon Java, Microsoft has come to embrace XML. "XML has become the common bridge of communication between the Java community and Microsoft's .NET community," said John H. Capobianco, general manager for middleware strategy at Hewlett-Packard. "I don't have time or energy to be religiously involved in Java or .NET. What I need is a customer solution. XML seems to be the common communications vehicle that's going to allow us to pass information between Java-based systems and .NET-based systems, and is thus a perfect bridge for us."

And so ironically, Microsoft---despoiler of Java and cursed for its proprietary products---has earned a reputation for driving one of the most open standards on the Internet. Browse the Microsoft XML Developer Center website, and you can find XML SDK documentation, code samples, newsgroups, tutorials and chat sessions---as well as a link for downloading the latest version of the Microsoft XML software development kit and the company's XML parser, MSXML3.

".NET, along with XML, has made the confrontation between Microsoft's offerings and Sun Microsystems' Java much less important for overall future success in e-business development," wrote three analysts from Gartner Group. Still, the analysts believe that Java is too big and important for the company to ignore. They predict C# "will fall victim to the extreme pain Microsoft is feeling from its lack of Java support," and that Microsoft will gradually add more Java support to the .Net platform by the end of this year.

Sun One Counters .NET

Meanwhile, Sun responded to .NET with an announcement of its own. At a splashy event last February in San Francisco's Palace Hotel, the company announced its Sun One initiative: an "open architecture, roadmap, and product portfolio that will enable customers to create, assemble, and deploy open, smart Web services." Sun thought the announcement was important enough to bring both Scott McNealy, Sun's chairman and CEO, and Ed Zander, Sun president and chief operating officer, to the same podium. The two don't appear together very often.

McNealy, known for his high energy and wry sense of humor, looked dour and a bit tired as he took the stage. He seemed perturbed about press reports that Sun the announcement was but a belated response to Microsoft. (Coincidentally on that day, some Canadian engineering students lowered the suspended the shell of a Volkswagen beetle off the Golden Gate Bridge. With a photo of the prank projected onto rearview screens, McNealy suggested that perhaps, this was a "Microsoft bug.") Getting down to business, he made the case that Sun One is a natural extension of Sun core networking business, unlike Microsoft, whose interests include website building, set-top boxes, and the machines. He defined Sun One as an "integratable stack of software that allows smart network applications which can collaborate with one another using open protocols."

To make its point more pungently, Sun put a document on the chairs of the analysts and reporters attending the event. Called "Humble (Cow) Pie: Questions that Microsoft asked Sun," the eight-page document responded to e-mail sent reporters by Chuck Humble, who works for Microsoft's public relations firm. Humble posed 15 questions for Sun to answer about its software strategy. (In fact, each "question" was a series of questions: answer all of them would have required a book-length response.) While Sun's response in places oozed with sarcasm, it did give a pretty good idea of where the XML debate is focused, vis-a-vis Web services.

Microsoft: "If Sun invented [XML], why is the company so late to support it in their products. Sun has recently shipped its first generation XML parser, while Microsoft is on its fourth generation."

Sun: "We'll refrain from the often-repeated barb that Microsoft doesn't get it right until version 3.0 and cut to the chase.... Many of our products already support XML. In fact, we delivered our first XML parser two years ago. In the world operating at Internet speed that doesn't qualify as recent."

Microsoft: "XML has never been core to Java; rather Sun has attempted to bolt it onto this side after the fact."

Sun: "The Java platform can do whatever the developer wants to do, and considerable work is being done in the areas of "XML processing, XML binding (i.e., translating Java to XML and vice versa in just one line), XML messaging, XML registries, and XML remote procedure calls.... The bottom line is: We don't think we need to do anything to drive XML across Java licensees. We think that the Java community will drive itself because of the natural affinity that is emerging. Maybe that's the big difference between Sun and Microsoft."

Microsoft: "Why does Sun think Web Services are just APIs? How does Sun intend to develop applications end-to-end? Windows 2000 and .NET have XML end-to-end.... You also need to support your infrastructure. Where is the iPlanet [the company formed by Sun and Netscape] support for XML? Microsoft has made XML part of the core of SQL Server, BizTalk Server, Exchange and Commerce Server."

Sun: "...together with partners, we are delivering the technologies today that are making Web services happen right now. By contrast, anyone who wants to adopt your model will have to wait until 2003, the year Microsoft projects it will be shipping the bulk of the .NET goodies that you raise in your question."

XML: specs and more specs

With all the noise surrounding XML, its sometimes difficult to remember just how simple the concept really is. Jon Bosak and Tim Bray, two of XML's founding fathers, have called the language a way to "make information self-describing," and by doing so, extending "the Internet beyond information delivery to many other kinds of human activity." E-commerce remains the biggest immediate application for XML. Bosak and Bray note that HTML is too inflexible to really deliver the goods when it comes to fulfilling online orders. "Change the quantity or shipping method of your order, and to see the handful of digits that have changed in the total, you must ask a distant, overburdened server to send you an entirely new page, graphics and all," they wrote in the publication, Scientific American." What is needed, they say, are tags that specify not just what information should look like, but the nature of information itself. Order a shirt, and the price, size, quantity and color are all recognized as such by the back-end software that actually tracks the order, checks on inventory, and make certain it is accurately sent from the warehouse.

But beyond the basics, XML has become the root technology for a plethora of protocols and proposed specifications, all vying for acceptance. Peter O'Kelly, an analyst at Patricia Seybold Group, argues that XML has taken on the role of unifier in a much fragmented industry, bringing together companies that otherwise try to slit each other's throats. "Going back a year ago, if you said Microsoft, IBM, Ariba, i2 (Technologies) and others were going to work together to drive establishment of new (XML standards), people would have thought you were woefully optimistic, if not insane," he said in a CNET report.

Still, if the Sun/Microsoft feud is any indication, the emerging standards are not just a source of harmony, but of acrimony. For example, there's SOAP---Simple Object Access Protocol--a protocol for exchanging information in a distributed environment. Microsoft accused Sun of doing an about-face on SOAP, from saying it was a bad idea to accepting the technology for limited use. Sun countered that SOAP has changed a lot from the days Microsoft initially championed it, especially when it was augmented by IBM. Sun says it still concerned that Microsoft is advocating extensions that would require an Internet Explorer browser connected to a Windows server.

Then there's the Universal Description, Discovery and Integration (UDDI) standard, a proposed Web registry that allows companies to more readily locate and do business with other companies---relying on XML and other technologies. Operation of the UDDI Business Registry is currently shared by Microsoft, Ariba, and IBM. Microsoft accused Sun of waffling on its UDDI support. Sun says it has supported UDDI since Day One and doesn't think the standard is moving fast enough.

Another specification in the business-to-business sphere is ebXML, whose backers envision a global electronic marketplace where businesses can conduct business through the exchange of XML based messages. ebXML is a joint initiative of the United Nations (UN/CEFACT) and OASIS. Microsoft argues that ebXML is a distraction from the work being done within the W3C (World Wide Web Consortium), and questions whether ebXML will even be around after its charter expires in May. Sun replies that the work being done by ebXML and W3C are complementary, that ebXML action published its specs ahead of schedule, and has "delivered proof-of-concept demos before a live public audience in which more than 15 vendors participate."

HP's Capobianco argues that, with companies slugging it out for which XML-based specs will prevail, "it's especially important that XML stay focused on the customer, not the vendors." Of course, customers---and industries---must agree on XML extensions; otherwise, they might as well be speaking Greek and Swahili. But Capobianco believes that such schema development does not need to take place for XML to work. "Because XML is an extendable language, anybody can create what they consider to be a standard of communications between themselves and someone else. Now I think it's very beneficial for schemas to get developed---schemas make it easier for industries to communicate. Having the standard of tagging the front and the back end of the data in creating things like dynamic table definitions (DTDs) and schemas---which are groups of DTDs---are a very good idea. But short of that, you can simply say that your company and my company, who used to communicate by fax, will agree instead to exchange XML document by e-mail. It can be a simple as that."

An Interview with Perin Blanchard, software engineer consultant, Novell, Inc.

One company that has kept studiously out of the Microsoft/Sun fray is Novell, Inc., run by Eric Schmidt, Sun's former chief scientist. Under Schmidt, Novell has moved its directory and network services to support multiple operating systems, including both Solaris and Windows. Novell Developer Perin Blanchard works on the company's DirXML, a data sharing service that extends Novell's NDS eDirectory to other data sources. DirXML plays a key role in the company's One Net strategy---in which multiple corporate networks appear as a single network. "The way to make that happen is to make all the applications play nice together by exchanging information, and XML is the most reasonable way to do that," Blanchard says.

XML is getting a lot of attention these days. Does it deserve it?
XML is the current media darling, so it gets all the press. And the media always presents its current favorite as the next silver bullet for the computing industry. XML is not that, but it's certainly a very useful technology for information exchange---because everybody agrees on the basic syntax, and are coming up with common vocabularies. I think that will accelerate as more and more people discover that it's a useful medium for talking to other people.
You imply that maybe it's been overrated in some ways. What are people missing about this technology? What are its limits?
What's most amusing is to hear somebody say something is written in XML as if XML is some programming language or platform. XML really isn't. It's simply a way of marking up data. It provides a framework for people to get together and solve communication problems using a common language. Just because you support XML does not mean you've solved all your communications problems with the rest of the world.
Are you referring to the fact that XML is a meta language, and therefore needs to be further implementation before it will work?
Yes, that's the basic gist of it. XML is simply a standard. In the simplest of terms, it's a way of describing vocabularies that people can use to describe data. Until the vocabularies are described and agreed upon, XML by itself really does nothing. But there is a lot of work going on establishing vocabularies from various aspects of the computer industry-authentication, user credentials, provisioning, business to business communication, ordering---you name it and somebody is thinking up some way of representing data in XML. The more of that that goes on, the better because standards will emerge---and once people support standards, different applications can talk together. XML differs from some past standards in that it's not really being pushed by any one company. Therefore, for the most part, nobody locks in anything proprietary, which is one reason why I think it's being accepted so rapidly.
There's been a lot of buzz about the combination of Java and XML. Is that "dynamic duo" being used in any way at Novell?
DirXML's major portions are written in Java. Java has some advantages in dealing with XML because the World Wide Web Consortium, as well as some other groups, have established standard Java interfaces for dealing with XML data. There aren't many other languages that have that sort of standard support. While the interface is not built into Java, these groups have implemented XML on Java in a standard way. That means you can use a single implementation of the XML representation just by knowing the general interface. This standard method of representation makes Java a particularly good choice for dealing with XML.
How broadly will XML be implemented?
XML is being used to describe just about any sort of data you can think of. here are initiatives under way to describe PKI (public key infrastructure) sorts of things, user profiles, employee provisioning, business to business provisioning. For just about anything a company might want to communicate with another, you can find an initiative using XML to describe it. Not all of these initiatives are going to fly, of course. But the overall trend is a good thing for customers in general, because they will be able to pick and choose best-of-breed applications, which in theory will be able to talk to other best of breed applications.
Does that mean that with XML's central role as a data repository that some other technologies we take for granted will be de-emphasized? For example, will some programming languages be used less?
I suspect that specific programming languages won't change. It's more likely that they will have additional features added to deal with XML data more easily. People may also start using languages developed specifically for the manipulation of XML, like XSLT [XSL Transformations].
What role does DirXML play within the Novell product suite?
DirXML allows you to connect various applications so that they can exchange data without actually modifying the application. Previously, to make applications talk together, you usually had to modify the applications in some way to talk to some other application, or you had to write some custom middleware to do it. DirXML receives information from an application, processes that information subject to rules, and submits it to another application. It uses Novell's NDS eDirectory in the middle as a data repository, so it has a hub and spoke architecture---multiple applications as the spokes, DirXML and eDirectory as the hub. DirXML uses XML as the medium of data exchange. That gives us a lot of power because all the rules are simply transformations of the XML document that represents these data events. Essentially, an application reports a data event to the DirXML engine in the form of an XML document, and the rules transform that XML document into a series of commands for the target.
How are your customers using DirXML?
Right, now, the biggest application is employee provisioning. In one scenario, the customer has PeopleSoft as their human resource database. Using DirXML they connect PeopleSoft to eDirectory, and eDirectory to NT4 (Windows NT, version 4.0) domains and Microsoft Exchange. They've implemented some of their business processes using DirXML so that when a new hire, for example, gets created in their HR database, the change is picked up, and a user object is automatically placed in eDirectory. That triggers the creation of an NT4 domain account, which in turn triggers the creation of an Exchange mailbox. So the simple act of entering a new employee provisions the employee for his first day at work.
Novell itself is using DirXML for the same sort of thing, but we've got a more elaborate setup where we're connecting with our PeopleSoft database, our phone system, security system, and multiple directories for various purposes. The initiative is called Zero Day Start Initiative, and the idea is that when a person comes to work on the first day, everything they need has already been set up for them. They are entered in the employee database two weeks before their start date, and the combination of DirXML and this business logic causes all the other systems in the company to create the necessary accounts and access.