XML-RPC

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

O XML-RPC é um protocolo de chamada de procedimento remoto (CPR) que utiliza XML para codificar suas chamadas e HTTP como um mecanismo de transporte.

É um protocolo simples, definido com poucas linhas de códigos em oposição com a maioria dos sistemas de RPC, onde os documentos padrões são freqüentemente com milhares de páginas e exige apoio de softwares para serem usados.

História[editar | editar código-fonte]

Foi criado por Dave Winer na UserLand Software em 1998 na Microsoft. No entanto, a Microsoft apoiou pouco o seu desenvolvimento adicionando poucas funcionalidades. O padrão tornou-se o SOAP.

Uso[editar | editar código-fonte]

O XML-RPC trabalha enviando uma requisição HTTP para um servidor que implementa o protocolo. O cliente neste caso normalmente é um software querendo chamar um único método de um sistema remoto. Vários parâmetros de entrada podem ser passados para o método remoto, mas apenas um valor é retornado. Os tipos de parâmetros permitem o aninhamento de parâmetros em mapas e listas, assim estruturas maiores podem ser transportadas. Por isso, o XML-RPC pode ser usado para transportar objetos ou estruturas como parâmetros de entrada e saída.

A identificação de clientes para propósitos de autorização pode ser alcançada utilizando os métodos populares de segurança do HTTP. A autenticação básica de acesso é utilizada para identificação, HTTPS é usado quando a identificação (através de certificados) e mensagens criptografadas são necessárias. Ambos os métodos podem ser combinados.

Em comparação ao REST, onde os recursos são transportados, XML-RPC é destinado à chamar métodos.

O XML-RPC é mais simples de usar e entender que o SOAP porque:

  • permite apenas um método de serialização de método, enquanto que SOAP define várias codificações diferentes;
  • tem um modelo de segurança mais simples;
  • não exige (nem suporta) a criação de descrições de serviço WSDL, apesar de o XRDL fornecer um subconjunto simples de funcionalidade fornecida pelo WSDL.

O JSON-RPC é similar ao XML-RPC.