Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ir a la navegaci�nIr a la b�squeda
Para otros usos de este t�rmino, v�ase Soap (serie de televisi�n).
�ndice
1 Caracter�sticas
2 Historia
3 Estructura del mensaje
4 Modelo de procesado
5 SOAP sobre correo electr�nico
6 Ejemplos de mensajes SOAP
7 Ventajas y desventajas
7.1 Ventajas
7.2 Desventajas
8 Casos de uso
9 Implementaci�n de un servicio web SOAP
10 V�ase tambi�n
11 Referencias
11.1 Recomendaciones de W3C
11.2 Art�culos
12 Enlaces externos
Caracter�sticas
SOAP es un paradigma de mensajer�a de una direcci�n sin estado, que puede ser
utilizado para formar protocolos m�s completos y complejos seg�n las necesidades de
las aplicaciones que lo implementan. Puede formar y construir la capa base de una
"pila de protocolos de web service", ofreciendo un framework de mensajer�a b�sica
en el cual los web services se pueden construir. Este protocolo est� basado en XML
y se conforma de tres partes:
La arquitectura SOAP est� formada por varias capas de especificaci�n: MEP (Message
Exchange Patterns) para el formato del mensaje, enlaces subyacentes del protocolo
de transporte, el modelo de procesamiento de mensajes, y la capa de extensibilidad
del protocolo. SOAP es el sucesor de XML-RPC, a pesar de que toma el transporte y
la neutralidad de la interacci�n, as� como el envelope / header / body, de otros
modelos (probablemente de WDDX).
Historia
La preocupaci�n por los sistemas distribuidos y de c�mo diferentes m�quinas pod�an
comunicarse entre s� surgi� en la d�cada de los 90. Hasta ese momento, era
suficiente con que las aplicaciones de un mismo ordenador pudieran establecer una
comunicaci�n.
En 1990, surgieron los modelos COM y CORBA. El primero, Component Object Model fue
creado por Microsoft, y el segundo, CORBA, por el Object Management Group. No
obstante, estos dos modelos presentaban una dificultad muy importante: no eran
f�cilmente interoperables ya que las dos m�quinas que llevaran a cabo la
comunicaci�n deb�an soportar COM o CORBA, por tanto �nicamente se pod�a utilizar
con dos m�quinas COM o dos m�quinas CORBA. M�s adelante, Microsoft cre� DCOM y Sun,
RMI (Remote Method Invocation). Aunque estos m�todos permit�an establecer una
conexi�n entre ordenadores a trav�s de la red, tampoco eran interoperables ya que
RMI est� disponible �nicamente para Java, y por tanto, es dependiente del lenguaje
de programaci�n. Por todo ello, Microsoft empez� a interesarse por la computaci�n
distribuida basada en XML en el a�o 1997. Su objetivo era terminar con los
problemas de interoperabilidad de las soluciones anteriores y permitir que las
aplicaciones se conectaran mediante RPCs (Remote Procedure Calls), utilizando los
est�ndares de comunicaci�n XML y HTTP.
SOAP fue dise�ado como un protocolo de acceso a objetos en 1998 por Dave Winer, Don
Box, Bob Atkinson y Mohsen Al-Ghosein por Microsoft, donde Atkinson y Al-Ghosein
trabajaban en aquel entonces. La especificaci�n SOAP actualmente es mantenida por
el XML Protocol Working Group del World Wide Web Consortium.
La versi�n SOAP 1.1 se present� en el a�o 2000 e IBM particip� en su creaci�n. Esta
participaci�n result� muy positiva ya que se produjeron cambios significativos y
cruciales para su posterior uso: se dise�� de una forma m�s modular y escalable,
eliminando los problemas derivados de una tecnolog�a propietaria, en este caso de
Microsoft. Adem�s, IBM llev� a cabo una implementaci�n de SOAP en Java y SOAP se
integr� en Web Services J2EE.
SOAP originalmente significaba "Simple Object Access Protocol", pero esta sigla se
abandon� con la versi�n 1.2 de la norma. La versi�n 1.2 se convirti� en una
recomendaci�n del W3C el 24 de junio de 2003. El acr�nimo se confunde a veces con
SOA, siglas de arquitectura orientada a servicios, pero las siglas no est�n
relacionados.
Despu�s que SOAP se introdujo por primera vez, se convirti� en la capa subyacente
de un conjunto m�s complejo de los web services, basada en la WSDL (Web Services
Description Language) y UDDI (Universal Description Discovery and Integration).
Estos servicios, especialmente UDDI, han demostrado ser de mucho menos inter�s,
pero una apreciaci�n de ellos da una comprensi�n m�s completa del esperado rol de
SOAP comparado a como los web services est�n actualmente desarrollados.
Modelo de procesado
El modelo de procesado de SOAP est� definido como un sistema distribuido, en el que
intervienen diferentes nodos. En un escenario b�sico, los nodos SOAP se comunican
uno asumiendo el rol de SOAP Sender y SOAP Receiver. Aun as�, la especificaci�n
define diferentes tipos de nodos en funci�n del rol que asumen en el env�o del
mensaje:
La especificaci�n de SOAP define unas normas sobre c�mo deben ser procesados,
definiendo una serie de pasos que deben cumplir las implementaciones del protocolo.
Estos pasos se pueden encontrar en la secci�n 2.6 de la especificaci�n de W3C.
Los mensajes de estado de entrega SMTP son separados del procesamiento del mensaje
en la capa SOAP. Las respuestas SOAP resultantes a los datos SOAP ser�n devueltas a
trav�s de un mensaje de correo electr�nico nuevo que podr�a tener o no un enlace
con el mensaje de la petici�n original al nivel SMTP. El uso del encabezado In-
reply-to: [En-respuesta-a] seg�n [RFC 2822] puede conseguir una correlaci�n al
nivel SMTP, pero no implica necesariamente una correlaci�n al nivel SOAP.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productId>827635</productId>
</getProductDetails>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getProductDetailsResponse xmlns="http://warehouse.example.com/ws">
<getProductDetailsResult>
<productName>Toptimate 3-Piece Set</productName>
<productId>827635</productId>
<description>3-Piece luggage set. Black Polyester.</description>
<price>96.50</price>
<inStock>true</inStock>
</getProductDetailsResult>
</getProductDetailsResponse>
</soap:Body>
</soap:Envelope>
A pesar de no ser la �nica opci�n posible, HTTP fue elegido como protocolo de
transporte por sus ventajas, para lidiar con cortafuegos, por ejemplo. Otros
protocolos como GIOP/IIOP o DCOM (utilizados en CORBA, RMI y DCOM) suelen ser
repelidos por estos cortafuegos.
Ventajas y desventajas
Ventajas
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
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.
Casos de uso
La forma m�s habitual de utilizar el protocolo SOAP es mediante el patr�n petici�n-
respuesta con remitente SOAP y destinatario final SOAP, el cual es utilizado cuando
los mensajes SOAP est�n predefinidos y �nicamente se desea enviar una petici�n y
consultar su valor de retorno.
En otros idiomas
???????
Deutsch
English
Fran�ais
Bahasa Indonesia
Portugu�s
???????
????
??
32 m�s
Editar enlaces
Esta p�gina se edit� por �ltima vez el 1 oct 2019 a las 22:29.
El texto est� disponible bajo la Licencia Creative Commons Atribuci�n Compartir
Igual 3.0; pueden aplicarse cl�usulas adicionales. Al usar este sitio, usted acepta
nuestros t�rminos de uso y nuestra pol�tica de privacidad.
Wikipedia� es una marca registrada de la Fundaci�n Wikimedia, Inc., una
organizaci�n sin �nimo de lucro.
Pol�tica de privacidadAcerca de WikipediaLimitaci�n de
responsabilidadDesarrolladoresEstad�sticasDeclaraci�n de cookiesVersi�n para
m�vilesWikimedia FoundationPowered by MediaWiki