Publicado el 22 de Junio del 2018
640 visualizaciones desde el 22 de Junio del 2018
358,1 KB
24 paginas
Creado hace 18a (17/10/2006)
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Introducción a los Servicios Web
Jose Emilio Labra Gayo
Octubre 2006
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Contenidos
Introducción
Estándares
SOAP
WSDL
UDDI
Arquitecturas
Retos
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Servicios Web
I Aplicaciones auto-contenidas, auto-descritas que pueden ser
publicadas, localizadas e invocadas a través de la Web
I Una vez desarrolladas, otras aplicaciones (y otros servicios
Web) pueden descubrirlas e invocar el servicio dado
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Servicios Web
I Posible definición:
I Aplicaciones auto-contenidas, auto-descritas que pueden ser
publicadas, localizadas e invocadas a través de la Web
I Una vez desarrolladas, otras aplicaciones (y otros servicios
Web) pueden descubrirlas e invocar el servicio dado
I Nota: No todos los servicios Web están publicados para ser
descubiertos automáticamente
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Objetivos
I Independencia del lenguaje y de la plataforma
I Separación de especificación de la implementación
I Interoperabilidad
I Utilización de estándares: XML, SOAP, WSDL, UDDI...
I Acoplamiento débil: Sistemas basados en mensajes
I Interacciones síncronas y asíncronas
I A través de Internet
I Sin control centralizado
I Utilización de Protocolos establecidos
I Consideraciones de seguridad
I Modularidad y Reusabilidad de servicios
I Escalabilidad: Uno-a-uno frente a uno-a-muchos
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Principales acciones
I Representación de mensajes
I Los mensajes suelen ser documentos XML
I SOAP es un vocabulario XML que permite incluir mensajes
XML
I Además, en SOAP se representa otra información:
I Cabecera (meta-información) y cuerpo del mensaje
I Codificación de errores
I Transporte de mensajes: Habitualmente HTTP, aunque
pueden utilizarse otros protocolos
I Descripción del servicio: Representación del tipo de
operaciones y su funcionalidad (Interfaz)
I WSDL es el vocabulario más utilizado
I Define las operaciones y el tipo que tienen (no define
funcionalidad)
I Registro: Es necesario disponer de un sistema que permita
Jose Emilio Labra Gayo
Introducción a los Servicios Web
localizar los servicios adecuados.
I UDDI es la propuesta estándar
I Otras propuestas: servicios web semánticos
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Estándares de servicios Web
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
SOAP
SOAP
I SOAP define el formato de los mensajes
I Evolución:
I Desarrollado a partir de XML-RPC
I SOAP 1.0 (1999), SOAP 1.1 (2000), SOAP 1.2 (2003)
I Participación inicial de Microsoft
I Adopción posterior de IBM, Sun, etc.
I Aceptación industrial
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
SOAP
SOAP
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
SOAP
Ejemplo SOAP
Ejemplo
<s o a p : E n v e l o p e
x m l n s : s o a p=” h t t p : //www . w3 . o r g /2001/12/ soap−e n v e l o p e ”
x m l n s : p =” h t t p : //www . m a f i a . i t / p i z z a s ”>
<s o a p : H e a d e r>
< p : p r i o r i t y> u r g e n t e </ p : p r i o r i t y>
< p : o r i g i n>p e p e @ o v i e d o . e s</ p : o r i g i n>
</ s o a p : H e a d e r>
<s o a p : B o d y>
< p : o r d e r>
< p : p i z z a nombre=” M a r g a r i t a ”>
< p : s i z e> f a m i l i a r</ p : s i z e>
<p:comment>con mucho q u e s o
</ p:comment>
</ p : p i z z a>
</ p : o r d e r>
</ s o a p : B o d y>
</ s o a p : E n v e l o p e>
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
SOAP
Formato SOAP
I SOAP especifica el formato de mensajes
I Es independiente del protocolo de transporte
I Aunque se define un enlace (binding) con HTTP
I envelope contiene: header (opcional) y body (obligatorio)
I body contiene datos en formato XML
I header contiene meta-información
I También se pueden indicar errores mediante fault
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
WSDL
WSDL
I WSDL (Web Services Description Language) permite describir
servicios web
I ¿Qué puede hacer el servicio?
I ¿Dónde reside?
I ¿Cómo invocarlo?
I Vocabulario basado en capas
I Es posible concentrarse en una capa cada vez
I Evolución
I Iniciativa conjunta de Ariba, IBM y Microsoft
I (2001) Propuesto a W3C como recomendación (WSDL 1.1)
I (2003) En desarrollo WSDL 2.0
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
WSDL
Estructura de WSDL
I definitions incluye las siguientes entradas:
I types: Tipos de datos usados en los mensajes (XML Schema)
I message: Definición abstracta de los datos transmitidos.
I portType: Conjunto de operaciones abstractas
I binding: Protocolo concreto y especificaciones de las
operaciones del mensaje
I port: Especifica una dirección para el enlace definiendo un
único punto de destino
I service: Colección de puntos de destino
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
WSDL
Ejemplo WSDL (1/3)
Ejemplo
<? xml v e r s i o n=” 1 . 0 ” ?>
< d e f i n i t i o n s name=” P i z z a s ”
t a r g e t N a m e s p a c e=” h t t p : // m a f i a . i t / p i z z a s . w s d l ”
x m l n s : t n s=” h t t p : // m a f i a . i t / p i z z a s . w s d l ”
x m l n s : x s d 1=” h t t p : // m a f i a . i t / p i z z a s . x s d ”
x m l n s : s o a p=” h t t p : // schemas . x m l s o a p . o r g / w s d l / s o a p / ”
x m l n s=” h t t p : // schemas . x m l s o a p . o r g / w s d l / ”>
<t y p e s>
<schema t a r g e t N a m e s p a c e=” h t t p : // m a f i a . i t / p i z z a s . x s d ”
x m l n s=” h t t p : //www . w3 . o r g /2000/10/ XMLSchema”>
<e l e m e n t name=” P r e c i o P i z z a R e q u e s t ”>
<complexType>
< a l l>
<e l e m e n t name=” n o m b r e P i z z a ” t y p e=” s t r i n g ” />
</ a l l>
Jose Emilio Labra Gayo
</ complexType>
Introducción a los Servicios Web
</ e l e m e n t>
Contenidos
Introducción
Estándares
Arquitecturas
Retos
WSDL
Ejemplo WSDL (2/3)
Ejemplo
<m e s s a g e name=” p r e c i o P i z z a I n p u t ”>
<p a r t name=” body ” e l e m e n t=” x s d 1 : P r e c i o P i z z a R e q u e s t ” />
</ m e s s a g e>
<m e s s a g e name=” p r e c i o P i z z a O u t p u t ”>
<p a r t name=” body ” e l e m e n t=” x s d 1 : p r e c i o P i z z a ” />
</ m e s s a g e>
<p o r t T y p e name=” P i z z a s P o r t T y p e ”>
<o p e r a t i o n name=” v e r P r e c i o ”>
<i n p u t m e s s a g e=” t n s : p r e c i o P i z z a I n p u t ” />
<o u t p u t m e s s a g e=” t n s : p r e c i o P i z z a O u t p u t ” />
</ o p e r a t i o n>
</ p o r t T y p e>
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
WSDL
Ejemplo WSDL (3/3)
Ejemplo
<b i n d i n g name=” P i z z a s S o a p B i n d i n g ”
t y p e=” t n s : P i z z a s P o r t T y p e ”>
<s o a p : b i n d i n g s t y l e =” document ”
t r a n s p o r t=” h t t p : // schemas . x m l s o a p . o r g / s o a p / h t t p ” />
<o p e r a t i o n name=” p r e c i o P i z z a ”>
< s o a p : o p e r a t i o n s o a p A c t i o n=” h t t p : // m a f i a . i t / P i z z a s ” />
<i n p u t>
<s o a p : b o d y u s e=” l i t e r a l ” />
</ i n p u t>
<o u t p u t>
<s o a p : b o d y u s e=” l i t e r a l ” />
</ o u t p u t>
</ o p e r a t i o n>
</ b i n d i n g>
< s e r v i c e name=” P i z z a s S e r v i c e ”>
Jose Emilio Labra Gayo
<d o c u m e n t a t i o n>E j e m p l o de s e r v i c i o</ d o c u m e n t a t i o n>
<p o r t name=” P i z z a s P o r t ”
Introducción a los Servicios Web
b i n d i n g=” t n s : P i z z a s S o a p B i n d i n g ”>
Contenidos
Introducción
Estándares
Arquitecturas
Retos
UDDI
UDDI
I UDDI: (Universal Discovery, Description and Integration)
I Estándar para la publicación y registro de servicios Web
I Consorcio formado por IBM, Hp, Sun, Microsoft, Oracle, etc.
I Evolución:
I UDDI 1.0 (2000) Fundación del registro
I UDDI 2.0 (2001) Alineación con estándares y taxonomía de
servicios más flexible
I UDDI 3.0 (2002) Interacción de implementaciones públicas y
privadas
I 2 partes
I Descripción de negocios
I Páginas blancas (información de contacto)
I Páginas amarillas (información de la industria)
I Páginas verdes (información técnica y especificaciones)
I Registro de servicios
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
UDDI
Funcionamiento de UDDI
I Funcionamiento como una base de datos distribuida P2P
I Provider: Información sobre la entidad que ofrece el servicio
I Service: Información sobre una familia particular de ofertas
I Binding: Información técnica sobre un punto de entrada a un
servicio
I tModel: Descripción de especificaciones de servicios
Jose Emilio Labra Gayo
Introducción a los Servicios Web
Contenidos
Introducción
Estándares
Arquitecturas
Retos
Arquitecturas Orientadas a Servicios
I Importancia de las Interfaces
I Descripción rigurosa de las interfaces
I Preferiblemente: Tratamiento aut
Comentarios de: Introducción a los Servicios Web (0)
No hay comentarios