Sun has posted the second early draft review of Java Specification Request 224: Java™ API for XML-Based RPC (JAX-RPC) 2.0. JAX-RPC is a java API for working with SOAP and WSDL based web services. According to the draft,
Since the release of JAX-RPC 1.0, new specifications and new versions of the standards it depends on have been released. JAX-RPC 2.0 relates to these specifications and standards as follows:
- JAXB
- Due primarily to scheduling concerns, JAX-RPC 1.0 defined its own data binding facilities. With the release of JAXB 1.0[9] there is no reason to maintain two separate sets of XML mapping rules in the Java™ platform. JAX-RPC 2.0 will delegate data binding-related tasks to the JAXB 2.0[10] specification that is being developed in parallel with JAX-RPC 2.0. JAXB 2.0[10] will add support for Java to XML mapping, additional support for less used XML schema constructs, and provide bidirectional customization of Java , XML data binding. JAX-RPC 2.0 will allow full use of JAXB provided facilities including binding customization and optional schema validation.
- SOAP 1.2
- Whilst SOAP 1.1 is still widely deployed, it’s expected that services will migrate to SOAP 1.2 now that it is a W3C Recommendation. JAX-RPC 2.0 will add support for SOAP 1.2 whilst requiring continued support for SOAP 1.1. WSDL 2.0 The W3C is expected to progress WSDL 2.0[11] to Recommendation during the lifetime of this JSR. JAX-RPC 2.0 will add support for WSDL 2.0 whilst requiring continued support for WSDL 1.1.
- WS-I Basic Profile 1.1
- JAX-RPC 1.1 added support for WS-I Basic Profile 1.0. WS-I Basic Profile 1.1 is expected to supersede 1.0 during the lifetime of this JSR and JAX-RPC 2.0 will add support for the additional clarifications it provides.
- A Metadata Facility for the Java Programming Language (JSR 175)
- JAX-RPC 2.0 will define use of Java annotations[12] to simplify the most common development scenarios for both clients and servers. Web Services Metadata for the Java Platform (JSR 181) JAX-RPC 2.0 will align with and complement the annotations defined by JSR 181[13].
- Implementing Enterprise Web Services (JSR 109)
- The JSR 109[14] defined jaxrpc-mapping-info deployment descriptor provides deployment time Java , WSDL mapping functionality. In conjunction with JSR 181[13], JAX-RPC 2.0 will complement this mapping functionality with development time Java annotations that control Java , WSDL mapping. Web Services Security (JSR 183) JAX-RPC 2.0 will align with and complement the security APIs defined by JSR 183[15].
- JAX-RPC 2.0 will improve support for document/message centric usage:
- Asynchrony
- JAX-RPC 2.0 will add support for client side asynchronous operations.
- Non-HTTP Transports
- JAX-RPC 2.0 will improve the separation between the XML based RPC frame- work and the underlying transport mechanism to simplify use of JAX-RPC with non-HTTP transports.
- Message Access
- JAX-RPC 2.0 will simplify client and service access to the messages underlying an exchange.
- Session Management
- JAX-RPC 1.1 session management capabilities are tied to HTTP. JAX-RPC 2.0 will add support for message based session management.
JAX-RPC 2.0 will also address issues that have arisen with experience of implementing and using JAX-RPC 1.0:
- Inclusion in J2SE
- JAX-RPC 2.0 will prepare JAX-RPC for inclusion in a future version of J2SE. Application portability is a key requirement and JAX-RPC 2.0 will define mechanisms to produce fully
- portable clients.
- Handlers
- JAX-RPC 2.0 will simplify the development of handlers and will provide a mechanism to allow handlers to collaborate with service clients and service endpoint implementations.
- Versioning and Evolution of Web Services
- JAX-RPC 2.0 will describe techniques and mechanisms to ease the burden on developers when creating new versions of existing services.
- Backwards Compatibility of Binary Artifacts
- JAX-RPC 2.0 will not preclude preservation of backwards binary compatibility between JAX-RPC 1.x and 2.0 implementation runtimes.