Está en la página 1de 2

SOAP

SOAP (anteriormente conocido como Simple Object Access Protocol) es un protocolo ligero para el
intercambio de información en entornos descentralizados y distribuidos. Los mensajes SOAP son
las transmisiones de información de remitentes a destinatarios. Los mensajes SOAP se pueden
combinar para crear patrones de petición/respuesta.
SOAP es independiente del transporte pero habitualmente se lleva a través de HTTP para ejecutarse
con la infraestructura de Internet existente. SOAP habilita el enlace y la utilización de servicios Web
descubiertos definiendo una vía de acceso de mensajes para direccionar mensajes. Se utiliza SOAP
para consultar UDDI para servicios Web. El entorno de trabajo admite SOAP 1.1.
SOAP es un protocolo basado en XML que define tres partes en todos los mensajes:
 Sobre. El sobre define una infraestructura para describir qué hay en un mensaje y cómo
procesarlo. Un mensaje SOAP es un sobre que contiene cero o varias cabeceras y
exactamente un cuerpo. El sobre es el elemento superior del documento XML que
proporciona un contenedor para la información de control, la dirección de un mensaje y el
mensaje en sí. Las cabeceras transportan información de control como por ejemplo atributos
de calidad de servicio. El cuerpo contiene la identificación del mensaje y sus parámetros.
Tanto las cabeceras como el cuerpo son elementos hijo del sobre.
 Reglas de codificación. El conjunto de reglas de codificación expresa instancias de tipos de
datos definidos por la aplicación. Las normas de codificación definen un mecanismo de
serialización que se puede utilizar para intercambiar instancias de tipos de datos definidos
por la aplicación. SOAP define un esquema de tipo de datos independiente del lenguaje de
programación basado en XSD y normas de codificación para todos los tipos de datos
definidos de acuerdo a este modelo. La codificación SOAP no es compatible con WS-I y por
lo tanto se sugiere el uso Literal (que no está codificado) para servicios Web interoperativos
y se requiere para la compatibilidad con WS-I.
 Estilos de comunicación. Las comunicaciones pueden seguir el formato RPC (llamada a
procedimiento remoto) u orientado a mensajes (Documento). Estos se describen a
continuación.

Estilos de enlace
SOAP admite dos estilos de comunicación distintos:
Llamada a procedimiento remoto (RPC): invocación de una operación que devuelve un
resultado. Normalmente se utiliza con la codificación SOAP, que no es compatible con
WS-I.

Estilo de documento:  Conocido también como estilo orientado a documento u


orientado a mensaje. Este estilo proporciona una capa más baja de abstracción y
necesita más trabajo de programación.

Estilos de codificación
En entornos informáticos distribuidos, los estilos de codificación definen cómo los valores de datos
definidos en la aplicación pueden convertirse a y de un formato de protocolo determinado. El
proceso de conversión se llama serialización y deserialización.
La especificación SOAP define el estilo de codificación SOAP:
Codificación SOAP: El estilo de codificación SOAP permite serializar/deserializar
valores de tipos de datos del modelo de datos SOAP. Este estilo de codificación está
definido en el estándar SOAP 1.1 y no está en conformidad con WS-I.

WSDL define el estilo de codificación XML Literal:


XML Literal:literal se refiere al hecho de que debe leerse el documento tal cual está, sin
codificar. El documento se serializa como XMI, lo que significa que el mensaje XML
cumple con el esquema de WSDL. Cuando se utiliza la codificación Literal, cada parte
del mensaje hace referencia a una definición de esquema en concreto. La codificación
Literal es compatible con WS-I.

Modelo de datos
El objetivo del modelo de datos SOAP es proporcionar una abstracción independiente del lenguaje
para tipos de datos utilizados por tipos de lenguajes de programación comunes. Consta de:
 Tipos XSD simples. Por ejemplo int, string y date.
 Tipos compuestos. Hay dos especies de tipos compuestos, structs y arrays. Structs son tipos
agregados en los que cada elemento tiene un nombre o código XML exclusivo. Arrays tienen
elementos que se identifican por la posición, no por el nombre.
Todos los elementos e identificadores que componen el modelo de datos SOAP se definen en el URI
del espacio de nombres. El estándar SOAP define las normas para construir los tipos de datos. Un
esquema XML específico del proyecto debe definir los tipos de datos reales.

Implementaciones de SOAP
Hoy en día hay diferentes implementaciones del protocolo SOAP disponibles. Por ejemplo, Apache
Foundation proporciona Apache SOAP que surgió de un proyecto de IBM llamado SOAP4J, así
como los entornos de ejecución Apache Axis e IBM WebSphere.

También podría gustarte