XML-RPC

XML-RPC

XML-RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisión de mensajes.[1]

Es un protocolo muy simple ya que solo define unos cuantos tipos de datos y comandos útiles, además de una descripción completa de corta extensión. La simplicidad del XML-RPC está en contraste con la mayoría de protocolos RPC que tiene una documentación extensa y requiere considerable soporte de software para su uso.

Fue creado por Dave Winer de la empresa UserLand Software en asociación con Microsoft en el año 1998. Al considerar Microsoft que era muy simple decidió añadirle funcionalidades, tras las cuales, después de varias etapas de desarrollo, el estándar dejó de ser sencillo y se convirtió en lo que es actualmente conocido como SOAP. Una diferencia fundamental es que en los procedimientos en SOAP los parámetros tienen nombre y no interesan su orden, no siendo así en XML-RPC.[2]

Contenido

Tipos de Datos

Según la especificación de XML-RPC,[3] los principales tipos de datos son:

Nombre Tags de ejemplo Descripción
array
 <array>
   <data>
     <value><i4>1404</i4></value>
     <value><string>Algo aquí</string></value>
     <value><i4>1</i4></value>
   </data>
 </array>
Array de valores, sin almacenar claves
base64
 <base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64>
Datos binarios codificados en base 64
boolean
 <boolean>1</boolean>
Valor lógico (0 o 1)
date/time
 <dateTime.iso8601>19980717T14:08:55</dateTime.iso8601>
Día y hora
double
 <double>-12.53</double>
Número de punto flotante de doble precisión
integer
 <i4>42</i4>

o

 <int>42</int>
Número entero
string
 <string>Hola mundo</string>
String (cadena) de caracteres. Debe seguir la codificación XML.
struct
 <struct>
   <member>
     <name>foo</name>
     <value><i4>1</i4></value>
   </member>
   <member>
     <name>bar</name>
     <value><i4>2</i4></value>
   </member>
 </struct>
Array de valores, almacenando claves
nil
 <nil/>
Valor nulo; una extensión XML-RPC

Ejemplos

  • Una invocación XML-RPC podría ser:
  <?xml version="1.0"?>
  <methodCall>
    <methodName>org.wikipedia.intercambioDatos</methodName>
    <params>
      <param>
         <value><i4>360</i4></value>
      </param>
      <param>
         <value><i4>221</i4></value>
      </param>
    </params>
  </methodCall>
  • Una respuesta a la invocación:
  <?xml version="1.0"?>
  <methodResponse>
    <params>
      <param>
        <value><string>Intercambio datos nro. 360 por 221</string></value>
      </param>
    </params>
  </methodResponse>

Implementaciones

Existen implementaciones para varios sistemas operativos, lenguajes de programación, licencias comerciales y de software libre:[4] C/C++, Delphi, Frontier, Guile, Java, Lisp, Microsoft .NET, Perl, PHP, Python, Real Basic, Rebol, Tcl, WebObjects y Zope.

Algunas implementaciones conocidas son:

  • Apache XML-RPC,[5] una implementación en Java.
  • XMLRPC-EPI,[6] una implementación C.
  • XML-RPC-C,[7] una implementación para C y C++.

Referencias

  1. Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) Programming Web Services with XML-RPC O'Reilly. First Edition. Foreword by Dave Winer. (en inglés)
  2. Dave Winer. (Mar 31, 2001). Heads up: A key difference between SOAP and XML-RPC UserLand Software, Inc. (en inglés)
  3. Dave Winer. (June 15, 1999) XML-RPC Specification UserLand Software, Inc. (en inglés)
  4. Dave Winer. (December 17, 2003) XML-RPC Implementations UserLand Software, Inc. (en inglés)
  5. Apache Software Foundation. Apache XML-RPC (en inglés).
  6. Epinions, Inc. XMLRPC-EPI sourceforge.net (en inglés).
  7. Eric Kidd. XML-RPC for C and C++ sourceforge.net (en inglés).

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • XML-RPC — is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism. Simon St. Laurent, Joe Johnston, Edd Dumbill. (June 2001) Programming Web Services with XML RPC. O Reilly. First Edition. ] OverviewXML RPC… …   Wikipedia

  • XML-RPC — (сокр. от англ. Extensible Markup Language Remote Procedure Call  XML вызов удалённых процедур)  стандарт/протокол вызова удалённых процедур, использующий XML для кодирования своих сообщений и HTTP в качестве транспортного… …   Википедия

  • XML RPC — (сокр. от англ. Extensible Markup Language Remote Procedure Call XML вызов удалённых процедур) стандарт/протокол вызова удалённых процедур, основанный на SOAP, отличается исключительной простотой применения. XML RPC, как и любой другой интерфейс… …   Википедия

  • XML-RPC — (Extensible Markup Language Remote Procedure Call) ist eine Definition zum Methodenaufruf (oder auch Funktionsaufruf) durch verteilte Systeme. Bei der Spezifikation wurde darauf Wert gelegt, dass eine Implementierung von XML RPC ohne großen… …   Deutsch Wikipedia

  • Xml-rpc — est un protocole RPC (Remote procedure call), une spécification simple et un ensemble de codes qui permettent à des processus s exécutant dans des environnements différents de faire des appels de méthodes à travers un réseau. XML RPC permet d… …   Wikipédia en Français

  • XML-RPC — est un protocole RPC (Remote procedure call), une spécification simple et un ensemble de codes qui permettent à des processus s exécutant dans des environnements différents de faire des appels de méthodes à travers un réseau. XML RPC permet d… …   Wikipédia en Français

  • RPC — can refer to:Organizations* Revolutionary Policy Committee, a faction within UK Independent Labour Party during the 1930s. * Rail Passengers Council, a network established by the Parliament of the United Kingdom to protect and promote the… …   Wikipedia

  • XML Interface for Network Services — Infobox Software name = XINS caption = developer = Orange Nederland Breedband B.V. released = ? frequently updated = yes programming language = ? operating system = Cross platform language = ? genre = Web services license = BSD website =… …   Wikipedia

  • RPC — Para el Estado socialista de China continental, véase República Popular China. El RPC (del inglés Remote Procedure Call, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota …   Wikipedia Español

  • .xml — Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Extensible Markup Language Dateiendung .xml …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”