Servicios web
Transcript of Servicios web
Ferran MontesSergio Soria
1
Contenido
1. ¿Que es un Servicio Web?
2. Representational State Transfer (REST)
3. Simple Object Access Protocol (SOAP)
2
SERVICIO SERVICIO WEBWEB
3
Servicio Web ¿Qué es un Servicio Web?Conjunto de aplicaciones o de tecnologías con
capacidad para interoperar en la Web
¿Para qué sirve?Comunicación entre aplicacionesInteroperabilidad y extensibilidad
Realización de operaciones complejas
4
Servicio Web•¿Cómo funciona?
5
Servicio Web•¿Cómo funciona?
Arquitecturas:
SOA (service-oriented architecture)
SOAPWSDL (Web Services
Description Language)
UDDI (Universal Description, Discovery and Integration)
RESTEmulación HTTP
6
RESTRESTRepresentationaRepresentational State Transferl State Transfer
7
REST
•¿Qué es REST realmente?Arquitectura de software para sistemas hipermedias
distribuidos tales como la Web
•¿Cuál es la motivación de REST?
Capturar las características de la Web que la han hecho tan exitosa
Emular al protocolo HTTP o protocolos similares
8
REST•¿Cómo emulamos HTTP?
Recurso:http://www.ejemplo.com/lista
http://www.ejemplo.com/lista/recurso
HTTP:HTTP AcciónPUT Crear
GET Obtener
POST Actualizar
DELETE Eliminar
9
•¿Cómo emulamos REST?
REST
Sin REST: Con REST:
10
RESTRESTEjemploEjemplo
11
SOAPSOAPSimple Object Simple Object
Access ProtocolAccess Protocol12
SOAPArquitecturaProtocolo de transporte: sobretodo HTTP o SMTP
(petición – respuesta).
Mensaje XML: SOAP Envelope SOAP Header SOAP Body
14
SOAPSOAP Envelope (obligatorio):Namespace (xmlns:soap namespace):
Define el mensaje XML como SOAP.encodingStyle (soap:encodingStyle="URI“):
Define el tipo de datos del mensaje. Puede encontrarse en cualquier parte del mensaje.Se aplica a todos los elementos del mensaje.
15
SOAPSOAP Header (opcional):mustUnderstand (soap:mustUnderstand="0|1“):
Indica si el receptor ha de procesor o no el header.
Actor (soap:actor="URI" ):El valor en incluido en esta etiqueta solo está
disponible para la máquina definida en “URI”. Si no existe
16
SOAPSOAP Body (obligatorio):Contiene el mensaje SOAP destinado a la máquina
final.Formado por los elementos hijo definidos por el
emisor mediante etiquetas.
17
SOAPEjemplo
REQUEST
RESPONSE
18
SOAPVentajas:Extensibilidad
Basado en XML.Neutralidad
Orientado a mensaje, puede utilizar varios protocolos de transporte (HTTP, SMTP, TCP, JMS).
Independencia Plataforma. Lenguaje de programación (Java, .NET, Flex).
19
SOAPDeventajas:XML puede ralentizar el procesado, mala opción en
mensajes grandes.
Mensaje incluido en el cuerpo de HTTP, se requiere mayor análisis desde el firewall.
Poco soporte en Python y PHP.
20
Enlaces de interés
http://www.vogella.com/articles/REST/article.html
http://en.w3schools.com/soap
http://en.wikipedia.org/wiki/SOAP
21
GraciasGracias
22