Sun Java Solaris Communities My SDN Account Join SDN
 
XML

Java API for XML-Based RPC (JAX-RPC) Overview

 
API Specifications
BluePrints
Documentation
Technical Articles & Tips
 
Forums
Bug Database
 
Tutorial
Online Sessions & Courses
 
 
Contents
 
The Purpose of JAX-RPC
Open Java Technology Standard
Products and Implementations
Roadmap for Learning
 
The Purpose of JAX-RPC
JAX-RPC is for Web services interoperability across heterogeneous platforms and languages. This makes JAX-RPC a key technology for Web services integration.
 
You can use the standard JAX-RPC programming model to develop Web service clients and endpoints based on SOAP 1.1. A Web service endpoint is described using a Web Services Description Language (WSDL) document. JAX-RPC enables JAX-RPC clients to invoke Web services developed across heterogeneous platforms. In a similar manner, JAX-RPC Web service endpoints can be invoked by heterogeneous clients. JAX-RPC requires SOAP and WSDL standards for this cross-platform interoperability.

JAX-RPC provides an easy to develop programming model for development of SOAP based Web services. You can use the RPC programming model to develop Web service clients and endpoints. For typical scenarios, you are not exposed to the complexity of the underlying runtime mechanisms (for example, SOAP protocol level mechanisms, marshalling and unmarshalling). A JAX-RPC runtime system (a library) abstracts these runtime mechanisms for the Web services programming model. This simplifies Web service development.
 
JAX-RPC provides support for WSDL-to-Java and Java-to-WSDL mapping as part of the development of Web service clients and endpoints. In a typical development environment, tools provide these mapping functionality. This further simplifies the application development.
 
JAX-RPC enables a Web service endpoint to be developed using either a Java Servlet or Enterprise JavaBeans (EJB) component model. A Web service endpoint is deployed on either the Web container or EJB container based on the corresponding component model. These endpoints are described using a WSDL document. This WSDL document can be published in public or private registry, though this is not required. A client uses this WSDL document and invokes the Web service endpoint. A JAX-RPC client can use stubs-based, dynamic proxy or dynamic invocation interface (DII) programming models to invoke a heterogeneous Web service endpoint.
 
diagram
 
JAX-RPC requires SOAP over HTTP for interoperability. JAX-RPC provides support for SOAP message processing model through the SOAP message handler functionality. This enables developers to build SOAP specific extensions to support security, logging and any other facility based on the SOAP messaging. JAX-RPC uses SAAJ API for SOAP message handlers. SAAJ provides a standard Java API for constructing and manipulating SOAP messages with attachments.
 
JAX-RPC provides support for document-based messaging. Using JAX-RPC, any MIME-encoded content can be carried as part of a SOAP message with attachments. This enables exchange of XML documents, images and other MIME types across Web services.
 
JAX-RPC supports HTTP level session management and SSL based security mechanisms. This enables you to develop secure Web services. More advanced SOAP message-level security will be addressed in the evolution of JAX-RPC technology.
 
Open Java Technology Standard
JAX-RPC has been developed as a standard specification under the Java Community process as the JSR-101. The JAX-RPC specification is a result of collaboration of multiple vendors under the JCP expert group. Multiple vendors provide compatible implementations of the JAX-RPC standard. JAX-RPC enables portability of Web services across these multiple compatibility implementations. This gives you a huge benefit as a developer.
 
Products and Implementations
Sun provides a product-quality reference implementation of JAX-RPC that is bundled as part of the Java Web Services Developer Pack (Java WSDP). This reference implementation will also be available as part of the J2EE platform reference implementation.

Sun Java System Application Server and Sun Java Studio IDE provide support for development and deployment of JAX-RPC Web service endpoints and clients.

JAX-RPC implementation from Sun has been tested for interoperability with multiple other products in the Web Services Interoperability Organization (WS-I) and SOAPBuilders community. Please see Sun's participation in WS-I and SOAPBuilders for more details.
 
Roadmap for Learning



Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.