Este artigo não cita fontes confiáveis. (Setembro de 2021) |
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
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
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.