Comparativa de Protocolos de Comunicación - Comparativa de Protocolos de Comunicación
Comparativa de Protocolos de Comunicación:
SOAP VS RMI y CORBA
Autor: José Miguel Muño Tezcucano.
Pasante de la carrera en Ingeniería en Computación.
30 Sep 2006
Al hablar de protocolos de comunicación nos referimos a su capacidad de llamar funciones remotas, para permitir que dos programas se comuniquen de manera muy similar a la invocación de una página Web.
Si bien en el pasado ya se ha hablado de ello de manera superficial, ahora es momento de hacer una comparativa entre ellos para aunar mas en las ventajas que SOAP ofrece sobre, CORBA y RMI.
1.1 Protocolo de Transporte.
Es esta sección el tema que se analizo fue el protocolo de transporte por el cual las peticiones eran enviadas, IIOP es utilizado por CORBA, JRMI por RMI y finalmente SOAP utiliza http.
La comparativa fue difícil de hacer ya que los tres, enviaran y recibían peticiones, pero SOAP destaco al ser el único que puede atravesar firewalls y así quitar el problema de la invocación de módulos remotos.
1.2 Grado de Complejidad.
Cuando se estudian las características de una plataforma, muchas veces se pasa por alto el grado de complejidad, en su aprendizaje, pero este no es el caso, en el estudio y análisis que se hizo, el resultado que se obtuvo fue el siguiente: CORBA resulto ser un protocolo sumamente difícil de aprender, complejo por su IDL y su incompatibilidad entre aplicaciones.
En lo que concierne a RMI y SOAP fue un asunto diferente, JRMP es un protocolo nativo de RMI, fácil de utilizar por su plataforma echa en Java al igual que RMI, reduciendo a si su grado de complejidad al mínimo, (recordemos que todo lo relacionado con RMI esta hecho en Java), finalmente tenemos a SOAP, es que es un protocolo de comunicación relativamente fácil ya que basado en XML, (recordemos que este lenguaje de programación peca de ser sumamente ordenado) que permite la comunicación entre componentes mediante HTTP.
1.3 Adaptación a los lenguajes de Programación.
Si bien en la actualidad “adaptación” es la palabra clave para muchas cosas, esta no pasa inadvertida para los protocolos de comunicación. Para que un protocolo pueda ser aceptado de manera global por los diferentes lenguajes y plataformas debe ser abierto y aceptar programas u aplicaciones en distintos lenguajes.
Para CORBA esto no es difícil pero peca en los estándares que maneja ya que al no ser estándares conocidos se limita, por otro lado RMI solo puede correlacionarse con programas, métodos y aplicaciones hechos en java, lo que lo limita en un alto grado, SOAP por otra parte no esta peleado con ninguna plataforma de desarrollo, así que no tiene problema y se considera un protocolo abierto y adaptable.
1.4 Soporte de parámetros de entrada.
Cuando nos referimos a parámetros de entrada, nos estamos refiriendo a una invocación mas especifica en la petición remota. CORBA soporta parámetros de entrada al igual que SOAP, este ultimo utilizándolos como referencia para la invocación de sus métodos remotos, RMI por otro lado no, ya que este protocolo manda a llamar a todo el método remoto sin utilizar un parámetro de entrada como referencia especifica a utilizar.
1.5 Lenguaje de especificación de Servicios.
IDL es el lenguaje específico de Servicios que se ha creado para implementar las especificaciones en CORBA, IDL se ofrece la sintaxis necesaria para la invocación de los métodos que se requieren de manera remota. RMI por otro lado carece de un lenguaje de especificación de servicios, SOAP utiliza WSDL que describe los tipos de datos, las funciones exportadas y sus mensajes de petición y respuesta de manera si no sencilla, entendible y bien estructura (recordemos que WSDL también utiliza XML).
1.6 Invocación de Métodos.
Los tres protocolos de comunicación obviamente tienen que invocar métodos remotos pero hay algunas diferencias entre ellos y la manera de hacerlo.
SOAP sobresale por su manera de invocación de sus métodos remotos, ya que lo hace de manera ordenada y estructurada (utiliza HTTP y XML, HTTP+XML= SOAP).
1.7 Capacidad de implementación sobre el protocolo HTTP.
Esta es una de las capacidades mas sobresalientes de SOAP, y una de las razones por que es considerado un estándar en la Web, SOAP en comparación con sus rivales (CORBA, RMI) si puede hacer uso de Http, lo que con lleva, a descartar el aprovechamiento de Internet.
1.8 Capacidad de comunicación entre sus componentes.
En este punto se analiza la capacidad de adaptación entre sus componentes es decir en la estructura misma, como ya hemos expuesto RMI queda descartado al utilizar solamente Java como lenguaje de desarrollo, por otra parte CORBA aunque tiene la capacidad de ser libre entre sus componentes, es muy problemático y complejo para permitir la interoperabilidad entre distintos lenguajes, arquitecturas y sistemas operativos.
SOAP, por definición de estructura con lleva la interoperabilidad entre distintos lenguajes en sus raíces, si bien es parecido a CORBA, lo supera en la facilidad de interoperabilidad con la que trabaja.
1.9 Detección del Firewall.
Al hablar de un firewall nos referimos a seguridad, aunque CORBA y RMI sean completos en algunos aspectos, no pueden compararse a SOAP, ya que es el único protocolo, capas de utilizar HTTP como medio de transporte para sus mensajes, lo que le da invulnerabilidad en la detección del firewall que piensa que los mensajes en SOAP son una simple comunicación HTTP, que pasa el muro de fuego sin problemas.
1.10 Comentarios y Conclusiones
Si bien SOAP en comparación con CORBA y RMI es un protocolo adoptado por el consorcio W3C y varias empresas, sus meritos propios la hacen destacar por sobre otros.
Sus características más notables son:
· Protocolo de Transporte.
· Grado de Complejidad.
· Soporte de parámetros de entrada.
· Capacidad de implementación sobre el protocolo HTTP.
· Capacidad de comunicación entre sus componentes.
· Capacidad de pasar inadvertido por el firewall.
Cada uno de estos puntos ya fueron aclarados con más detenimiento en sub. temas anteriores, lo que nos deja como conclusión la superioridad de SOAP en cuanto a la invocación de métodos remotos, sencillez, facilidad de aprendizaje, capacidad de comunicación e implementación sobre HTTP.
En este artículo hemos estudiado los diferentes estándares para la creación de los Servicios Web y las tecnologías que existen para desarrollarlos desde un punto de vista objetivo a manera de investigación en cada una de estas tecnologías.
Si bien muchas de estas tecnologías de desarrollo son nuevas, en la creación e implementación, esto no debe de afectar al desarrollo de los Servicios Web.
Hemos estudiado con mas ahínco el protocolo de comunicación SOAP y hemos demostrado su superioridad, y el por que hoy por hoy es el protocolo de comunicación mas empleado en los Servicios Web.
1.11 Bibliografía.
Protocolos de comunicación.
Corba
Corba
http://www.dcc.uchile.cl/~jbarrios/J2EE/node83.html
Protocolos de comunicación
Oscar Blanco Lavilla
http://www.montejava.es/articulos/j2eevsnet2.html
Cursos sobre SOAP, WSDL y otras tecnologías Web.
Schools
Web Services
Interoperabilidad de los servicios Web y SOAP
Keith Ballinger
Microsoft Corporation
Enero de 2003
Servicios Web.
W3C
SOAP y WebServices.
MSDN ESPAÑOL
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art51.asp
Servicio Web SOAP con Visual Studio 2003 (Visual C#)
Autor: Carlos Carmona
http://www.scourdesign.com/articulos/tutoriales/net/2.php
Opiniona sobre 'Comparativa de Protocolos de Comunicación - Comparativa de Protocolos de Comunicación' (3)
Opina sobre este artículo |

