Estándares de servicios Web
Fuente http://www.di.uniovi.es/~labra/cursos/Web20/ServiciosWeb.pdf
QUE ES SOAP
Es un protocolo basado en XML para el intercambio de informacion de una forma descentralizada sobre entornos distribuidos. [4]
Se puede simplificar como una especie de vocabulario XML definiendo el formato de los mensajes. [1]
Los mensajes SOAP esta compuestos por un TAG principal llamado ENVELOPE el cual esta dividido en un campo denominado HEADER (opcional), y un campo denominado BODY (Obligatorio).[5]
ENVELOPE: Es el elemento raíz del mensaje para describir su contenido y la forma de procesarlo. [6]
HEADER: Contiene la metaifnormación la cual no es mas que la información de identificación del contenido. Un grupo de reglas de codificación para expresar las instancias de tipos de datos definidos por la aplicación. [6]
BODY: Es el contenido del mensaje, Una convención para representar las llamadas y las respuestas a procedimientos remotos.[6], el cual contiene los datos en formato XML,
Fuente: http://img.redusers.com/imagenes/libros/lpcu104/capitulogratis.pdf
Funcionamiento de SOAP
Fuente http://arkadoel.es/programacion/INTRODUCCION_SOAP.pdf
QUE PROPORCIONA SOAP
ü Establece un protocolo estándar de invocación de servicios remotos, basado en protocolos estándares de Internet: HTTP para la transmisión y XML para la codificación de datos.[6]
ü Un medio para que se reciban las partes primarias y secundarias (Ej.: encapsulación MIME)
ü Un mecanismo para identificar cada parte mediante una URI. [2]
ü Capacidad de identificar una única parte con múltiples URIs. [2]
CARACTERISTICAS
ü Es independiente del protocolo de transporte, de la plataforma, el modelo de datos y el lenguaje de programación usado aun cuando se define un enlace con http.
ü Esta pensado para introducir nueva tecnología en informática distribuida más allá de lo actualmente utilizado. [3]
ü Añade encabezados al HTTP; no hay más cambios.
ü SOAP (HTTP y XML) se presenta en texto y no en formato binario, por lo que es mucho más sencillo interactuar en las distintas máquinas y depurar sus fallos.[3]
ü Define un mecanismo para el paso de instrucciones (comandos) y parámetros entre clientes y servidores.[4]
VENTAJAS: [6]
ü Es sencillo de implementar, probar y usar
ü Atraviesa “firewalls” y routers, pues estos “piensan” que es una comunicación HTTP.
ü Tanto los datos como las funciones se describen en XML, lo que permite que el protocolo no sólo sea más fácil de utilizar sino que también sea muy sólido.
ü Es independiente del sistema operativo y procesador.
ü No está atado a ninguna infraestructura de objeto distribuido: La mayoría de los sistemas de objetos distribuidos se pueden extender, y alguno de ellos admiten SOAP.
ü Aprovecha los estándares existentes en la industria.
ü Permite la interoperabilidad entre múltiples entornos: Debido a que se desarrolló sobre los estándares existentes de la industria.
ü Facilidad para utilizar cualquier lenguaje.
DESVENTAJAS [6]
ü Dificultad para entender las especificaciones del protocolo, puesto que es un complejo esquema de codificación en el cual es necesario precisar que todos los mensajes se incluyan en un sobre, con el contenido del mensaje dentro de un elemento de cuerpo para que puedan ser entendidos por cada una de las aplicaciones Web que procesan el mensaje.
ü SOAP cambia los nombres de métodos en etiquetas secundarias del cuerpo y los argumentos en etiquetas secundarias del nombre del método, lo que puede generar ciertos problemas de Interoperabilidad.
EJEMPLO TEÓRICO DE SOAP [2]
Mensaje conteniendo la reclamación de un seguro de un coche dañado y una segunda parte con una imagen JPEG del vehículo.
Existen 3 alternativas
- La parte primaria del mensaje SOAP y la imagen JPEG pueden ser encapsuladas en un mensaje DIME y se transmiten vía TCP/IP o HTTP.
- La parte primaria del mensaje SOAP y el JPEG se encapsulan en un mensaje multiparte de tipo MIME y se transmiten vía HTTP.
- La parte primaria puede ser intercambiada mediante un vínculo HTTP y sin ninguna encapsulación y la imagen JPEG transmitida mediante una petición por el método GET del protocolo HTTP.
EJEMPLOS DE SOAP [2]
Ejemplo Básico
<?xml version=’1.0′ ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”>
<SOAP-ENV:Body>
..
<theSignedForm href=”cid:claim061400a.tiff@claiming-it.com”/>
..
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Mensaje SOAP embebido en una petición HTTP
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset=”utf-8″
Content-Length: nnnn
SOAPAction: “Some-URI”
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m=”Some-URI”>
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Mensaje SOAP embebido en una respuesta HTTP
HTTP/1.1 200 OK
Content-Type: text/xml; charset=”utf-8″
Content-Length: nnnn
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”/>
<SOAP-ENV:Body>
<m:GetLastTradePriceResponse xmlns:m=”Some-URI”>
<Price>34.5</Price>
</m:GetLastTradePriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
SOAP y .NET de Microsoft
La estrategia de .NET de Microsoft es ofrecer una plataforma de desarrollo Web basada en XM, y como ya sabemos los servicios Web XML utilizan SOAP.
WEBGRAFIA
1. Introducción a los servicios web, Labra Gayo Jose Emilio, Octubre 2006 http://www.di.uniovi.es/~labra/cursos/Web20/ServiciosWeb.pdf, descargado 30/09/08
2. Fundamentos de Internet, URJC – Aplicaciones para la Web, R. Capilla, http://triana.escet.urjc.es/apliweb/SOAP-WSDL-UDDI.pdf, fecha de descarga, 30/09/08
3. http://mit.ocw.universia.net/1.264J/NR/rdonlyres/Civil-and-Environmental-Engineering/1-264JDatabase–Internet–and-Systems-Integration-TechnologiesFa/2C547666-79A4-400A-9E47-70CA5245BFE2/0/1264_lecture_14_F2002.pdf, fecha de descarga, 30/09/08
4. Aplicaciones y Servicios Web (Web Services), Joaquín Salvachúa, Joaquín Salvachúa DIT-UPM, jsalvachua@dit.upm.es. http://internetng.dit.upm.es/ponencias-jing/2004/Web2.pdf, fecha de descarga, 30/09/08.
5. Principios de web service, Lectores@mpediciones.com, http://img.redusers.com/imagenes/libros/lpcu104/capitulogratis.pdf, fecha de descarga, 30/09/08.
6. http://arkadoel.es/programacion/INTRODUCCION_SOAP.pdf , fecha de descarga, 30/09/08.


