Diferencias Clave entre SOAP y REST en Web Services
Classified in Spanish
Written on in
English with a size of 2.38 KB
¿Qué es un ESB y su Historia?
ESB: Sistema de mensajería empresarial que se encarga del intercambio de mensajes en formato XML. Estos mensajes pueden ser redirigidos y transformados de manera inteligente a través del bus.
Historia:
- Integración de aplicaciones (EAI): Necesidad de integrar los sistemas independientes ERP y otros.
- Implementaban una topología en estrella, con adaptadores que fueron mutando a buses.
Arquitectura para Servicios Web: SOAP y REST
En el momento en que decidimos desarrollar nuestros servicios web, tenemos que tomar la decisión de qué arquitectura será la más apropiada para nuestro sistema y el uso que vayamos a darle. A continuación, se presentan las características de SOAP y REST, dos técnicas de arquitectura de software orientadas a Web Services.
SOAP (Simple Object Access Protocol)
Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambios de datos XML. El punto identificativo de SOAP es que las operaciones son definidas como puertos WSDL (Web Services Description Language).
Es por esto que será aconsejable utilizar este protocolo en entornos donde se establecerá un contrato formal y donde se describirán todas las funciones de la interfaz, así como el tipo de datos utilizados tanto de entrada como de salida. El lenguaje WSDL nos permitirá definir claramente cualquier detalle de las funciones de nuestro WS.
REST (Representational State Transfer)
Es un estilo de arquitectura de software para sistemas distribuidos tales como la web. A diferencia de SOAP, se centra en el uso de los estándares HTTP y XML para la transmisión de datos sin la necesidad de contar con una capa adicional.
Las operaciones (o funciones) se solicitarán mediante GET, POST, PUT y DELETE, por lo que no requiere de implementaciones especiales para consumir estos servicios. Además, se podrá utilizar JSON en vez de XML como contenedor de la información, por lo que será aconsejable utilizar este estilo cuando busquemos mejorar el rendimiento o cuando dispongamos de escasos recursos, como sería el caso de los dispositivos móviles.