Antes de marcharnos de vacaciones, vamos a hablar un poco de los servicios web.

En las aplicaciones corporativas actuales, es casi inevitable encontrarnos con entornos en los cuales es necesario comunicar diferentes plataformas, exponiendo datos o funcionalidades.

Supongamos la siguiente infraestructura de aplicación:

En esta infraestructura nos encontramos con diferentes entornos, plataformas, lenguajes y limitaciones. Para poder comunicar estos elementos entre sí, deberemos recurrir a los servicios web. La cuestión es… ¿SOAP o REST? Para intentar arrojar una pequeña luz a la respuesta, vamos a ver qué implica cada uno de estos servicios.

Servicios Web: SOAP

SOAP es el acrónimo de Simple Object Access Protocol y su cometido es exponer una serie de operaciones de negocio a modo de servicios. El modo de transmisión de datos entre el cliente y el servidor es XML.

En ocasiones, los servicios web SOAP pueden resultar más pesados en las aplicaciones debido a que el XML que se transmite, no es un XML “limpio”. Es decir, se envía un XML con una estructura determinada, lo que en algunas situaciones implica procesar la lectura de los datos como una tarea tediosa.

Por otro lado, el protocolo HTTP estándar hace más fácil al modelo SOAP transmitirse a través de firewalls y proxies.

Servicios Web: REST

REST es el acrónimo de Representational State Transfer y describe un conjunto de principios de arquitectura en los cuales los datos se transmiten a través de una interfaz estandarizada mediante HTTP.

Bien, pero ¿qué tipo de servicios elijo?

REST es más sencillo de desarrollar, desplegar y consumir. Ya que se hacen llamadas directamente a datos. Además el trabajo con REST proporciona más flexibilidad y escalabilidad, por lo que se convierte en una opción muy buena para trabajar con tecnologías como Javascript.

SOAP es una buena opción si lo que nos interesa es reforzar la seguridad del servicio. Ya que además de aceptar SSL aporta por su parte WS-Security.

En los siguientes artículos explicaré cómo crear servicios REST y SOAP en diferentes tecnologías.

¡Hasta la próxima!

Rupert.