Simple Object Access Protocol (SOAP)

El protocolo SOAP (Simple Object Access Protocol) es el protocolo de aplicaciones fundacional basado en XML y usado para implementar servicios web dentro de una SOA (arquitectura orientada a servicios). El SOAP se transporta principalmente a través de HTTP y sistemas de mensajería middleware (JMS, MQ Series, MSMQ, Tuxedo, TIBCO RV), pero también se puede ser transportar a través de otros protocolos como SMTP (protocolo para transferencia simple de correo) y FTP (protocolo de transferencia de archivos).

Los mensajes SOAP suelen incluir los siguientes elementos:

  • El sobre: el sobre SOAP es el elemento raíz de un mensaje SOAP y es necesario. En esencia, el sobre contiene el mensaje SOAP igual que un sobre tradicional contiene una carta escrita.
  • Encabezado: el encabezado SOAP es opcional y, cuando está presente, contiene información específica de la aplicación como los detalles de autenticación, direccionamiento y enrutamiento.
  • Cuerpo: el cuerpo SOAP es necesario y contiene el mensaje de la aplicación que se está transportando, incluidos la operación remota específica que se invoca y los datos (parámetros) que se intercambian.

Los mensajes SOAP suelen ser grandes, ya que deben contener la información que las aplicaciones y los clientes necesitan para analizar los datos que contienen y ejecutar la lógica apropiada. Cuanto más grande es el mensaje, más procesamiento requiere del servidor, lo que aumenta el consumo de recursos y disminuye la capacidad total. El aumento de tamaño también puede tener un efecto adverso sobre el rendimiento de aplicaciones desarrolladas sobre SOAP, ya que se necesitan más recursos de red para transferir los mensajes.

Dado que SOAP está basado en XML, es susceptible a diversos ataques y vulnerabilidades relacionados con XML, y más vulnerable aún a los ataques asociados a su protocolo de capa de transporte, normalmente HTTP.

Productos F5 que solucionan los problemas de seguridad y rendimiento asociados al SOAP: BIG-IP Application Security Manager