servicios-web-ii-uddi.pdf
-
Upload
walter-becerra -
Category
Documents
-
view
216 -
download
2
Transcript of servicios-web-ii-uddi.pdf
-
1
Tecnologas de Distribucin de Contenidos - UC3M1
Servicios Web (II)
Norberto Fernndez, Jess Arias
Departamento de Ingeniera Telemtica
http://www.it.uc3m.es/berto/
http://www.it.uc3m.es/jaf/
2Tecnologas de Distribucin de
Contenidos - UC3M
UDDI
Universal Description Discovery and
Integration
-
2
3
Pila de especificaciones de Servicios Web
Fuente: Web Services Platform Architecture
4Tecnologas de Distribucin de
Contenidos - UC3M
Introduccin
Iniciativa de OASIS (Organization for the
Advancement of Structured Information Standards)
Entre sus miembros: SAP, IBM, BEA, SUN, etc.
Aparece en el ao 2000
IBM, Microsoft
Actualmente se encuentra en la versin 3
(UDDI v3)
OASIS Standard desde Febrero de 2005
-
3
Qu es UDDI?
UDDI es un servicio de directorio de WS
Ofrece tres tipos de informacin:
Pginas blancas
Informacin general proveedor servicio (nombre,
contacto, descripcin) o servicio
Pginas amarillas
Clasificacin taxonmica (rea geogrfica, tipo servicio)
Pginas verdes
Informacin tcnica servicio (ej.: referencia a WSDL)
5Tecnologas de Distribucin de
Contenidos - UC3M
6Tecnologas de Distribucin de
Contenidos - UC3M
Para qu vale UDDI?
Tiene dos utilidades principalmente:
En tiempo de diseo, permite a desarrolladores localizar servicios disponibles para utilizar desde aplicaciones u otros servicios
En tiempo de ejecucin, permite a un programa localizar dinmicamente implementaciones de servicios y utilizarlas
A travs de registros UDDI
-
4
7Tecnologas de Distribucin de
Contenidos - UC3M
Registro UDDI
Un registro de UDDI:
Permite a una compaa registrar sus servicios, clasificados de acuerdo a varios criterios (sector econmico, zona geogrfica, etc.)
Permite a los clientes buscar servicios con los que quieran interaccionar
Puede haber registros UDDI pblicos a travs
de Internet, o registros cerrados a una nica
compaa, o a varias que colaboren entre s
8Tecnologas de Distribucin de
Contenidos - UC3M
Elementos de UDDI
A continuacin describiremos:
La arquitectura UDDI y sus componentes
Las interfaces que especifican las operaciones que utilizan los distintos componentes para comunicarse
El modelo de datos (basado en XML) que se utiliza para representar la informacin sobre servicios Web y almacenarla en los registros UDDI
-
5
9Tecnologas de Distribucin de
Contenidos - UC3M
Arquitectura (I)
La arquitectura de UDDI se compone de los
siguientes elementos:
Clientes
Una o ms implementaciones de UDDI (nodos) que forman un registro
Cero o ms servidores de taxonomas
Taxonomas: esquemas de categorizacin, metadatos que
se pueden utilizar en las consultas para localizar servicios
Pueden ser de dominio pblico (UNSPSC, ISO 3166,
NAICS) o propietarias (DUNS)
Ej.: UNSPSC Version 10_0501: Travel agencies 90121502
10Tecnologas de Distribucin de
Contenidos - UC3M
Arquitectura (II)
Los clientes interaccionan con el registro UDDI
mediante SOAP sobre HTTP, mediante APIs
definidas en la especificacin de UDDI
Varios nodos se pueden combinar para formar
un nico registro UDDI siempre y cuando
proporcionen la misma informacin. Los nodos
se comunican entre s mediante SOAP sobre
HTTP para replicar su informacin
-
6
11Tecnologas de Distribucin de
Contenidos - UC3M
Arquitectura (III)
Una consulta debe devolver la misma
informacin independientemente del nodo del
registro al cual se enve
Cada nodo del registro se encarga de custodiar
una parte de la informacin del mismo, que slo
puede ser actualizada a travs de l
12Tecnologas de Distribucin de
Contenidos - UC3M
Interfaces (tipos de puerto) UDDI
UDDI define en WSDL las interfaces entre los
distintos elementos de la arquitectura
Se definen tipos de puerto para:
Invocar desde un cliente a un nodo UDDI
Invocar desde un nodo UDDI a un cliente
Invocar desde un nodo UDDI a otro nodo UDDI
Invocar desde un nodo UDDI a un servidor de taxonomas
-
7
13Tecnologas de Distribucin de
Contenidos - UC3M
Interfaces clientenodo UDDI
Tipos de puerto definidos:
UDDI_Inquiry_PortType: realizar bsquedas en el registro y ampliar informacin acerca de un elemento en los resultados
UDDI_Publication_PortType: introducir, actualizar o borrar datos en el registro
UDDI_Security_PortType: autenticacin
UDDI_CustodyTransfer_PortType: cambio de custodia
UDDI_Subscription_PortType: servicio de suscripcin
14Tecnologas de Distribucin de
Contenidos - UC3M
Interfaces nodo UDDIcliente
Tipos de puerto definidos:
UDDI_SubscriptionListener_PortType: el cliente que desee recibir notificaciones por suscripcin debe implementar esta interfaz
-
8
15Tecnologas de Distribucin de
Contenidos - UC3M
Interfaces nodo UDDInodo UDDI
Tipos de puerto definidos:
UDDI_Replication_PortType: operaciones que permiten mantener sus datos sincronizados a mltiples nodos UDDI que operen como un nico registro UDDI
16Tecnologas de Distribucin de
Contenidos - UC3M
Interfaces nodo UDDIservidor de
taxonomas
Tipos de puerto definidos:
UDDI_ValueSetCaching_PortType ofrece operacin para obtener los valores de la taxonoma y hacer cach de ellos en el nodo UDDI
UDDI_ValueSetValidation_PortType ofrece operacin para comprobar si un cierto valor es vlido en una taxonoma
Ej.: Si el cdigo 90121502 es un valor vlido en UNSPSC
-
9
17Tecnologas de Distribucin de
Contenidos - UC3M
El modelo de datos de UDDI
El modelo de datos de UDDI se compone de
los siguientes elementos principales:
businessEntity
businessService
bindingTemplate
tModel
publisherAssertion
La informacin de estos elementos puede estar
categorizada y firmada
Categorizacin
Muchos de los elementos del modelo de datos de
UDDI se pueden categorizar
Aadir metadatos para facilitar bsquedas posteriores
Se utiliza el elemento categoryBag
Conteniendo una serie de keyedReferences
tModelKey Vocabulario de categorizacin (con tModel)
keyName Nombre de categora
keyValue Valor de categora (ID en vocabulario)
18Tecnologas de Distribucin de
Contenidos - UC3M
-
10
19Tecnologas de Distribucin de
Contenidos - UC3M
El elemento businessEntity
Representa a un proveedor de servicios:
Contiene informacin acerca del proveedor de servicios (nombre, descripcin, informacin de contacto, etc.)
Puede aparecer en mltiples lenguajes
Se puede categorizar
Contiene cero o ms businessService
20Tecnologas de Distribucin de
Contenidos - UC3M
El elemento businessService
Representa un servicio o un conjunto de operaciones relacionadas:
Contenido en un nico businessEntity, pero puede ser
proyectado a varios businessEntity
Puede contener mltiples nombres y descripciones en
distintos idiomas
Se puede categorizar
No contiene informacin de contacto, pero s la clave del
businessEntity al cual pertenece, del cual se recupera esta
informacin
Contiene cero o ms bindingTemplate
-
11
21Tecnologas de Distribucin de
Contenidos - UC3M
El elemento bindingTemplate
Representa una implementacin instalada de un servicio o parte del mismo Contenido en un nico businessService
Incluye la direccin (ej.: la URL) que el cliente debe utilizar para comunicarse con el servicio
No tiene nombre, pero s mltiples descripciones en distintos idiomas
Se puede categorizar
Puede contener informacin tcnica en un tModelInstanceInfo
22Tecnologas de Distribucin de
Contenidos - UC3M
El elemento tModel
Se utiliza en UDDI con mltiples propsitos
Contiene:
Un nico nombre (normalmente una URI)
Cero o ms descripciones textuales, potencialmente en distintos lenguajes
Cero o ms referencias a documentos externos acerca del tModel y sus usos (overviewDoc)
Se puede categorizar
-
12
23Tecnologas de Distribucin de
Contenidos - UC3M
El elemento publisherAssertion
Muchas organizaciones no se pueden representar con un simple businessEntity Ej.: Un consorcio con mltiples miembros, una empresa con
filiales
Solucin: utilizar varios businessEntity y asociarlos entre s por medio de publisherAssertion
Para considerarse vlida debe estar declarada en ambas businessEntity
Contiene: Referencias a las businessEntity relacionadas
Informacin que identifica la relacin entre ambas (Ej.: indicar que empresa padre o matriz de otra en un holding)
24Tecnologas de Distribucin de
Contenidos - UC3M
UDDI: Ejemplo (I)
Fuente: http://www.brics.dk/~amoeller/WWW/webservices/uddiexamples.html
-
13
25Tecnologas de Distribucin de
Contenidos - UC3M
UDDI: Ejemplo (II)
Fuente: http://www.brics.dk/~amoeller/WWW/webservices/uddiexamples.html
26Tecnologas de Distribucin de
Contenidos - UC3M
UDDI: Ejemplo (III)
Fuente: http://www.uddi.org/pubs/uddi_v3.htm
-
14
27Tecnologas de Distribucin de
Contenidos - UC3M
UDDI: Ejemplo (IV)
Fuente: http://www.uddi.org/pubs/uddi_v3.htm
28Tecnologas de Distribucin de
Contenidos - UC3M
UDDI: Ejemplo (V)
Fuente: http://www.uddi.org/pubs/uddi_v3.htm
-
15
29Tecnologas de Distribucin de
Contenidos - UC3M
Referencias
Especificaciones: XML 1.0
http://www.w3.org/TR/xml/
XML Schema (Part 0: Primer) http://www.w3.org/TR/xmlschema-0/
SOAP Versin 1.2 (Part 0: Primer) http://www.w3.org/TR/soap12-part0/
WSDL Version 2.0 (Part 0: Primer) http://www.w3.org/TR/wsdl20-primer/
UDDI Version 3.0.2 http://www.uddi.org/pubs/uddi_v3.htm
30Tecnologas de Distribucin de
Contenidos - UC3M
Bibliografa
Web Services Platform Architecture Sanjiva Weerawarana, Francisco Curbera, Frank Leymann,
Tony Storey, Donald F. Ferguson.
Prentice Hall, 2005. ISBN: 978-0131488748
Professional XML Web services Vivek Chopra, Zaev Zoran, Gary Damschen, Chris Dix,
Patrick Cauldwell, Rajesh Chawla, Kristy Saunders, Glenn
Olander, Francis Norton, Tony Hong, Uche Ogbuji, Mark
A. Richman
Wrox Press, 2001. ISBN: 978-1861005090