SOAP

Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML.

Características

Sobre (envelope): 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.

El protocolo SOAP tiene tres características principales

Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el desarrollo).

Neutralidad (bajo protocolo de transporte TCP puede ser utilizado sobre cualquier protocolo de aplicación como HTTP, SMTP o JMS).

Independencia (permite cualquier modelo de programación).

Ventajas y desventajas

Ventajas

Debido al uso de XML permite invocar procedimientos remotos de muchos lenguajes, por lo tanto, presenta una gran interoperabilidad.

Puede ser implementado utilizando cualquier lenguaje y ejecutado en cualquier plataforma.

Es posible utilizarlo mediante usuario anónimo y mediante autentificación.

Desventajas

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.