JAX-RPC son las siglas de Java API for XML-based RPC (API de Java para RPC basado en XML), también conocido como JSR 101. Es una especificación que describe las interfaces de programación de aplicaciones (API) de Java y las convenciones para crear servicios Web y clientes de servicio Web que utilizan RPC (llamadas a procedimiento remoto) y XML. Estandariza las correlaciones de Java con WSDL y de WSDL con Java, asimismo proporciona las API principales para el desarrollo de servicios Web y clientes de servicio Web en la plataforma Java. El mecanismo de RPC, a menudo utilizado en modelos de cliente/servidor distribuido, permite que los clientes ejecuten procedimientos en otros sistemas.
El release actual de JAX-RPC requiere el soporte de SOAP en HTTP para la interoperatividad. La especificación SOAP define la estructura de mensajes, las normas de codificación y las convenciones para intercambiar información en el modelo de programación de RPC. Estas llamadas y respuestas se transmiten como mensajes SOAP en HTTP. En este release, JAX-RPC admite SOAP 1.1 y HTTP 1.1. Si desea más información sobre SOAP, consulte el apartado SOAP.
Aunque los mecanismos de ejecución subyacentes (por ejemplo, la serialización de Java a WSDL, la deserialización de WSDL a Java, el protocolo y el transporte) son muy complejos, la API oculta esta complejidad al desarrollador de aplicaciones. En el servidor, el desarrollador puede proporcionar una SEI (Service Endpoint Interface); de modo alternativo, se puede crear una SEI con los asistentes de servicios Web. Una SEI es una interfaz escrita en el lenguaje de programación Java que especifica los procedimientos remotos de servicios Web. El desarrollador también proporciona la implementación de servicios Web, mediante una o varias clases Java que implementan métodos de la misma firma que los de la SEI. Los programas cliente también son sencillos de codificar. Un cliente crea un proxy, un objeto local que representa la implementación del servicio y la SEI, luego simplemente invoca métodos en el proxy.
JAX-RPC es muy interoperativo: los clientes JAX-RPC pueden acceder a servicios Web que no se ejecutan en la plataforma Java y viceversa. Esta flexibilidad es posible porque JAX-RPC utiliza SOAP en HTTP y el lenguaje WSDL (Web Service Description Language). Se ha diseñado JAX-RPC para admitir WS-I.
Si desea más información sobre JAX-RPC, consulte las especificaciones oficiales de JSR 101.