Extensible Markup Language (XML) is rapidly becoming a pervasive
enabling technology that in many ways augments Java, but XML is also
evolving to act as an object transport protocol that could undermine
Java's ascension as a does-all platform.
The progeny of earlier markup languages such as HTML, XML tags Web-
based information for recognition by developers and computers. Much of
XML's popularity is due to the fact that HTML, the lingua franca of the
Web, lacks a way to add meaning to content aside from cryptic URLs. XML
aims to add that meaning to Web objects -- a task once assigned to
Java.
"The bottom line is that Java is playing a lessening role in the
creation of Web applications, because other technologies are
available," said Adam Berrey, product marketing director at Allaire, a
Cambridge, MA-based maker of Web application servers. "XML makes it
less likely that you'll see Java as a full platform."
XML offers developers the choice between building Web applications or
building Java systems, said Berrey. As a result, XML's evolution may
allow Web applications to supplant Java's role as a client/server
technology. All that's needed is a client that renders XML into HTML,
not a Java virtual machine (JVM)-based client.
"Implementing Java server pages or other dynamic generation is very
difficult, and XML could make it easier to integrate Java servers with
Web clients," said Doug Pollack, vice president of marketing at
GemStone Systems in Beaverton, OR. "Ultimately XML would obviate the
need for a JVM on the client. I would expect that XML is pushed out to
the browser rather than to a JVM.
"Sun has not embraced XML in this fashion to date," Pollack said. "The
reality is there's this need for something to fill the gap of Java on
the client. If Sun is focused on Java everywhere, then XML is probably
at odds with that."
The need to exceed JVM client integration functionality has pushed
XML's role closer that of a transport protocol.
"In the transfer of content, XML can replace IIOP [Internet Inter-
ORB
Protocol] or RMI [Remote Method Invocation]," said John
Pompeii, chief
technology officer at Secant Technologies, an application sever vendor
in Cleveland, OH. "There's an overlap with Java/CORBA because they
don't transmit content that's hierarchical well," he said.
"I haven't heard much about Sun on their position on XML. They may have
one, but I don't know what it is," Pompeii said. "But I don't think
that XML is any kind of threat to Java, specifically, because in
practice you're still using distributed objects between the servers."
Sun says that while XML is powerful and useful, it requires Java to
reach its potential.
"XML is not useful alone, it's just a data format. It needs programmed
behavior to be useful," said Nancy Lee, product manger for XML at Sun
in Cupertino, CA. "Java and XML are complements. Java provides the
portable code to make XML useful, and XML offers the data for Java,"
Lee said.
At the Java Business Expo in New York next month, Sun will broaden its
XML strategy by demonstrating a Java-based XML parser and APIs that use
Java to provide core services to run XML in applications, Lee said.
XML offers a way to create open data that isn't dependent on a
platform, language, or restrictive formatting convention. If widely
adopted, XML could become a de facto standard for communicating content
and objects down to clients -- or among servers and enterprises.
And that sounds a lot like what Java does, at least as an object
platform. It's just such a role for XML that appeals to Microsoft,
which disdains Java's use for purposes other than programming.
"We see XML as being the next protocol on which a lot of exciting stuff
is built," said Dave Wascha, XML product manager at Microsoft. "The
benefit of XML is that it allows you to exchange information across
platforms, not to be confused with writing applications that are cross-
platform."
By adding native XML support in future version of Windows, its tools,
and its browsers, Microsoft is promising developers that they can draw
on XML to read and manipulate data as it moves between applications and
components.
Microsoft also has plans for "server-side XML," whereby XML can be used
as a standard method of passing data between heterogeneous distributed
application servers, as well as across multiple operating systems, the
company said at its recent Professional Developers Conference in
Denver, CO.
For many, however, it's not a matter of either/or when it comes to Java
and XML.
"You can think about using an XML-based object capability as a simpler
way of doing CORBA and DCOM, but it sounds like that's a ways off,"
said David Skok, chairman and founder of SilverStream Software in
Burlington, MA. "From our side, we're doing both XML and Java, and see
them as wonderfully complementary."
Analysts agree. "I think that a Java strategy without an XML strategy
is incomplete," said Eric Brown, analyst at Forrester Research in
Cambridge, MA. "The two are not competitive. But there are some
overlapping areas, and companies are finding that XML is inexorably a
part of managing content."
That jibes with what IBM, a driving force behind both Java and XML,
seems to have in mind.
"XML and Java are entirely complementary," said Simon Phipps, head of
XML marketing and Java evangelist for IBM in Hursley, England. "How XML
negates the value of Java is mystical to me. The two are entirely
parallel and complementary and symbiotic. Both are crucial to computing
in the new millennium."