XML and Java by Jon Byous

XML -- the Extensible Markup Language -- is being touted as the biggest news in Internet applications since JavaTM technology itself first sprang on the scene.

It's hard to imagine two more complementary technologies: While the Java platform offers the foundation for shuttling code securely and portably around networks, XML technology can do the same for data, offering a clean, platform-neutral way to represent content.

The XML 1.0 standard was approved and published by the World Wide Web Consortium (W3C) on February 10, 1998. Since then, XML technology has quickly gained favor as a universal data interchange format for networked systems. Among the practical benefits are:

A JavaTM Technology Standard Extension for XML Technology

Sun is supporting XML technology through the Java platform and is leading the effort to define a Java technology standard extension for XML. It will be developed through industry participation in the Java Community Process, ensuring stability and compatibility. Enterprises can rely on the XML standard extension to for high-quality integration with the Java platform.


XML and Java technologies are the yin and yang of vendor-neutral programming.
- Jon Bosak


The first step is to provide an XML standard extension that delivers basic functionality to read, manipulate, and generate XML text. These core features will form the building blocks for developing fully functional, XML technology-based applications.

The XML standard extension will consist of a specification, reference implementation, and a compatibility test suite. Following Sun's commitment to the open process and industry standards, the XML standard extension will conform to the XML 1.0 specification and will leverage existing efforts around Java platform APIs for XML technology, including the W3C DOM Level 1 Core Recommendation and the SAX 1.0 API.

According to Anne Thomas, senior consultant at Patricia Seybold Group in Boston, MA, the standard extension is quite a step forward: "The Java platform standard extension for XML will provide standard classes to generate and manipulate XML, and as a standard extension, these classes will be available on just about every Java platform. Developers won't need to build these classes themselves, and XML documents won't be as bulky as they might be because we won't need to include these classes in the application code. The classes will already be resident on the target system."

Enterprise Platform Support

XML technology will also be used in several key areas in Sun's enterprise Java platform evolution. "XML is fundamental to our plans for the next generation enterprise-computing platform, Java 2 Platform Enterprise Edition," said Bill Roth, product line manager for Java 2 Platform Enterprise Edition. "We are using it to make Enterprise JavaBeansTM components even more portable. We also intend to make it a standard for the transmission of mission-critical enterprise data."

Sun has announced that it is adding a standard extension based on XML technology to the next release of the Enterprise JavaBeans architecture in response to customer requests to increase the portability of enterprise beans components. The specifications for this release will be available for public review some time in the second quarter of next year.

Perfect Couple: XML and Java Technologies

XML and HTML: What's the difference?
If XML markup looks a lot like HTML, it's because the two stem from common roots. But philosophically, XML and HTML are worlds apart. more...

XML technology is expected to revolutionize network-oriented applications, especially in the area of data interchange. Together, Java and XML technologies are enabling a new generation of Web applications in areas such as e-commerce and enterprise applications integration.

By now, virtually all of the major players in Internet technologies have made commitments to XML technology. In addition to Sun, companies like IBM, Oracle, Fujitsu, Novell, Webmethods, Ariba, Bluestone, CommerceOne, Vervet, NetPost, and many others are building technologies and products that use XML and Java technologies together.

At Sun, perhaps the biggest champion of this new technology is Jon Bosak, who is also chair of the W3C XML Coordination Group, and generally regarded as the father of XML. "XML and Java technologies are the yin and yang of vendor-neutral programming," says Bosak. "Put them together and you have a complete, platform-independent, Web-based computing environment."

``Smart Data''

XML at Misawa Homes Co. Ltd
Read about how a Japanese home designer uses XML and Java technology together to create an open, flexible system for home design presentations. more...

"Combining Java and XML technologies produces portable `smart' data," explains Anne Thomas of the Patricia Seybold Group. "XML supplies a universally portable structured data format, and Java technology supplies universally portable code. Since code written in the Java programming language can be embedded into a document written in the XML language, we can create a data structure that includes its own data manipulation applications. It's a great combination."

The Java platform indeed seems the technology of choice for developers who are doing XML language work. For example, many of the available parsers, and popular tools are written to the Java platform. Developers not only find the portability and object-orientation attractive; they're also drawn to the sheer efficiency of the Java programming language, according to JP Morgenthal, president of NC.Focus, an enterprise application integration analyst and advisory firm: "Writing their tools in the Java programming language allows companies and developers to get things accomplished very quickly. Also, the language offers string manipulation, hashtable support, URL support, and other features that make it a natural tool to develop in for something like XML language. And finally, it's really easy to share code -- an important attribute in this very fast-moving area."

It's a two-way street. With its metadata flexibility and data portability, XML gives Java technology a big leg up in making data even more portable over a network. Java technology offers a substantial productivity boost for software developers compared to programming languages such as C or C++. Together, XML and Java technologies lead directly to platform-independent, standards-based applications, which are ready to be developed right now.

Where there is a need for information exchange on network systems -- such as electronic data interchange (EDI) and e-commerce, enterprise resource planning, and workflow applications -- XML and Java technologies together now seem the optimum choice.

Portable Purchase Orders

Many observers believe that XML and Java technologies together will revolutionize the way we exchange and act on information, automatically processing it for our personalized needs the instant it arrives through applications built on Java technology. "XML technology makes the information exchange possible, and Java technology makes automation feasible," explains Sun's Bill Smith, who serves as architect for the XML Linking Working Group at the World Wide Web Consortium.

For example, company purchase orders described in XML language could contain live elements, such as part and customer numbers, that can be coupled to databases to automatically update data warehouse inventory and shipments in separate applications without re-entering the data.

In this example, a purchase order could have different behaviors within different applications. Someone in purchasing might have the authorization to assign a purchase order number, specify a customer code, and change dollar amounts while the originator would only be able to approve it and change the dollar amount, and the recipient would only be able to view, store, or print the document. Yet, in each case, it is essentially the same document, based on the same input data, but with different behavior specifications depending on the recipient.

Alternatively, the same data's behavior could also change in response to the application that is processing it or even the device on which it is running. That means, for example, that a single stream of stock market data could run in separate applications as a scrolling text-only window, customized graphs, or mixed text and graphically rich Web pages.


Back To Overview