XML : XMLRPC y SOAP ("Web-Services")

XMLRPC y SOAP son dos mecanismos que han surgido para reducir las implicaciones de diseñar procedimientos remotos . A diferencia de otras tecnologías similares como CORBA,DCOM e inclusive RMI, XMLRPC y SOAP permiten la ejecución de procedimientos remotos a través de diversos lenguajes y sistemas operativos.

Diversos sistemas operativos y lenguajes ? Esto ya lo logra RMI y CORBA, no ? Si, pero la diferencia estriba en que el intercambio de información se logra mediante XML y HTTP .

Más allá de CORBA y RMI

Cuando se utiliza RMI, CORBA o DCOM siempre se debe utilizar marshalling | unmarshalling , sin embargo, el utilizar marshalling y unmarshalling tiene sus consecuencias, si utiliza CORBA: tanto el cliente como el servidor deben utilizar el mismo ORB("Objet Request Broker") ,y si utiliza RMI: el cliente y servidor deben operar con Java.

Las limitaciones se hacen más evidentes cuando se desean invocar procedimientos remotos en Perl,Python,C++,Java bajo Linux,AIX,Windows o Solaris. Será posible coordinar la utilización del mismo ORB("Objet Request Broker") o Java ? En un ambiente como Internet seguramente NO.

Para lograr invocar procedimientos remotos XMLRPC y SOAP utilizan XML y el protocolo HTTP , y esto otorga lo siguiente:

Ventajas
  • Debido a que XML es utilizado para solicitar y enviar requisiciones de procedimientos remotos , se emplea uno de los estándares más utilizados e interoperable de la industria.

  • Esta misma interoperabilidad de XML permite algo sin precedente en un sistema de computo, el invocar procedimientos remotos transparentemente de distintos lenguajes que pueden variar desde Java, Perl, C++, Python y otros más .

  • El utilizar HTTP elimina la conocida restricción de procedimientos remotos: el firewall , CORBA y RMI requieren de su propio puerto TCP lo cual implica configuración adicional a un firewall, debido a que XMLRPC y SOAP operan bajo HTTP (puerto 80) casi siempre es permitido este tipo de trafico (Web) por el firewall.

Desventajas
  • El utilizar XML para enviar las requisiciones de procedimientos remotos puede ser excesivo, esto se debe a que la requisición debe ser más expresiva por ende, ocupa mayor ancho de banda para ser transmitida. Lo anterior no es el caso cuando se utiliza RMI o CORBA, ya que utilizar marshalling y unmarshalling permite que la requisición sea más pequeña.

Links:
  • Guia de Axis : Descripción e Instalación sobre Axis , una implementación Open-Source de SOAP.
  • Actualizado : 2005/10/20 22:25

Terminos Legales de Contenido ©2000-2008 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com