Sun and Java standards
JAX-RPC 1.0 is the original standard for WEB services in Java. Although Jax-RPC is designed with a different protocol implementation for actual WEB service implementations, in practice it is used only for SOAP services. A number of different Jax-RPC implementations have been developed, with the broadest possible use of the Apache framework, followed by Sun Microsystems as part of the Java Web Services Developer Pack Reference I Mplementation.
When Jax-RPC 1.0 was developed, many in the industry believed that Rpc/enc-style SOAP would become the most convenient and easy-to-use Web service. The Jax-RPC 1.0 specification requires support for RPC/ENC and doc/lit styles, but does not require support for many schema features. This creates an unfortunate side effect, making Doc/lit SOAP (which is based on the schema) actually a second-rate option.
JAX-RPC 1.0 also has some limitations in understanding WEB services functionality. As you can see from its name, the original purpose is to support remote procedure call (Sqlremote Procedure CALL,RPC) operations that use XML. Java already had an existing technique for RPC calls between Java applications, remote method invocation (Invocation,rmi). The spec team has chosen to model JAX-RPC on an existing RMI interface. As long as the Rpc/enc SOAP is used through a request-response operation, the model can match fairly closely, but the effect of mapping to asynchronous operations or other transports is unsatisfactory. By the end of 2003, it was recognized that a significant revision of Jax-RPC was always needed to address these and other issues, so Sun formed a group of experts to begin the development of the Jax-RPC 2.0 specification.
jax-*
The main objective of the Jax-RPC 2.0 development effort is to update the standards to support the mandatory requirements of Jax-RPC 1.X (based on Java 5 features such as Annotation and generics), improve messaging support (including asynchronous operations and transmissions except HTTP), and by using the JA The XB 2.0 binding replaces the simple (but strongly limited) built-in bindings of Jax-RPC 1.X to improve schema support. For the emphasis on the scope of the change and other reasons, the name of the successor standard changed to JAX-WS 2.0. JAX-WS 2.0 now offers a pre-release version, and its production version is expected to be launched in mid-2006.
JAX-WS 2.0 successfully implemented the various expectations of Jax-RPC 1.X, and even provided some additional functionality, such as limited REST support. Because JAX-WS 2.0 uses Annotation and other Java 5 features in large quantities (so that older JVMs cannot be used), some developers may experience problems when they use them, but relying on the Java 5 feature will be a big advantage for many developers. A more prominent concern is that JAX-WS 2.0 does not support any fallback options for the Annotation of Web service configurations, which may limit the flexibility and long-term advantages of the framework.
JAX-WS 2.0 and JAXB 2.0 are in the Release Java 5 version that is ready to be bound to the J2SE specification. Adding these components as part of a standard JVM installation will undoubtedly increase the appeal to developers, since this will avoid the need to include a large number of frameworks in each application. The disadvantage of incorporating a large number of frameworks in a standard JVM is that, in addition to increasing the base download size, it can be difficult to version control when there is a need for bug fixes, as it has been in a component such as JAXP (which has already taken the form of binding).
Toward interoperability
JAX-WS 2.0 directly supports Xop/mtom, not other new WCF technologies. However, in the Sun's stated interoperability commitments with Microsoft, they announced that they would develop the Java open source version of other technologies included in WCF. These open source implementations will be developed as part of a large project "GlassFish" that covers all the technologies used as part of the Sun's application server, including the JAX-WS 2.0 and JAXB 2.0 reference implementations.
We need to wait and see before these new open source projects take shape. There are a few things that will be available in the middle of 2006 in the Sun's published timetable, so more detail can be provided in subsequent articles in this series.