JAX-RPC

O JAX-RPC representa uma API Java™ para RPCs baseados em XML, também conhecidos como JSR 101. Trata-se de uma especificação que descreve Interfaces de Programação da Aplicação Java (APIs) e convenções para criar serviços Web e clientes de serviços Web que utilizam chamadas de procedimento remotas (RPC) e XML. Normaliza a linguagem Java para WSDL e a WSDL para correlações Java e fornece as APIs de núcleo para desenvolvimento de serviços Web e de clientes de serviços Web na plataforma Java. Frequentemente utilizado num modelo cliente/servidor distribuído, um mecanismo RCP permite que os clientes executem procedimentos noutros sistemas.

A edição actual do JAX-RPC requer um suporte de SOAP em vez de HTTP por questões de interoperacionalidade. A especificação SOAP define a estrutura de mensagens, regras de codificação e convenções para a permuta de informação no modelo de programação do RPC. Estas chamadas e respostas são transmitidas como sendo mensagens SOAP em vez de HTTP. Nesta edição, o JAX-RPC suporta o SOAP 1.1 e o HTTP 1.1. Para obter mais informações sobre o SOAP, consulte SOAP.

Embora os mecanismos de tempo de execução subjacentes (por exemplo, de Java para a seriação WSDL, de WSDL para a anulação de seriação Java, protocolo e transporte) sejam bastante complexos, o API omite esta complexidade com o programador de aplicações. No lado do servidor, o programador pode fornecer a Interface Terminal de Serviço (SEI); uma Interface Terminal de Serviço pode igualmente ser criada através da utilização dos assistentes de serviços Web. Uma Interface Terminal de Serviço (SEI) é uma interface escrita na linguagem de programação Java que especifica os procedimentos remotos de um serviço Web. O programador fornece igualmente a implementação de um serviço Web, sob a forma de uma ou mais classes Java que implementam métodos com a mesma assinatura dos métodos na Interface Terminal de Serviço. Os programas de cliente também são fáceis de codificar. Um cliente cria um proxy, um objecto local que represente uma implementação de serviço e a Interface Terminal de Serviço (SEI) e, em seguida, invoca métodos no proxy.

O JAX-RPC é extremamente interoperacional: um cliente JAX-RPC pode aceder a um serviço Web que não está a ser executado na plataforma Java e vice-versa. Esta flexibilidade é possível já que o JAX-RPC utiliza o SOAP em vez do HTTP e utiliza também a Linguagem de Descrição de Serviços Web (WSDL - Web Service Description Language). O JAX-RPC foi concebido para suportar a WS-I.

Para mais informações sobre o JAX-RPC, consulte especificações oficiais básicas do JSR 101.