• No se han encontrado resultados

4.5 WEB SEMÁNTICA 61

4.6.2. Tecnologías y Estándares de Servicios Web 85

Los SW se registran y anuncian utilizando los siguientes lenguajes y protocolos. Mucho de estos estándares y otros están siendo desarrollados en el proyecto UDDI [UDDI04], un consorcio de industrias que coordina los esfuerzos de diseño y creación. Estas tecnologías encapsulan un conjunto de estándares que permite a los desarrolladores implementar aplicaciones distribuidas.

XML (eXtensible Markup Language).

Nació en febrero de 1998 y ha revolucionado la forma en que estructuramos, describimos e intercambiamos información. El diseño de XML se deriva de dos fuentes principales: SGML (Standard Generalized Markup Language) y de HTML (HyperText Markup Language). Independientemente de las múltiples formas en que se utiliza hoy en día el XML, todas las tecnologías de SW se basan en él. A continuación se citan las tecnologías de SW más importantes.

UDDI (Universal Description, Discovery and Integration).

Fruto de las estandarizaciones de OASIS podemos citar a UDDI v2 en abril de 2003. Es un protocolo para describir los componentes disponibles de SW. Este estándar permite a las empresas registrarse en un tipo de directorio de páginas amarillas de Internet que les ayuda anunciar sus servicios, de tal forma que las compañías se puedan encontrar unas a otras y realizar transacciones en la Web. El proceso de registro y consultas se realiza utilizando mecanismos basados en XML y HTTP(S). En el proyecto UDDI se trabaja para proveer un método de acceso común a los metadatos necesarios para determinar si un elemento de código previamente elaborado es suficiente, y si lo es, cómo acceder a él.

Un registro UDDI se puede comparar con un buscador en Internet, puesto que el buscador contiene información indexada y categorizada sobre las páginas Web. A diferencia del buscador, que únicamente devuelve un URL de una página Web, un registro UDDI necesita ofrecer no solo la localización de los servicios, sino también información sobre el servicio, cómo funciona, qué parámetros utilizar, qué valores devuelve, etc. Más específicamente, UDDI incluye tres tipos de información registrada: Páginas Blancas (empresas organizadas por nombre), Páginas Amarillas (empresas categorizadas por sector), y Páginas Verdes (empresas organizadas por servicio).

SOAP (Simple Object Access Protocol)

En mayo de 2000, el W3C reconoció la propuesta de SOAP presentada por diversas empresas de forma conjunta. El 23 de junio de 2003 se alcanzó la fase de recomendación oficial de W3C para SOAP 1.2 [SOAP03]. El SOAP simplifica el acceso a los objetos, permitiendo a las aplicaciones invocar métodos objeto o funciones, que residen en sistemas remotos. Se basa en XML y describe un formato de mensajería para la comunicación entre equipos. Contiene también varias secciones opcionales que describen las llamadas a métodos (RPC) y proporcionan detalles sobre el envío de mensajes SOAP a través de HTTP.

Los objetivos primordiales de SOAP, son:

• Establecer un protocolo estándar de invocación de servicios remotos, basado en protocolos estándares de Internet: HTTP para la transmisión y XML para la codificación de datos.

• Independencia de plataforma, lenguaje de desarrollo e implementación (modelo de objetos).

Un mensaje SOAP se compone de tres partes principales: un sobre, un encabezado y un cuerpo. El sobre indica que el código XML es un mensaje SOAP estándar. El encabezado contiene información de carácter opcional sobre el mensaje (datos para la autenticación, por ejemplo,). Por último, el cuerpo contiene información relativa al componente al que la aplicación está efectuando la llamada (es decir, los parámetros de entrada y salida esperados y los tipos de datos de dichos parámetros).

WSDL (Web Service Description Language).

Es el estándar propuesto para la descripción de los SW, el cual consiste en un lenguaje de definición de interfaz (IDL - Interface Definition Language) de servicio basado en XML, que define la interfaz de servicio y sus características de implementación. El WSDL es apuntado en los registros UDDI y describe los mensajes SOAP que definen un servicio Web en particular. WSDL fue propuesto por Ariba, IBM, y Microsoft para describir SW en el ámbito de protocolos de los grupos de trabajo del WWW Consortium W3C-XML y es ya una recomendación oficial. La versión 1.0 de WSDL data de septiembre de 2000. Actualmente el grupo de trabajo de W3C está desarrollando la versión 2.0 [WSDL04].

Los documentos WSDL definen los servicios como colecciones de puntos finales de red o puertos. En WSDL, la definición abstracta de puntos finales y de mensajes se separa de la instalación concreta de red o de los enlaces del formato de datos. Esto permite la reutilización de definiciones abstractas: mensajes, que son descripciones abstractas de los datos que se están intercambiando y tipos de puertos, que son colecciones abstractas de operaciones. Las especificaciones concretas del protocolo y del formato de datos para un tipo de puerto determinado constituyen un enlace reutilizable. Un puerto se define por la asociación de una dirección de red y un enlace reutilizable; una colección de puertos define un servicio.

Es importante observar que WSDL no introduce un nuevo lenguaje de definición de tipos. WSDL reconoce la necesidad de disponer de diferentes sistemas de tipos para describir los formatos de mensaje y admite como sistema de tipos canónico la especificación de los esquemas XML. Sin embargo, puesto que no es razonable esperar una única gramática del sistema de tipos que se utilice para describir todos los formatos de mensajes presentes y futuros, WSDL permite el uso de otros lenguajes de definición de tipos mediante la extensibilidad.

WSCI (Web Service Coreography15 Interface)

WSCI [WSCI04] es una iniciativa (no estándar) lanzada por BEA, INTALIO, SAP, y SUN para complementar a WSDL.

WSCI complementa a WSDL indicando el comportamiento requerido o la lógica de un servicio más completo. Permite expresar las distintas operaciones que deben ejecutarse para realizar un servicio complejo, y las relaciones/condiciones entre ellas.

• No extiende ni cambia a WSDL.

• No compite con WSDL, sino que requiere de él y lo complementa.

15

Coreography es un modelo de la secuencia de operaciones, estados, y condiciones que controlan las interacciones involucradas en los servicios participantes [WSA04].

• WSCI hace que WSDL sea más utilizable, ya que WDSL únicamente permite describir servicios más simples y sin estados.

• WSCI permite formar servicios completos, mediante descripciones de servicios WSDL.

Haciendo uso de WSDL tendríamos la visión WSDL (estática) del servicio y sus operaciones, pero no tenemos idea del orden de las operaciones, ni de las relaciones de dependencia entre ellas. Esto es lo que permite completar WSCI.

El cliente puede así observar el orden lógico de las operaciones que tiene que realizar para por ejemplo, planificar un viaje completo, como una secuencia de operaciones WSDL. WSCI también permite tomar decisiones en función del resultado de una operación (condiciones IF), realizar bucles, etc.

WSFL (Web Services Flow Language)

Se trata de un lenguaje creado por IBM y diseñado exclusivamente para representar flujos de SW y de este modo facilitar la creación de orquestaciones16 de estos servicios. Se trata de un lenguaje muy sencillo y basado en XML.

Dentro de WSFL sin duda los conceptos más importantes son los de actividad y proveedor de servicios. Las actividades son las tareas a realizar mientras que los proveedores de servicios son las personas/roles encargadas da realizar dichas actividades. La versión 1.0 se puede encontrar en [WSFL04].