The success of J2EE technologies -- and its strong enterprise following -- has been thanks to the range of enterprise-ready integration components and solid infrastructure at its core. The cornerstone of the J2EE 1.3 architecture, the EJB (Enterprise JavaBeans) container, has proven its worth in server-side deployment by supporting crucial responsibilities such as security, persistence, and session management, and transactional integrity while simplifying application deployment and management. The new JCA (Java Connector Architecture) has proven a further boon to IT managers undertaking integration projects by offering an open standard for connecting enterprise information systems, such as PeopleSoft, SAP, and CICS (Customer Information Control System). JCA has reduced the complexity and hard-coding requirements necessary to integrate resource adaptors with the application server.
Add to this Java's elements for multitier, distributed, scalable computing, messaging, and transaction services, and it's little wonder that J2EE has curried favor with such a large audience. Despite all of Java's attributes as an integration tool, advances toward improving J2EE as a development platform for Web services enterprise integration have been slow.
Because the primary underpinnings of Web services are based on XML, the success of any Web services-based EAI implementation will turn on its capability of processing and transforming XML efficiently. One advance in the support of XML for Web services has already been defined: Sun's JAX (Java Architecture for XML) is a collection of APIs that allows J2EE to uniformly process XML. Sun also added XML support to JSPs (Java Server Pages) and servlets. JAXP (JAX processing) adds mechanisms to J2EE that handle the basic processing and transforming of XML documents, supporting both the SAX (simple API to XML) and DOM (document object model) models. SOAP (Simple Object Access Protocol) messaging constructs are available through either JAXM (JAX messaging) or JAX-RPC (Remote Procedure Call), and they support additional profiles, including the ebXML (e-business XML) messaging service. And JAXR (JAX registries) facilitates publishing and locating requirements of Web services directories.
One of the latest advances in APIs is JAXB (JAX binding). Currently available as a public preview, the final release of JAXB will facilitate mapping XML documents to Java objects; ultimately, this enables normal Java objects to directly represent XML documents. Using JAXB not only speeds document processing but also simplifies the complexities of writing XML parsing and code validation, enabling faster deployment.
Providing development support for Java-based Web services is the array of tools that enable J2EE components as Web services and manipulate XML. While Microsoft has been polishing Visual Studio .Net, mature development tools, such as Borland's Enterprise Studio platforms and Cape Clear's CapeStudio, have given credibility to Java as a Web services platform.
Firming the firmament
Although XML processing is fundamental to Web services, it only begins to address the requirements of a comprehensive platform. Currently under development within the Java Community Process (JCP) is a specification request \#209 JSR 109 \#209 that will better define the programming model and run-time architecture for Java-based Web services. This formal road map to the future aims to provide a unified standard for Web services that will be essential for planning any long-term EAI projects on J2EE.