University of Cincinnati logo and link  
JAX-RPC
 
  UC ingot RPC, or Remote Procedure Call, was one of the first types of distributed computing.  With JAX-RPC, our consumer can call a producer method remotely.
  • From the tutorial: 
    • "An RPC-based Web service is a collection of procedures that can be called by a remote client over the Internet. For example, a typical RPC-based Web service is a stock quote service that takes a SOAP (Simple Object Access Protocol) request for the price of a specified stock and returns the price via SOAP. "
  • A Web Service describes itself with a WSDL file.  The consumers can see what is available, and how to call available methods, with this WSDL file.
  • The producer side of the web service is deployed in a servlet container, such as Apache Tomcat. 
  • The programming language used to develop the producer and consumer of the Web Service is not important, as long as both the producer and the consumer conform to Web Services (SOAP and WSDL) standards.
  • Like RMI, many of the details of the RPC, such as marshalling and unmarshalling data, are handled for you.  You simply have to call a method as you would locally.  
    • JAX-RPC is a good lightweight alternative to the Java API for XML Messaging, or JAXM.
  • Like the RMI Registry, Web Services register themselves with a registry, such as UDDI.
  • You can use WSDL to create stubs.  As a matter of fact, provide the wscompile tool the WSDL, and it will create the stubs for you.
  • Skeletons are back - in a way.  This time they are called ties.  The server uses ties to communicate with a remote client. The wsdeploy tool can create these ties for you.
    • After these are created and the programs are running, the JAX-RPC service converts the consumer's method call into a SOAP request, and the server translates this request into a server-side method call.  The returned data is processed in a similar manner.
 Creating a Web Service