servicios-web-ii-uddi.pdf

15
1 Tecnologías de Distribución de Contenidos - UC3M 1 Servicios Web (II) Norberto Fernández, Jesús Arias Departamento de Ingeniería Telemática http://www.it.uc3m.es/berto/ http://www.it.uc3m.es/jaf/ 2 Tecnologías de Distribución de Contenidos - UC3M UDDI Universal Description Discovery and Integration

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