Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Servicios Web Semánticos. Josué José Rivera Muñoz josue_rivera@ieee.org Doctorado en Ingeniería Informática, Ingeniería de Software Universidad Pontificia de Salamanca Madrid - 2008 Resumen—Los Servicios Web Semánticos son la evolución de la popular tecnología de los Servicios Web a los que se les aplica los conceptos introducidos por la Web Semántica. En este trabajo se describen, en primer lugar, las partes constituyentes de la tecnología de los Servicios Web Semánticos y además, se presenta una descripción detallada de las principales características de esta tecnología y se enumeran las distintas aproximaciones propuestas al W3C para alcanzar un estándar. En síntesis este trabajo establece un resumen del estado del arte de los Servicios Web Semánticos, su papel en la Web Semántica, además de sus diferentes propuestas para alcanzar un estándar en esta tecnología. Índice de Términos—Servicios Web, Ontologías, Web Semántica, I. INTRODUCCIÓN. Hoy en día nos enfrentamos a la búsqueda de información en una Web que contiene un número gigantesco de diversos recursos, pero ésta, carece de una estructura lógica y estable, lo cual causa graves problemas en la recuperación efectiva de la información. Buscar cierta información en la Internet actual puede resultar imposible, debido a que la Web de hoy es considerada “Sintáctica”, esta denominación se refiere que los recursos e información no cuentan con un significado o una semántica. Estos recursos Web, en su amplia mayoría HTML (HyperText Markup Language), son solo capaces de expresar su forma de presentación de contenidos. La falta de una infraestructura sólida y estable ha hecho de la Web un sistema de información complejo y no muy bien desarrollado, donde la gestión, mantenimiento y recuperación de información se han convertido en un problema para los gestores de la información y para el usuario de información electrónica. En este contexto, surge la necesidad de tener una Web Semántica creada como “una extensión de la actual (Web), en la cual la información está dada por significados bien definidos, mejorando la relación entre computadores y humanos para su trabajo cooperativo” [2]. Para que la Web semántica cuente con un mecanismo óptimo y eficaz en la recuperación de información, es necesario usar modelos de metadatos, estructuras de base para describir distintos objetos de información distribuidos en la Web, de tal forma que la búsqueda basada en estos metadatos mitigue el problema de la recuperación de información. “La Web semántica retoma el concepto de ontología usado en la inteligencia artificial que permite definir un vocabulario de clases y relaciones para describir unidades de información. La idea es que la Web semántica esté formada (al menos en parte) por una red de nodos tipificados e interconectados mediante clases y relaciones definidas por una ontología compartida por sus distintos autores”. [4] El W3C1, es un consorcio internacional que produce estándares para la World Wide Web. Está dirigida por Tim Berners-Lee2, quien es fundador de la Web, cuyo fin es lograr que las maquinas se puedan comprender, y por lo tanto, utilizar lo que la Web contiene. Por otro lado, las motivaciones que derivaron la aparición de los Servicios Web fueron bien distintas. En este caso, se comprobó que la Web era un simple repositorio de información y que no permitía la ejecución de funcionalidad remota. Además, en un momento en que se pretendía habilitar la interoperabilidad entre distintas compañías, se comprobó que el uso de protocolos propietarios limitaba esta interoperabilidad debido, principalmente, porque estas tecnologías chocaban una y otra vez con los cortafuegos instalados en las distintas corporaciones. Por tanto, se comprobó que la solución más efectiva era la utilización de un conjunto de protocolos estándar que permitiese el acceso a través de estos cortafuegos, desarrollándose así, los Servicios Web. 1 W3C, World Wide Web Consortium. www.w3.org/Consortium/ 2 Berners-Lee, T, Tim Berners-Lee. www.w3.org/People/Berners-Lee/ El siguiente paso en este sentido fue la unión de la Web Semántica y los Servicios Web. La descripción mediante anotaciones semánticas de las capacidades de los Servicios Web es lo que se ha dado en llamar Servicios Web Semánticos. Los Servicios Web Semánticos serán una tecnología integrada para la próxima generación de las aplicaciones en la Web, en donde se combinen la tecnología de la Web Semántica y la tecnología de los Servicios Web, de manera que transforman la Internet que conocemos, de un repositorio de información para consumo humano a un sistema global de computación web distribuida. II. SERVICIOS WEB. A. ¿Que son los servicios Web? Veamos lo que nos dice el W3C en su guía breve sobre los servicios Web: “Existen múltiples definiciones sobre lo que son los Servicios Web, lo que muestra su complejidad a la hora de dar una adecuada definición que englobe todo lo que son e implican. Una posible sería hablar de ellos como un conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web”. [10] del protocolo HTTP con una serialización en XML en conjunción con otros estándares relacionados con la Web”. B. Arquitectura de los Servicios Web. Debido a los diferentes problemas asociados a la interoperabilidad que tenían las primeras soluciones de Servicios Web. Así, mientras unas se restringían a unas plataformas concretas, otras no eran flexibles en cuanto al lenguaje de programación. En general, el uso de soluciones propietarias suponía un problema en la mayoría de los casos porque, en primer lugar, imposibilitaba la interacción entre los elementos elaborados de acuerdo con las distintas soluciones y, lo que es peor, su uso global estaba fuertemente restringido por los cortafuegos (firewalls) que bloqueaban los puertos por los que se comunicaban estos componentes. Es así como se adquirieron un conjunto de estándares (Véase Figura 1) para que fueran aceptados mundialmente para construir una tecnología que fuese más acorde a la visión de Internet. 1) Estándares de la Tecnología. La tecnología de los Servicios Web se fundamenta en tres estándares principales el Web Services Description Language (WSDL, Lenguaje de Descripción de Servicios Web), el Simple Object Access Protocol (SOAP, Protocolo Simple de Acceso a Objetos) y el Universal Description, Discovery, and Integration (UDDI, Descripción, Descubrimiento e Integración Universales). Booth [3] y sus colegas proponen en su trabajo “Web Services Architecture” la siguiente definición de Servicio Web, que coincide con la proporcionada por el glosario de la actividad “Web Services Activity” del W3C: “Un Servicio Web es un sistema software designado para soportar interacciones interoperables de máquina a máquina sobre una red de comunicaciones. Un Servicio Web tiene una interfaz descrita en un formato procesable por el ordenador (en particular WSDL). Otros sistemas pueden interaccionar con el Servicios Web de la manera prescrita en su descripción usando mensajes SOAP, generalmente transmitidos mediante el uso Figura 1. Arquitectura de los Servicios Web. Lo primero, es que el proveedor publique una descripción del Servicio (fichero WSDL del servicio) en un registro UDDI, esto es, registre el servicio para su posterior utilización. Luego los clientes consumidores de servicios buscan aquellos que les sean necesarios para alcanzar un objetivo. El proceso de búsqueda lo realiza el propio registro UDDI, que recibe como entrada la funcionalidad esperada del servicio y debe devolver todos aquellos servicios que cumplan con esa funcionalidad. El registro de servicios devuelve al cliente, como respuesta a su petición, una lista con los ficheros de descripción de los servicios (esto es, en WSDL) cuyas capacidades cubran las necesidades del cliente. Una vez el cliente consumidor de servicio dispone de los ficheros WSDL de todos aquellos servicios a los que el cliente puede acceder para alcanzar un objetivo, aquel debe determinar qué servicio, de entre los de la lista, es el más apropiado de acuerdo con las preferencias del cliente. Cuando el cliente ha seleccionado el servicio más apropiado a ejecutar, realiza la petición al proveedor del servicio a través de un mensaje SOAP. El servicio es entonces ejecutando utilizando los parámetros de entrada indicados en el mensaje SOAP, y el resultado de la ejecución se devuelve al cliente en forma de otro mensaje SOAP, terminando así el proceso de invocación de un Servicio Web. III. SERVICIOS WEB SEMANTICOS. Los Servicios Web Semánticos son la evolución de la popular tecnología de los Servicios Web a los que se les aplica los conceptos introducidos por la Web Semántica. Éstos se pueden definir como la aplicación conjunta de conceptos de Servicios Web y de Web Semántica para crear Servicios Web inteligentes. [8] Esta tecnología es un nuevo paso en la evolución de la Web, que consiste en describir a los Servicios Web con contenido semántico de forma que el descubrimiento de servicios, su composición e invocación se pueda realizar de forma automática por parte de entidades software como es el caso de los Agentes Semánticos capaces de procesar la información semántica disponible. Cabral y Domingue en su artículo “Approaches to Semantic Web Services: An Overview and Comparisons”, afirman que la infraestructura de servicio Web semánticos, se puede caracterizar en tres dimensiones: actividades de uso, arquitectura y ontología del servicio. (Véase Figura. 2) [7] Figura 2. Dimensiones de la Infraestructura de los Servicios Web Semánticos. Las actividades de uso del Servicio Web Semántico identifican los requisitos funcionales que un framework de Servicios Web Semánticos debe soportar. La arquitectura de un framework de Servicios Web Semántico define los componentes necesarios para cumplir las actividades de uso especificadas anteriormente. Por último, la ontología del servicio representa las capacidades del servicio y sus restricciones de uso. Integra la semántica del servicio con su descripción. En síntesis podemos resumir los Servicios Web Semánticos utilizando la siguiente expresión: Servicios Web (Web de aplicaciones) + Web Semántica (Web de datos) = Servicios Web Semánticos (Web de datos y aplicaciones) IV. APROXIMACIONES. A. Web Ontology Language for Services (OWL-S) OWL-S anteriormente DAML-S desarrollado por la empresa DARPA (agencia de investigación del departamento de defensa de los Estados Unidos), y que utiliza como metalenguaje, para especificar modelos de conceptos, DAML+OIL, lenguaje de marcado a partir del cual ha surgido el OWL, que es empleado como base para el desarrollo de las ontologías de OWL-S Es una ontología de servicios que hace posible descubrir, invocar, componer y monitorizar recursos Web que ofrecen determinados servicios [9]. En OWL-S, un servicio se entiende como “un sitio Web que no solamente provee información estática sino que permite efectuar alguna acción o cambio en el mundo, tal como la venta de un producto o el control de un dispositivo físico”. La estructura de esta ontología viene dada por la necesidad de responder a tres aspectos básicos (Véase Figura 3) de un servicio: marco de trabajo conceptual y un lenguaje formal para describir de forma semántica todos y cada uno de los aspectos relevantes relacionados con los servicios Web para, así, facilitar la automatización de tareas tales como el descubrimiento, la combinación y la invocación de servicios electrónicos sobre la Web. Como vimos, los Servicios Web Semánticos serán una tecnología integrada para la próxima generación de las aplicaciones en la Web, en donde se combinen la tecnología de la Web Semántica y la tecnología de los Servicios Web, de manera que transforman la Internet que conocemos, de un repositorio de información para consumo humano a un sistema global de computación web distribuida. WSMO está basado en el modelo conceptual propuesto en el “Web Service Modeling Framework” (WSMF) [5], que identifica cuatro elementos de alto nivel (Véase Figura 4) que agrupan los conceptos principales que tienen que ser descritos para poder definir un Servicio Web Semántico. Estos elementos son los siguientes: 1) Perfil del servicio o anuncio de capacidades. En donde se establece que requiere el servicio del solicitante y que le proporcionará el servicio como respuesta. 2) Modelo del servicio. Corresponde a lo que hace el servicio. 1) Ontologías: Proporcionan la terminología que utilizan otros elementos de WSMO para describir los aspectos relevantes, las ontologías proporcionan definiciones formales que son procesables por la máquina. 3) El grounding. Establece la manera como se usa el servicio Un agente podrá descubrir dinámicamente el servicio gracias al perfil del servicio, y utilizarlo gracias a la información del modelo del servicio y del grounding 2) Servicios Web: Representan entidades computacional capaces de proporcionar acceso a los servicios. La descripción del servicio web abarca los interfaces, capacidades y el trabajo interno del servicio. Todos estos aspectos del servicio web son descritos utilizando la terminología definida por las ontologías. 3) Goals3: Describen aspectos relacionados con los deseos de los usuarios (clientes) respecto a la funcionalidad solicitada, se pueden usar las ontologías para describir la terminología usada en el dominio así Figura 3. Ontología de alto nivel de OWL-S. [9] B. Web Services (WSMO) Modeling Ontology WSMO fue la propuestas cronológicamente después de OWL-S [12] proporciona un 3 Goals – En castellano se traducen como Metas, nosotros mantendremos el término en inglés por claridad como los aspectos más relevantes de los propios Goals. 4) Mediators: Se utilizan para describir aquellos elementos que gestionan y manipulan los problemas de interoperatividad entre diferentes elementos de WSMO. Figura 4. Elementos de alto nivel de WSMO. [12] Tanto OWL-S como WSMO tienen un propósito común, la especificación de información semántica relacionada con los Servicios Web para permitir la automatización de tareas como el descubrimiento, la composición y la ejecución. C. Semantic (SWSF) Web Services Framework SWSF es la propuesta de la Iniciativa de Servicios Web Semánticos (SWSI, Semantic Web Services Initiative) para el desarrollo de Servicios Web mejorados. SWSI es un esfuerzo conjunto que involucra a investigadores del programa DAML y de proyectos europeos sobre Web Semántica (incluido el propio WSMO). El objetivo de SWSI es introducir las tecnologías de Web Semántica y, especialmente, de Servicios Web Semánticos en la web actual para desplegar todo su potencial. SWSI se divide en cinco comités, de entre los cuales nos interesa el Comité de Lenguaje, encargado de definir un lenguaje para descripción semántica de servicios. SWSI está íntimamente relacionada con OWL-S y WSMO, que constituyen la referencia de los desarrolladores de SWSF. El modelo del SWSF incluye dos componentes principales, el Lenguaje de Servicios Web Semánticos (SWSL, Semantic Web Services Language) y la ontología de Servicios Web (SWSO, Services Ontology). [1] Semantic Web SWSL es un lenguaje lógico de propósito general que incluye algunas características que lo hacen apropiado para la Web Semántica. Así pues, SWSL no es un formalismo para la descripción de servicios (no incluye ningún constructor específico para servicios), sino un lenguaje más general que puede utilizarse en otros escenarios. No obstante, su función principal es servir de base a la ontología SWSO. SWSL está formado por dos sublenguajes: SWSL-FOL (First Order Logic SWSL), orientado a la definición de ontologías, y SWSL-Rules, destinado a soportar tareas de razonamiento sobre ontologías en Lógica de Primer Orden. Aunque ambos lenguajes constituyen subconjuntos disjuntos de SWSL, es posible combinar conocimiento expresado en ambos. D. Web Service Semantics (WSDL-S) WSDL-S ha supuesto un cambio radical con respecto a las perspectivas “tradicionales” para la incorporación de semántica a los Servicios Web. WSDL-S define un mecanismo para asociar anotaciones semánticas con Servicios Web que han sido descritos utilizando WSDL. A diferencia de los lenguajes descritos anteriormente, WSDLS asume la existencia de modelos semánticos del dominio relevante para cada servicio, mantenido fuera del ámbito de los documentos WSDL y que pueden ser referenciados desde un documento WSDL a través de elementos de extensibilidad ideados como parte de la propuesta WSDL-S. La Figura 5. Muestra cómo las anotaciones semánticas están asociadas con diversos elementos de un documento WSDL (incluidas las entradas, las salidas y los aspectos funcionales como las operaciones, precondiciones y efectos) Por referencias a los conceptos semánticos en un modelo externo de dominio semántico. El modelo de dominio puede constar de una o más ontologías. [11] E. Semantic Annotations for Web Services Description Language (SAWSDL) Figura 5. Anotación semántica de los elementos de WSDL García Sánchez [6], ha determinado las ventajas de esta novedosa aproximación sobre otras, como OWL-S y WSMO: 1) Los usuarios pueden describir, de forma incremental, todos los detalles, tanto semánticos como a nivel de operaciones en WSDL, un lenguaje que es familiar para la comunidad de desarrolladores. 2) Al externalizar los modelos semánticos del dominio, WSDL-S permanece independiente del lenguaje de representación de ontologías que se desee utilizar. Esto permite a los desarrolladores de Servicios Web anotar sus servicios con el lenguaje ontológico de su elección (p.ej., UML, OWL, etc.). Esto supone una ventaja adicional, porque reutilizar modelos del dominio existentes expresados con lenguajes de modelado como UML puede acelerar la incorporación de anotaciones semánticas. 3) Es relativamente fácil modificar las herramientas existentes actualmente alrededor de la especificación WSDL para incorporar los elementos propuestos por esta aproximación. En todo caso, es más rápido y fiable que el desarrollo de herramientas implementadas desde cero. SAWSDL es una extensión del lenguaje de descripción de servicios Web (WSDL), surgió, en Abril de 2006, del grupo de trabajo SAWSDL4 como parte de la “W3C Web Services Activity”5. El objetivo de este grupo de trabajo es el desarrollo de un mecanismo que permita la anotación semántica de descripciones de Servicios Web. Está constituido por dos tipos básicos de anotaciones: la referencia al modelo y el mapeo del esquema. Las anotaciones de referencia al modelo son las mismas que las empleadas en el modelo WSDL-S, se utilizan para asociar interfaces, puertos, operaciones, entradas, salidas, elementos XML y atributos con conceptos semánticos. En cuanto al mapeo del esquema, son atributos añadidos a la declaración del esquema XML de los elementos, para especificar mapeos entre la información semántica y XML. Se utilizan durante la invocación de los servicios, para formatear la información del cliente a XML, de forma que pueda ser entendida por el servicio Web, solucionándose el problema de la estructura de las entradas y salidas del servicio. Normalmente suele ir asociado a una hoja de transformación XSLT. A diferencia de WSDL-S, permite especificar semánticamente el comportamiento de los servicios Web, mediante la utilización de lenguajes de descripción de ontologías como OWL. VII. CONCLUSIONES. La Web semántica se está convirtiendo en una realidad que crece diariamente, actualmente es una extensión lógica de la Web actual, pero estamos en una transición que puede durar muchos años debido a la gran cantidad de información que se debe preparar para el uso de metadatos. Para tener una adecuada recuperación de la información en la Web semántica es necesario contar con una mayor descripción semántica de los recursos y una estructuración lógica de estos. 4 Semantic Annotations for WSDL Working Group. http://www.w3.org/2002/ws/sawsdl/ 5 Web Services Activity Statement. http://www.w3.org/2002/ws/Activity Debido a esta realidad y al auge de las arquitecturas orientadas a servicios aparecen los servicios Web Semánticos como tecnología de futuro. En la Web extendida, la información se encuentra bien definida, de forma que puede ser interpretada por las máquinas, permitiendo la automatización de tareas que en la actualidad solamente pueden realizarse en tiempo de compilación, como son la composición, el descubrimiento dinámico o la ejecución de servicios. En cuanto a las aproximaciones, algunas (casi todas) se encuentran aún en etapa de desarrollo, aunque ya han sido presentadas al organismo estandarizador del W3C para su consideración a la hora de consensuar el estándar universal. Overview and Comparisons. Proceedings First European Semantic Web Symposium (ESWS2004) The SemanticWeb: Research and Applications, Lecture Notes in Computer Science 3053(LNCS3053), pages pp. 225239, Heraklion, Crete, Greece [8] Lara, R., Lausen, H., Arroyo, S., De Bruijn, J. & Fensel, D. (2003). Semantic Web Services: description requirements and current technologies. International Workshop on Electronic Commerce, Agents, and Semantic Web Services, In conjunction with the Fifth International Conference on Electronic Commerce (ICEC 2003). [9] OWL-S (2004). OWL-S: Semantic Markup for Web Services. W3C Member Submission 22 November 2004. http://www.w3.org/Submission/OWL-S/ VIII. BIBLIOGRAFIA. [1] Battle, S., Bernstein, A., Boley, H., Grosof, B., Gruninger, M., Hull, R., Kifer M., Martin, D., McIlraith, S., McGuinness, D., Su, J., & Tabet, S. (2005). Semantic Web Services Framework (SWSF) Overview. World Wide Web Consortium Submission. http://www.w3.org/Submission/SWSF/ [2] Berners-Lee, T., Hendler J. and Lassila O. (2001). The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities”, Scientific American. www.sciam.com/article.cfm?articleID=000 48144-10D2-1C70-84A9809EC588EF21 [3] Booth, D., Haas, H., McCabe, F., Newcomer, E., Champion, M., Ferris, C. & Orchard, D. (2004). Web Services Architecture. W3C Working Group Note. http://www.w3.org/TR/ws-arch [4] Castell, P. (2003). La Web Semántica. C. Bravo, M. A. Redondo (Eds.), Sistemas Interactivos y Colaborativos en la Web. Ediciones de la Universidad de Castilla - La Mancha, ISBN: 84-8427-352-0, pp. 195-212. www.ii.uam.es/~castells/publications/ca stells-uclm03.pdf [5] Fensel, D. & Bussler, C. (2002). The Web Service Modeling Framework WSMF. Electronic Commerce Research and Applications, 1(2), pp. 113-137. [6] Garcia, F. (2007). Sistema basado en tecnologías del conocimiento para entornos de Servicios Web Semánticos. Tesis Doctoral, Universidad de Murcia. [7] L. Cabral, J. Domingue, E. Motta. (2004) Approaches to Semantic Web Services: An [10] W3C, World Wide Web Consortium. (2005) Guía Breve de Servicios Web. Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University. http://www.w3c.es/Divulgacion/GuiasBrev es/ServiciosWeb [11] WSDL-S (2005). Web Service Semantics WSDL-S. W3C Member Submission 7 November 2005. http://www.w3.org/Submission/WSDL-S/ [12] WSMO (2005). Web Service Modeling Ontology (WSMO). W3C Member Submission 3 June 2005. http://www.w3.org/Submission/WSMO/