SOAP
SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML.
SOAP fue creado por Microsoft, IBM y otros.
Este protocolo está basado en XML y esta compuesto de:
- Sobre: el cual define qué hay en el mensaje y cómo procesarlo.
- Conjunto de reglas de codificación: para expresar instancias de tipos de datos.
- La Convención: para representar llamadas a procedimientos y respuestas.
Características
- Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el desarrollo).
- Neutralidad (SOAP puede ser utilizado sobre cualquier protocolo de transporte como HTTP, SMTP, TCP o JMS).
- Independencia (SOAP permite cualquier modelo de programación).
Ejemplo de uso
Como ejemplo de cómo el modelo SOAP pueda ser utilizado, consideraremos un mensaje SOAP que podría ser enviado a un web service para realizar la búsqueda de algún precio en una base de datos, indicando para ello los parámetros necesitados en la consulta. El servicio podría retornar un documento en formato XML con el resultado, un ejemplo, precios, localización o características. Teniendo los datos de respuesta en un formato estandarizado procesable (en inglés "parseable"), éste puede ser integrado directamente en un sitio Web o aplicación externa.
Mensaje SOAP, XML
Ejemplo Mensaje SOAP
Ventajas de SOAP
- Debido al uso de XML permite invocar procedimientos remotos de muchos lenguajes, por lo tanto, presenta una gran interoperabilidad.
- Al utilizar una comunicación vía HTTP es fácilmente escalable, además de ser casi siempre permitido por los cortafuegos.
- Puede ser implementado utilizando cualquier lenguaje y ejecutado en cualquier plataforma.
- Es posible utilizarlo mediante usuario anónimo y mediante autentificación.
- Es posible transmitirlo mediante cualquier protocolo de transporte capaz de transmitir texto, típicamente HTTP o SMTP.
Desventajas de SOAP
- Debido al uso de XML para el paso de mensajes, SOAP es considerablemente más lento que otros middleware como CORBA ya que los datos binarios se codifican como texto. Para contrarrestar este punto débil en el caso de XML con código binario incrustado se desarrolló un método optimizado de transmisión de mensajes.
- Depende del WSDL (Web Services Description Language).
- Al contrario que Java, PHP o Python ciertos lenguajes no ofrecen un apoyo adecuado para su uso ya sea a nivel de integración o de soporte IDE.


0 comentarios:
Publicar un comentario