Soap , originalmente definida como Simple Object Access Protocol , es un protocolo de especificaciones para el intercambio de información estructurada en la implementación de Servicios Web en las redes de computadoras . Se basa en Extensible Markup Language(XML) para su formato de mensaje, y por lo general se basa en otra capa de aplicación los protocolos, en especial de transferencia de hipertexto (HTTP) y el Simple Mail Transfer Protocol (SMTP), para la negociación y transmisión de mensajes. SOAP se puede formar la capa de base de una pila de protocolos de servicios web , proporcionando un marco de mensajería básicos sobre los que los servicios web se puede construir. Este protocolo basado en XML consta de tres partes: un sobre, que define lo que está en el mensaje y cómo procesarlo, un conjunto de reglas de codificación para expresar instancias de aplicación de tipos de datos definidos, y una convención para representar llamadas a procedimientos y respuestas. SOAP tiene tres características principales: extensibilidad (seguridad y enrutamiento de WS-son algunas de las extensiones en desarrollo), Neutralidad (SOAP se puede utilizar en cualquier protocolo de transporte tales como HTTP ,SMTP o TCP ), y la Independencia (SOAP permite que cualquier modelo de programación ). [ 1 ]
Como un ejemplo de cómo los procedimientos de SOAP se puede usar, un mensaje SOAP podría ser enviado a un servicio web habilitado para el sitio web como una base de datos de bienes raíces de precios, con los parámetros necesarios para una búsqueda. El sitio entonces devolver un documento con formato XML con los datos resultantes, por ejemplo, precios, ubicación, características. Con los datos que se devuelven en un formato estándar de la máquina-analizable, que puede ser integrado directamente a un sitio web de terceros o de la aplicación.
La arquitectura de SOAP se compone de varias capas de especificaciones: para el formato de mensaje, los patrones de intercambio de mensajes (MEP), subyacente enlaces de protocolo de transporte, los modelos de procesamiento de mensajes, y la extensibilidad del protocolo. SOAP es el sucesor de XML-RPC , a pesar de que toma su transporte y la neutralidad de la interacción y el sobre / Encabezado / cuerpo de la otra parte (probablemente de WDDX )
Historia
JABÓN una vez estuvo de 'Simple Object Access Protocol ", pero estas siglas se abandonó con la versión 1.2 de la norma. [ 2 ] La versión 1.2 se convirtió en un W3C recomendación el 24 de junio de 2003. El acrónimo se confunde a veces con SOA , siglas de arquitectura orientada a servicios . Estándares SOAP pueden ser parte de una aplicación SOA, pero las siglas no están relacionados.
SOAP fue diseñado originalmente por Dave Winer , Don Box , Bob Atkinson y Mohsen Al-Ghosein en 1998 en un proyecto de Microsoft (donde Atkinson y Al-Ghosein ya estaban trabajando en ese momento), [ 3 ] como un protocolo de acceso a objetos . La especificación SOAP es mantenido actualmente por el Grupo de Trabajo de Protocolo XML del World Wide Web Consortium .
Después de SOAP fue introducido por primera vez, se convirtió en la capa subyacente de un conjunto más complejo de los Servicios Web , basado en Web Services Description Language(WSDL) y Descubrimiento e Integración Universal Description (UDDI). Estos servicios, en especial UDDI, han demostrado ser de mucho menos interés, pero la apreciación de ellos da una comprensión más completa de la función que se espera de SOAP en comparación con cómo los servicios web se han desarrollado.
Especificaciones
La especificación SOAP define el marco de mensajería, que consiste en:
- El modelo de procesamiento SOAP definir las reglas para el procesamiento de un mensaje SOAP
- El modelo de extensibilidad de SOAP define los conceptos de las características de SOAP y SOAP de módulos
- El protocolo SOAP subyacentes vinculante marco que describe las reglas para definir un enlace a un protocolo subyacente que puede ser utilizado para el intercambio de mensajes SOAP entre nodos SOAP
- El mensaje SOAP construir la definición de la estructura de un mensaje SOAP
[ editar ]Procesamiento de modelo
El modelo de procesamiento SOAP describe un modelo de procesamiento distribuido, sus participantes, los nodos SOAP y cómo un receptor SOAP de los procesos de un mensaje SOAP. Los nodos SOAP se definen los siguientes:
- JABÓN remitente
Un nodo SOAP que transmite un mensaje SOAP.
- JABÓN receptor
Un nodo SOAP que acepta un mensaje SOAP.
- JABÓN ruta del mensaje
El conjunto de nodos SOAP a través de un mensaje SOAP que solo pasa.
- JABÓN remitente inicial (Creador)
El remitente SOAP que origina un mensaje SOAP en el punto de partida de una ruta del mensaje SOAP.
- JABÓN intermediario
Un intermediario SOAP es un receptor y un emisor de SOAP SOAP y es objeto de orientación dentro de un mensaje SOAP. Que los procesos de los bloques de encabezado SOAP dirigido a él y actos que transmita un mensaje SOAP a un receptor final de SOAP.
- Último receptor de SOAP
El receptor SOAP que es un destino final de un mensaje SOAP. Es el responsable de procesar el contenido del cuerpo SOAP y los bloques de cabecera SOAP dirigido a él. En algunas circunstancias, un mensaje SOAP no puede llegar a un receptor final de SOAP, por ejemplo debido a un problema en un intermediario SOAP. Un receptor de SOAP final no puede ser un intermediario SOAP para el mensaje SOAP mismo.
Transporte métodos
Ambos SMTP y HTTP son válidos los protocolos de capa de aplicación utilizado como transporte de SOAP, HTTP, pero ha ganado una amplia aceptación, ya que funciona bien con la infraestructura actual de Internet, en concreto, HTTP funciona bien con la red de cortafuegos .SOAP también puede ser utilizado sobre HTTPS (que es el mismo protocolo HTTP a nivel de aplicación, sino que utiliza un protocolo de transporte cifrado por debajo) con la autenticación simple o común, lo que es el abogado de WS-I método para garantizar la seguridad de servicios web como se indica en el perfil WS-I Basic 1.1.
Esta es una gran ventaja sobre otros protocolos de distribución como GIOP / IIOP o DCOM que normalmente son filtradas por los cortafuegos. SOAP a través de AMQP es otra posibilidad de que algunas implementaciones de apoyo. [ 4 ]
También está el SOAP sobre-UDP estándar OASIS.
Formato del mensaje
XML fue elegido como el formato de mensaje estándar debido a su uso generalizado por las grandes corporaciones y de código abierto delos esfuerzos de desarrollo. Además, una amplia variedad de libre disposición herramientas facilita significativamente la transición hacia una implementación basada en SOAP. El poco largo sintaxis de XML puede ser tanto una ventaja como un inconveniente. A pesar de que promueve la lectura para los seres humanos, facilita la detección de errores, y evita los problemas de interoperabilidad como el orden de bytes ( Endianness ), puede reducir la velocidad de procesamiento y puede ser engorroso. Por ejemplo, CORBA , GIOP , ICE , y DCOM uso mucho más corto, formatos de los mensajes binarios. Por otro lado, los dispositivos de hardware están disponibles para acelerar el procesamiento de XML mensajes. [ 5 ] [ 6 ] XML binario también se está estudiando como un medio para racionalizar los requisitos de rendimiento de XML.
Ejemplo de mensaje
De POST / HTTP/1.1 InStock Host: www.example.org Content-Type: application / soap + xml; charset = UTF-8 Content-Length: 299 SOAPAction: "http://www.w3.org/2003/05/soap-envelope" <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> </soap:Header> <soap:Body> <m:GetStockPrice xmlns:m="http://www.example.org/stock"> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope>
No hay comentarios:
Publicar un comentario