Servicios Web     Programación de Red.    Ingeniería en Informática
Servicios WebObjetivos: Conocer el concepto de Servicios Web y toda  la tecnología asociada Conocer los protocolos más i...
Servicios Web Concepto de Servicio Web. SOAP. WSDL. UDDI (WSIL). Orquestación de Servicios Web. Seguridad           ...
UDDI UDDI (Universal Description Discovey and Integration)    Primera propuesta en Septiembre de 2000 (IBM, Ariba y     ...
UDDI¿Qué es UDDI?  UDDI es un conjunto de especificaciones que definen   una forma de publicar y descubrir información so...
UDDIPila de protocolos de servicios Web (UDDI) Con UDDI se alcanza una cota más en el proceso hacia la consecución de un s...
UDDI¿Qué permite UDDI?  A los desarrolladores ⇒ encontrar información   para escribir los clientes de los servicios Web ...
UDDIEspecificación UDDI 2.0:  Especificación de la API del programador ⇒ define   la interfaz de acceso SOAP a un registr...
UDDIEspecificación UDDI 2.0:  Las especificaciones UDDI y el esquema se   usan para construir servicios de   descubrimien...
UDDIRelación entre especificaciones, esquema yregistros UDDI                                             10
UDDIRegistro UDDI global (universal)  Mantenido por IBM y Microsoft  UDDI Business Registry ⇒ nube UDDI  Las compañías ...
UDDI  Funcionamiento de UDDIConjunto de registros UDDI, cada uno mantenido por un operador (nubeUDDI), proveedores registr...
UDDIFuncionamiento UDDI  Instituciones de estándares (ISO, IEEE, ANSI, etc.) ⇒ publican en   el registro UDDI → descripci...
UDDIDatos almacenados en el Registro UDDI  UDDI clasifica los registros en base a para que se utiliza la    información  ...
UDDITipos de información (ED) en el Registro UDDI  BusinessEntity ⇒ Describe la organización que   ofrece el servicio → N...
UDDITipos de información en el Registro UDDI  tModels (Technical model) o Registros de tipo   de servicio ⇒ contienen la ...
UDDIEstructura almacenada en el registro UDDI                                            17
UDDIModelo de información UDDI  El modelo de información UDDI está definido   en un esquema XML ⇒ Define cinco tipos   pr...
UDDIModelo de información UDDI  Información de la empresa ⇒ businessEntity,  y corresponde a las páginas blancas y  amari...
UDDIModelo de información UDDI  Elementos (businessEntity):      discoveryURLs ⇒ URLs que apuntan a       mecanismos de ...
UDDIModelo de información UDDI  Elementos (businessEntity ⇒ información de  páginas amarillas):      indentifierBag ⇒ un...
UDDIModelo de información UDDI  Estructura de businessEntity <element name=”businessEntity”>  <complexType>   <sequence> ...
UDDIModelo de información UDDI  Información sobre servicios ⇒ businessService,   contiene información descriptiva sobre u...
UDDIModelo de información UDDI  Elementos (businessService):      name ⇒ El nombre de esta familia de servicios       (n...
UDDIModelo de información UDDI  Estructura de businessService <element name=”businessService”>  <complexType>   <sequence...
UDDIModelo de información UDDI  Información de enlace ⇒ bindingTemplate,   información técnica sobre un servicio (servici...
UDDIModelo de información UDDI  Elementos (bindingTemplate):      description ⇒ descripción textual de la plantilla de  ...
UDDIModelo de información UDDI  Estructura de bindingTemplate <element name=”bindingTemplate”>  <complexType>   <sequence...
UDDIRelación entre las estructuras de datos UDDI                                               29
WSILWSIL (Web Service Inspection Language)  WSIL (Lenguaje de Inspección de WS):      Otra forma de localizar servicios ...
WSILWSIL (Web Service Inspection Language)  WSIL (Lenguaje de Inspección de WS):      WSIL deja de lado la información d...
WSILWSIL (Web Service Inspection Language)  WSIL (Lenguaje de Inspección de WS):      Cuando sabes con que host (servido...
WSILWSIL (Web Service Inspection Language)                                          Web Server Obtener inspection.wisl de ...
WSILWSIL (Web Service Inspection Language)                                         Web Server  Obtener el soporte técnico ...
WSILWSIL (Web Service Inspection Language)  Estructura del documento WSIL <wsil:inspection>   <wsil:abstract xml:lang=""?...
WSILWSIL (Web Service Inspection Language)  Elementos:      inspection ⇒ etiqueta que sirve de raíz en un documento     ...
WSILWSIL (Web Service Inspection Language)  Elementos:      description ⇒ indica el punto de entrada a la descripción de...
WSILWSIL (Web Service Inspection Language)  Elementos:      link ⇒ permite enlazar el documento WSIL con otros       doc...
WSILWSIL (Web Service Inspection Language)  Ejemplo de servicio con un documento WSDL, que    será accedido mediante HTTP...
WSILWSIL (Web Service Inspection Language)  Otro ejemplo sencillo <?xml version="1.0"?> <inspection   xmlns="http://schem...
WSILWSIL (Web Service Inspection Language)  Ejemplo de enlace (link) con otro documento WSIL,   que podrá ser accedido me...
WSILWSIL (Web Service Inspection Language)  Publicación del documento:      WSIL es un método descentralizado de localiz...
WSILWSIL (Web Service Inspection Language)  Publicación del documento:      Documento enlazado ⇒ El lenguaje de marcas H...
WSILWSIL (Web Service Inspection Language)  Ejemplo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML>...
WSILWSIL (Web Service Inspection Language)  Ejemplo de documento WSIL que contiene un acceso   a los servicios encargados...
WSILWSIL (Web Service Inspection Language)  <service>   <name>Localizador</name>    <abstract>Localizador de las tiendos c...
WSILWSIL (Web Service Inspection Language)  <service>   <abstract>Servicios de cambio de monedas</abstract>    <descriptio...
WSILWSIL (Web Service Inspection Language)  Ejemplo:      Si además se tiene información sobre el servicio de suministro...
WSILWSIL (Web Service Inspection Language)  <link referencedNamespace=“urn:uddi-org:api“   <abstract>Acme suministros</abs...
WSILWSIL (Web Service Inspection Language)  <link referencedNamespace=“urn:uddi-org:api“   <abstract>Acme suministros</abs...
Conclusiones UDDI y WSILConclusiones UDDI y WSIL  UDDI ⇒ Un conjunto de especificaciones que definen   una forma de publi...
Upcoming SlideShare
Loading in …5
×

Tema 3 2

981 views

Published on

Published in: Education, Technology, Travel
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
981
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tema 3 2

  1. 1. Servicios Web Programación de Red. Ingeniería en Informática
  2. 2. Servicios WebObjetivos: Conocer el concepto de Servicios Web y toda la tecnología asociada Conocer los protocolos más importantes asociados a Servicios Web Estudiar SOAP, WSDL y UDDI (WSIL) Dar un visión general sobre orquestación de Servicios Web Conocer algunos aspectos de coreografía en Servicios Web 2
  3. 3. Servicios Web Concepto de Servicio Web. SOAP. WSDL. UDDI (WSIL). Orquestación de Servicios Web. Seguridad 3
  4. 4. UDDI UDDI (Universal Description Discovey and Integration)  Primera propuesta en Septiembre de 2000 (IBM, Ariba y Microsoft), desde la versión 3 (julio 2002) bajo el paraguas OASIS  Objetivos:  Especificar un framework (entorno de trabajo) para describir, publicar y descubrir servicios Web  Todo gira alrededor de la noción de bussines registry (un servicio de nombres y directorio) ⇒ La idea era registrar cada servicio desarrollado en todo el mundo  UDDI define estructuras de datos y APIs para publicar descripciones de servicios y buscar servicios  Al ser a su vez un servicio Web ⇒ las APIs de UDDI están también especificadas en WSDL con SOAP 4
  5. 5. UDDI¿Qué es UDDI?  UDDI es un conjunto de especificaciones que definen una forma de publicar y descubrir información sobre empresas y servicios, y por tanto, sobre servicios Web  UDDI consta de cuatro documentos de especificación relacionados y un esquema XML que define una API SOAP para el registro y descubrimiento de los servicios  En el contexto de servicios Web ⇒ UDDI define una nueva capa (nivel) que permite a usuarios utilizar un método común para averiguar los servicios ofrecidos por los demás y hacer accesibles los suyos propios 5
  6. 6. UDDIPila de protocolos de servicios Web (UDDI) Con UDDI se alcanza una cota más en el proceso hacia la consecución de un sistema basado en servicios Web totalmente universal y automático 6
  7. 7. UDDI¿Qué permite UDDI?  A los desarrolladores ⇒ encontrar información para escribir los clientes de los servicios Web  Dynamic binding ⇒ permitir a los clientes preguntar al registro y obtener las referencias a los servicios de interés Es decir, UDDI permite publicar información sobre los servicios Web, ayudándose de documentos WSDL de estos ⇒ hacer llegar al usuario la información de la empresa y de sus servicios de manera sencilla y rápida Además, UDDI permite ser consultado para la creación de clientes de forma automática, para mantener referencias de los documentos WSDL 7
  8. 8. UDDIEspecificación UDDI 2.0:  Especificación de la API del programador ⇒ define la interfaz de acceso SOAP a un registro UDDI y el funcionamiento del registro  Especificación de las estructuras de datos ⇒ define las estructuras de datos XML utilizadas en los mensajes SOAP definidos en la especificación de la API  Especificación de la replicación ⇒ describe el proceso de replicación y la interfaz requerida por los registros para conseguir la replicación entre operadores UDDI  Especificación de los operadores ⇒ describe el comportamiento y los parámetros operacionales requeridos para todos los operadores UDDI 8
  9. 9. UDDIEspecificación UDDI 2.0:  Las especificaciones UDDI y el esquema se usan para construir servicios de descubrimiento en Internet  Estos servicios (de descubrimiento) presentan una interfaz consistente para publicación y permiten el descubrimiento programático de servicios  Estos servicios de descubrimiento serían realmente los registros UDDI 9
  10. 10. UDDIRelación entre especificaciones, esquema yregistros UDDI 10
  11. 11. UDDIRegistro UDDI global (universal)  Mantenido por IBM y Microsoft  UDDI Business Registry ⇒ nube UDDI  Las compañías que alojan el registro UDDI global se llaman operadores UDDI  Estos operadores son gratis, y cualquier empresa puede publicar información sobre los servicios que ofrece  Nube UDDI ⇒ un conjunto de registros que replican su información en todos y que, para el que accede a ellos, funcionan cómo uno solo ⇔ registrado una vez, publicado en todos sitios  Registro UDDI global ⇒ proporciona una forma estándar de publicar y consultar servicios y puede utilizarse como base para proporcionar servicios de búsqueda más complejos 11
  12. 12. UDDI Funcionamiento de UDDIConjunto de registros UDDI, cada uno mantenido por un operador (nubeUDDI), proveedores registrando sus servicios y clientes buscandoservicios concretos 12
  13. 13. UDDIFuncionamiento UDDI  Instituciones de estándares (ISO, IEEE, ANSI, etc.) ⇒ publican en el registro UDDI → descripciones de varios tipos de servicios  Las empresas (proveedores de servicios) ⇒ publican en el registro UDDI descripciones de los servicios que proporcionan → Estos servicios deben implementar una interfaz propia o conocida  El registro UDDI ⇒ asigna identificadores únicos a cada servicio y empresa registrada  Mercados online, motores de búsqueda, y aplicaciones empresariales ⇒ consultan el registro UDDI para descubrir servicios  La empresas ⇒ usarán la información obtenida para invocar métodos en servicios remotos e integrarlos sobre Internet 13
  14. 14. UDDIDatos almacenados en el Registro UDDI  UDDI clasifica los registros en base a para que se utiliza la información  Páginas blancas ⇒ Nombre de la empresa, información de contacto, listados de organizaciones y servicios. Los cliente UDDI pueden encontrar servicios Web dados por una empresa  Páginas amarillas ⇒ Información de industria, clasificación de compañías y servicios Web de acuerdo a una taxonomía (NAICS, UNSPSC, etc.)  Páginas verdes ⇒ Información técnica sobre los servicios que la compañía proporciona y especificaciones. Describe cómo puede ser invocado un servicio Web, punteros a descripciones de servicios (descripciones externas al registro UDDI) 14
  15. 15. UDDITipos de información (ED) en el Registro UDDI  BusinessEntity ⇒ Describe la organización que ofrece el servicio → Nombre, dirección y otra información de contacto  BusinessService ⇒ Grupo de servicios Web relacionados ofrecido por una BusinessEntity (empresa), pero ofrecida en diferentes direcciones, versiones, y tecnologías. Al igual que las BusinessEntity, pueden incluir información de clasificación → corresponde con una clase de servicio  BusinessTemplate ⇒ Información técnica para utilizar el servicio → Dirección del servicio, Referencias documentos (tModels) describiendo el interfaz u otras propiedades, cómo dar valor a los parámetros y valores por defecto 15
  16. 16. UDDITipos de información en el Registro UDDI  tModels (Technical model) o Registros de tipo de servicio ⇒ contienen la información que un programador necesitaría saber para poder usar un servicio Web particular  tModels ⇒ Contenedor genérico para cualquier especificación. Por ejemplo, puede representar un interfaz de servicio en WSDL, un protocolo de interacción, o la semántica de una operación 16
  17. 17. UDDIEstructura almacenada en el registro UDDI 17
  18. 18. UDDIModelo de información UDDI  El modelo de información UDDI está definido en un esquema XML ⇒ Define cinco tipos principales de información que una empresa necesitaría saber para usar un servicio Web  Información de la entidad de negocio (empresa)  Información del servicio  Información de enlace  Punteros de especificación e información técnica  Aserciones del proveedor 18
  19. 19. UDDIModelo de información UDDI  Información de la empresa ⇒ businessEntity, y corresponde a las páginas blancas y amarillas sobre la empresa. Atributos:  BusinessKey ⇒ una clave única que identifica a la entidad de negocio  operador ⇒ nombre del operador del registro UDDI donde está publicada esta entrada  authorizedName ⇒ el nombre de la persona que publico esta entrada 19
  20. 20. UDDIModelo de información UDDI  Elementos (businessEntity):  discoveryURLs ⇒ URLs que apuntan a mecanismos de descubrimiento alternativos para el servicio  name ⇒ Nombre de la organización  description ⇒ una descripción breve de la entidad de negocio  contacts ⇒ información de contacto para la organización  businessServices ⇒ lista de los servicios que esta empresa provee y sus características 20
  21. 21. UDDIModelo de información UDDI  Elementos (businessEntity ⇒ información de páginas amarillas):  indentifierBag ⇒ una lista de pares nombre- valor que actúan como identificadores alternativos para la empresa. Esto permite a los clientes buscar una empresa usando nombres identificativos diferentes  categoryBag ⇒ una lista de pares nombre- valor que etiquetan a la empresa con información específica de clasificación 21
  22. 22. UDDIModelo de información UDDI  Estructura de businessEntity <element name=”businessEntity”> <complexType> <sequence> <element ref=”discovery URLs” minOccurs=”0”/> <element ref=”name” maxOccurs = “unbounded”/> <element ref=”description” minOccurs=”0” maxOccurs=”unbounded”/> <element ref=”contacts” minOccurs=”0”/> <element ref=”businessServices” minOccurs=”0”/> <element ref=”identifierBag” minOccurs=”0” /> <element ref=”categoryBag” minOccurs=”0”/> </sequence> <attribute ref=”businessKey” use=”required”/> <attribute ref=”operator”/> <attribute ref=”authorizedName”/> </complexType> </element> 22
  23. 23. UDDIModelo de información UDDI  Información sobre servicios ⇒ businessService, contiene información descriptiva sobre una familia de servicios proporcionados por una entidad de negocio (páginas verdes de la empresa). Familia de servicios ⇒ conjunto de servicios cuya función es la misma pero con una interfaz diferente. Atributos:  serviceKey ⇒ una clave única que identifica este servicio. Esta clave es asignada por el operador cuando se registra el servicio  businessKey ⇒ la clave de la entidad de negocio que ofrece este servicio 23
  24. 24. UDDIModelo de información UDDI  Elementos (businessService):  name ⇒ El nombre de esta familia de servicios (nombre del servicio de alto nivel)  description ⇒ Una descripción textual de la familia de servicios  bindingTemplates ⇒ las plantillas de enlace que dan la descripción técnica de la familia de servicios  categoryBag ⇒ una lista de pares nombre- valor que etiquetan el servicio con información taxonómica específica 24
  25. 25. UDDIModelo de información UDDI  Estructura de businessService <element name=”businessService”> <complexType> <sequence> <element ref=”name” maxOccurs=”unbounded”/> <element ref=”description” minOccurs=”0” maxOccurs=”unbounded”/> <element ref=”bindingTemplates”/> <element ref=”categoryBag minOccurs=”0”/> </sequence> <attribute ref=”serviceKey” use=”required”/> <attribute ref=”businessKey”/> </complexType> </element> 25
  26. 26. UDDIModelo de información UDDI  Información de enlace ⇒ bindingTemplate, información técnica sobre un servicio (servicio de bajo nivel), que ayuda a los clientes a conectarse e invocar el servicio Web Atributos:  bindingKey ⇒ una clave única que identifica esta plantilla de enlace → identificador único asignado por el operador del registro  serviceKey ⇒ la clave del elemento businessService que contiene esta plantilla de enlace 26
  27. 27. UDDIModelo de información UDDI  Elementos (bindingTemplate):  description ⇒ descripción textual de la plantilla de enlace  accessPoint ⇒ el punto de acceso para la información → contiene el punto de entrada para el servicio. Valores válidos para el punto de acceso pueden ser una URL, dirección de email o incluso un número de teléfono. El punto de acceso tiene un atributo urlType, y posibles valores = http, https, ftp, fax, phone y mailto  hostingRedirector ⇒ apunta a otra plantilla de enlace, y se usa cuando el punto de acceso no está especificado  tModelInstanceDetails ⇒ una lista de estructuras tModel. tModel ⇔ huella digital para el servicio 27
  28. 28. UDDIModelo de información UDDI  Estructura de bindingTemplate <element name=”bindingTemplate”> <complexType> <sequence> <element ref=”description” minOccurs=”0” maxOccurs=”unbounded”/> <choice> <element ref=”accessPoint” minOccurs=”0”/> <element ref=”hostingRedirector” minOccurs=”0”/> </choice> <element ref=”tModelInstanceDetails”/> </sequence> <attribute ref=”bindingKey” use=”required”/> <attribute ref=”serviceKey”/> </complexType> </element> 28
  29. 29. UDDIRelación entre las estructuras de datos UDDI 29
  30. 30. WSILWSIL (Web Service Inspection Language)  WSIL (Lenguaje de Inspección de WS):  Otra forma de localizar servicios Web  No es competidor de UDDI, sino que IBM y Microsoft lo propusieron para completarlo, ya que en algunas ocasiones es más útil WSIL y en otras lo será UDDI  WSIL funciona de forma descentralizada, al contrario que UDDI que está centralizado ⇒ No existe un registro universal en el que buscar, sino que cada nodo puede tener su(s) propio(s) documento(s) WSIL con las especificaciones necesarias para la búsqueda de WS  WSIL se apoya de manera importante en el documento WSDL ⇔ documento de especificación similar 30
  31. 31. WSILWSIL (Web Service Inspection Language)  WSIL (Lenguaje de Inspección de WS):  WSIL deja de lado la información de la empresa (UDDI), permitiendo realizar un documento de especificación que será algo semejante a una tarjeta de presentación con los servicios disponibles por parte de dicho documento  Con un documento WSIL se puede referenciar servicios UDDI o WSDL (o otros servicios WSIL)  Documento WSIL es un documento XML que actúa como un puntero intermediario a la descripción del servicio ⇒ lista de punteros hacia documentos WSDL que son los encargados de describir el servicio  WSIL es sencillo y extensible a otras descripciones, ya que se utiliza XML como soporte base 31
  32. 32. WSILWSIL (Web Service Inspection Language)  WSIL (Lenguaje de Inspección de WS):  Cuando sabes con que host (servidor) deseas trabajar, por ejemplo, www.progress.com  Por convenio buscar el documento WSIL inspection.wsil, por ejemplo, http://www.progress.com/inspection.wsil  El documento WSIL soporta enlazado con otros documentos WSIL Empresa WSIL Unidad de WSIL WSIL producción WSIL WSIL WSIL Department 32 o
  33. 33. WSILWSIL (Web Service Inspection Language) Web Server Obtener inspection.wisl de www.progress.com Application Server Business Interface SOAP Processor Listener GET WISL HTTP Web Service Business Client Response(WISL) Logic WSIL WSDL WSIL WSDL WSDL WSDL 33
  34. 34. WSILWSIL (Web Service Inspection Language) Web Server Obtener el soporte técnico WSDL denominado techsupport.wsdl de www.progress.com Application Server Business Interface SOAP Processor Listener GET WSDL HTTP Web Service Business Client Response(WSDL) Logic WSIL WSDL WSDL WSIL WSDL WSDL WSDL 34
  35. 35. WSILWSIL (Web Service Inspection Language)  Estructura del documento WSIL <wsil:inspection> <wsil:abstract xml:lang=""? ... /> * <wsil:service> * <wsil:abstract xml:lang=""? ... /> * <wsil:name xml:lang=""? ... /> * <wsil:description referencedNamespace="uri" location="uri"?> * <wsil:abstract xml:lang=""? ... /> * <-- extensibility element --> ? </wsil:description> </wsil:service> <wsil:link referencedNamespace="uri" location="uri"?/> * <wsil:abstract xml:lang=""? ... /> * <-- extensibility element --> ? </wsil:link> </wsil:inspection> 35
  36. 36. WSILWSIL (Web Service Inspection Language)  Elementos:  inspection ⇒ etiqueta que sirve de raíz en un documento WSIL y representa el elemento que contendrá a todos los demás  abstract ⇒ pequeño texto dirigido a los humanos que utilicen el documento, indicando aclaraciones, modos de uso o cualquier cosa que considere necesaria el diseñador del documento. Puede haber 0 o más elementos de este tipo  service ⇒ es el elemento donde se define realmente la entrada al localizador del servicio  name ⇒ se refiere al nombre que se dará al servicio. Se puede indicar el nombre en varios idiomas. Puede haber 0 o más elementos de este tipo, y no asegura que sea único 36
  37. 37. WSILWSIL (Web Service Inspection Language)  Elementos:  description ⇒ indica el punto de entrada a la descripción del servicio, y es junto con link la parte más importante del documento WSIL. Es necesario el atributo referencedNamespace que indica el namespace del documento refrenciado. Atributo localization, que es optativo y que permite ofrecer un enlace hacia la despcripción. El enlace debe ser una URL válida, y el documento debe ser accesible mediante el mecanismo de acceso primario de la URL espedificada. Si es una URL de un ftp ⇒ debe poder accederse mediante un GET, si es una URL de tipo HTTP ⇒ se podrá acceder mediante un HTTP GET. Además, si es necesario paso de parámetros ⇒ se utilizan elementos de 37 extensión, donde se advierte de los detalles pertinente
  38. 38. WSILWSIL (Web Service Inspection Language)  Elementos:  link ⇒ permite enlazar el documento WSIL con otros documentos del mismo tipo o cualquier otro método de localización de servicios Web, por ejemplo registro UDDI. Atributo referencedNamespace define el namespace de la fuente de datos agregada, y si es otro archivo WSIL su valor será http://schemas.xmlsoap.org/ws/2001/10/inspection/. El atributo optativo location permite definir un mecanismo por el cual se pueden obtener la fuente de los datos que se quieren enlazar mediante el mecanismo primario de su URL. Si no existe este atributo o no se puede acceder mediante el mecanismo primario, se debe de añadir un elemento de extensión en el que se indica la información necesaria para la 38 obtención de los datos que han sido enlazados
  39. 39. WSILWSIL (Web Service Inspection Language)  Ejemplo de servicio con un documento WSDL, que será accedido mediante HTTP GET <?xml version="1.0"?> <inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"> <service> <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://example.com/stockquote.wsdl" /> </service> </inspection> Este documento es un sencillo ejemplo de documento WS-Inspection que proporciona información de la cuota disponible (stock quote). El documento tiene un enlace a un documento WSDL accesible a través de HTTP, el cual describe su interfaz 39
  40. 40. WSILWSIL (Web Service Inspection Language)  Otro ejemplo sencillo <?xml version="1.0"?> <inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/" xmlns:wsilwsdl=http://schemas.xmlsoap.org/ws/2001/10/inspection/wsdl"> <service> <name xml:lang="en-US">TechSupport</name> <description referencedNamespace= "http://schemas.xmlsoap.org/wsdl/" location= "http://www.progress.com/TechSupport.wsdl"> </description> </service> </inspection> 40
  41. 41. WSILWSIL (Web Service Inspection Language)  Ejemplo de enlace (link) con otro documento WSIL, que podrá ser accedido mediante HTTP GET <?xml version="1.0"?> <inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/"> <link referencedNamespace = "http://schemas.xmlsoap.org/ws/2001/10/inspection" location="http://acme.com/compras/inspection.wsil"/> </inspection> 41
  42. 42. WSILWSIL (Web Service Inspection Language)  Publicación del documento:  WSIL es un método descentralizado de localización de servicios ⇒ problema de la búsqueda del documento WSIL. Para solucionarlo, la especificación WS-Inspection ofrece dos posibilidades, describiendo su búsqueda y su localización. Estas dos soluciones son mediante:  Nombre fijo  Documento enlazado  Nombre fijo ⇒ al realizar la búsqueda del archivo con el documento WSIL nos podemos encontrar con dos problemas: nombre del archivo y localización. Solución ⇒ los documentos de publicación WSIL, deben llamarse inspection.wsil y deben colocarse en los puntos de entrada más comunes 42
  43. 43. WSILWSIL (Web Service Inspection Language)  Publicación del documento:  Documento enlazado ⇒ El lenguaje de marcas HTML tiene una etiqueta llamada META que permite al autor dar información acerca del documento, y no sobre el formato del documento como la mayoría de las etiquetas de este lenguaje. Toda la información que se proporcione mediante estas marcas no se visualiza, pero su se podrá ver si se decide mostrar el código fuente de la página. Además estas marcas sirven de referencia a los crawlers de los motores de búsqueda en Web como Google  En este caso, la marca META se utiliza como enlace a los puntos donde se encuentren los distintos documentos WSIL. Problema ⇒ esta etiqueta no está diseñada para esta finalidad, 43 aunque su uso puede ser útil en este caso
  44. 44. WSILWSIL (Web Service Inspection Language)  Ejemplo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META name="serviceInspection" content="localservices.wsil"> <META name="serviceInspection" content="http://www.example.com/calculators.wsil"> <META name="serviceInspection" content="ftp://www.anotherexample.com/translators.wsil"> … </HEAD> <BODY> ... </BODY> </HTML> Como se puede apreciar, ya no hace falta que el nombre del archivo WSIL sea inspection.wsil, sino que se puede poner el que se quiera, aunque no deja de ser una buena costumbre utilizar siempre como nombre el estándar de la especificación 44
  45. 45. WSILWSIL (Web Service Inspection Language)  Ejemplo de documento WSIL que contiene un acceso a los servicios encargados del tema de localización de comercios, y el otro es la versión 2 del mismo (documentos localizador.wsdl y localizadorV2.wsdl, respectivamente) <?xml version="1.0"?> <inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/“ xmlns:wsiluddi="http://schemas.xmlsoap.org/ws/2001/10/inspectio n/uddi/” xmlns:wsilwsdl="http://schemas.xmlsoap.org/ws/2001/10/inspectio n/wsdl/”> 45 <abstract>Productos Acme</abstract>
  46. 46. WSILWSIL (Web Service Inspection Language) <service> <name>Localizador</name> <abstract>Localizador de las tiendos con productos acme</abstract> <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://acme.com/servicios/localizador.wsdl"/> <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://acme.com/servicios/localizadorV2.wsdl"/> </description> </service> Por otra parte, se tiene un documento WSDL localizado en el servidor FTP, que contiene servicios de conversión entre monedas. Para acceder a él se genera una nueva entrada <service> 46
  47. 47. WSILWSIL (Web Service Inspection Language) <service> <abstract>Servicios de cambio de monedas</abstract> <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location=“ftp://ftp.acme.com/util/conversor.wsdl"/> </service> <link referencedNamespace="http://schemas.xmlsoap.org/ws/2001/10/in spection/“ location="http://acme.com/suministros/inspection.wsil"/> <abstract>Acme suministros</abstract> </link> 47
  48. 48. WSILWSIL (Web Service Inspection Language)  Ejemplo:  Si además se tiene información sobre el servicio de suministros ya introducida en un registro UDDI, también se puede hacer uso de ella. Para esto se introduce un nuevo elemento <link>. En este caso se necesitan unos elementos de extensión para poder recuperar la especificación  Se añade un elementos <serviceKey> que permitirá acceder al servicio en concreto, como valor de este elemento tiene que darse el UDDI del servicio. Además, se ha introducido una URL en el elemento <discoveryURL>. Mediante este elemento, que es opcional, es posible expresar una URL por la que se obtendrá la estructura <businessEntity> mediante una petición HTTP GET 48
  49. 49. WSILWSIL (Web Service Inspection Language) <link referencedNamespace=“urn:uddi-org:api“ <abstract>Acme suministros</abstract> <wsiluddi:serviceDescription location="http://reguddi.org/uddi/inquiryapi"> <wsiluddi:serviceKey>4AA4227F0-2C66-1A1B-9A37- BA120FF33F72</wsiluddi:serviceKey> <wsiluddi:discoveryURL useType=“businessEntity”>http://reguddi.org(uddi?3A542AD0-2C66- 1A1B-9A37-BA120FF33F72</wsiluddi:discoveryURL> </wsiluddi:serviceDescription> </link> Si en el elemento que accede al registro UDDI se quisiera recuperar todos los servicios en lugar de uno en concreto, es posible hacerlo recuperando todos de uno en uno o bien recuperar el elemento <businessEntity> con todos sus servicios, para 49 ello habría que cambiar la etiqueta <serviceKey> por <businessKey>
  50. 50. WSILWSIL (Web Service Inspection Language) <link referencedNamespace=“urn:uddi-org:api“ <abstract>Acme suministros</abstract> <wsiluddi:businessDescription location="http://reguddi.org/uddi/inquiryapi"> <wsiluddi:businessKey>3A542AD0-2C66-1A1B-9A37- BA120FF33F72</wsiluddi:businessKey> <wsiluddi:discoveryURL useType=“businessEntity”>http://reguddi.org(uddi?3A542AD 0-2C66-1A1B-9A37- BA120FF33F72</wsiluddi:discoveryURL> </wsiluddi:businessDescription> 50 </link>
  51. 51. Conclusiones UDDI y WSILConclusiones UDDI y WSIL  UDDI ⇒ Un conjunto de especificaciones que definen una forma de publicar y descubrir información sobre empresas y servicios, y por tanto, sobre servicios Web  UDDI ⇒ Permite publicar información sobre los servicios Web, ayudándose de documentos WSDL de estos → Hacer llegar al usuario la información de la empresa y de sus servicios de manera sencilla y rápida  WSIL ⇒ Lenguaje de inspección de WS → Funciona de forma descentralizada, al contrario que UDDI (centralizado) → No existe un registro universal en el que buscar, sino que cada nodo puede tener su(s) propio(s) documento(s) WSIL con las especificaciones necesarias para la búsqueda de WS → Se apoya de manera importante en el documento WSDL 51

×