Other Enterprise APIs

There are a number of initiatives and APIs brewing in the Java community that could be classified as “enterprise APIs” but have not been included in this Nutshell book. We mention a few of them here, for the interested reader.

The area of XML-based “web services” (services that can be discovered and invoked using XML-based protocols delivered over HTTP) is a hotbed of activity at the time of this writing. The combination of XML, a portable data/content framework, and HTTP, a ubiquitous communications protocol, is a natural and powerful one. APIs and frameworks are being proposed and developed around a number of XML-based protocols such as SOAP, WSDL, UDDI, ebXML, etc. Sun has initiated a series of its own APIs around XML (http://java.sun.com/xml). We discuss JAXP in some detail in the book (see Chapter 9). There are others not covered in this book, such as the Java API for XML Messaging (JAXM), the Java API for XML Registries (JAXR), which supports ebXML. and the Java API for XML Binding (JAXB), which provides a means for marshalling and unmarshalling Java Objects to and from XML representations.

There are also a number of other third-party efforts to support web services in Java, being driven by IBM, BEA, and other players in the Java community, as well as the open source efforts of Apache (http://www.apache.org), OASIS (http://www.oasis-open.org) and others. At the time of this writing, the subject of XML-based web services is somewhat unfocused in the market, and more complete coverage requires much more material than we could provide in this Nutshell book. However, the Java XML APIs will receive more coverage in their own volume once they mature.

Jini (http://www.sun.com/jini) is a next-generation networking system designed to enable instantaneous networking between unrelated devices, without external communication. Jini is a system for distributed computing; it includes a name service, a distributed transaction service, and a distributed event service. Although these services overlap with JNDI, JTS, and JMS, Jini is fundamentally different from these J2EE APIs. The Enterprise APIs are designed to bring Java into existing enterprises and to interoperate with existing protocols and services. Jini, on the other hand, is a next-generation networking system that was designed from scratch, with no concern for compatibility with today’s distributed systems.

Project JXTA (http://www.jxta.org) is a framework for developing peer-to-peer systems that involve processes on traditional servers, agents on PDAs and other mobile devices, embedded systems on automobiles and consumer devices, etc. There is a large overlap between the functionality provided by JXTA and Jini, so it is hard to judge what the final form (if any) of these two frameworks will be in the standard Java environment, or whether they will continue as independent APIs.

Get Java Enterprise in a Nutshell, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.