Anibal Díaz

Experto en Soap

Los servicios SOAP o también conocidos simplemente como Web Services, son servicios que basan su comunicación bajo el protocolo SOAP (Simple Object Access Protocol) el cual es definido por Wikipedia como «protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML». Por lo tanto, queda claro que la comunicación se realiza mediante XML, lo que nos debe de quedar muy claro, pues es en este aspecto en el que radican las principales diferencias contra REST.

Los servicios SOAP funcionan, por lo general, a través de un protocolo HTTP que es lo más común cuando invocamos un Web Services, sin embargo, SOAP no está limitado a este protocolo si no que puede ser enviado por FTP, POP3, TCP, Colas de mensajería (JMS, MQ, etc). Pero como se menciona previamente, HTTP es el protocolo principal.

Aunque se podrían analizar concienzudamente las ventajas y desventajas, la realidad es que estas pueden ser lo contrario dependiendo del punto de vista y la situación concreta del problema a resolver por lo que lo más inteligente será realizar siempre un breve análisis sobre cuándo utilizar SOAP.

Bajo muchas perspectivas SOAP sigue siendo el mejor protocolo para la comunicación de Server to Server o Partner to Partner pues es un protocolo mucho más robusto, tiene un tipiado mucho más fuerte, permite agregar metadatos mediante los atributos (cosa que JSON no tiene), permite definir espacios de nombre, y de esta forma evita la ambigüedad. Por lo mismo, SOAP es un formato más pesado, tanto en tamaño como en procesamiento, pues los XML tiene que ser parseado a un árbol DOM, resolver espacios de nombre (namespaces) antes de poder empezar a procesar el documento.

Los XML además tienen métodos de validación muy potentes y ampliamente utilizados, a diferencia de JSON, el cual, si tiene forma de validar, pero no son tan potente y su utilización es pobremente utilizada (no significa que en el futuro no se estandarice su uso).

Nótese que, SOAP solo soporta formato XML, por lo que cuando lo que se necesita es flexibilidad y un performance superior, se puede optar por REST.

Experto Soap

Aníbal Díaz: el experto en SOAP que pasa a prestar sus servicios a Camaltec

Contar con un experto en la materia podría ser toda una suerte para clientes y profesionales, por ello en Camaltec se incorpora Aníbal Díaz ofreciendo todas sus capacidades así como la especialidad en SOAP.

Aníbal Díaz es un programador de profesión con más de 13 años de experiencia en la gestión de proyectos informáticos.

Se maneja en el desarrollo web, en las bases de datos SQL y NoSQL, las aplicaciones y software a medida o las apps para iOS y Android, siendo su principal baza la experticia en SOAP.

SOAP, REST y SOA

Resulta crucial aclarar un error muy común que puede hacer que se distorsione por completo el entendimiento con respecto a los Web Services, y es que SOA no es lo mismo que SOAP y tener Web Services no significa que tenemos SOA. Conocer la arquitectura SOA es un tema completamente diferente y no se deben confundir estas dos definiciones.

Pues bien, ya con este punto aclaro, se debe entender que SOA (Service-Oriented Architecture) es un tipo de Arquitectura de Software y no una tecnología o producto. SOA es una arquitectura que se base en la integración de aplicaciones mediante Servicios, los servicios representan la medida más granular de la arquitectura, sobre la que se construyen otros artefactos como: composiciones, proxys, fachadas, BPM e incluso API completas. Ahora bien, si SOA tiene como médula espinal los servicios, ¿no son SOAP y REST servicios? Resulta que no. Entonces si REST y SOAP son en realidad servicios, entonces que diferencia existe entre las dos, cual es el propósito de que existan dos tecnologías que aparentemente hacen lo mismo. Primero entendamos que SOAP y REST siguen la misma Arquitectura (SOA), por lo que las dos deberían de apegarse a los mismos principios.