Your SlideShare is downloading. ×
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Semantic Web Services: OWLS and WSMO
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Semantic Web Services: OWLS and WSMO

2,171

Published on

An introduction to semantic web services OWLS and WSMO

An introduction to semantic web services OWLS and WSMO

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,171
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Servicios web semánticos: OWL-S y WSMO José Luis de la Rosa Triviño1 Alicia Triviño Cabrera2 José F. Aldana Montes3 1 Escuela Técnica Superior de Ingeniería Informática. Universidad de Málaga. España. joseluisdelarosa@gmail.com Dpto. de Lenguajes y Ciencias de la Computación. Universidad de Málaga. España atc@uma.es 2 , jfam@lcc.uma.es 3 RESUMEN del enfoque de los servicios web semánticos y sus distintas implementaciones. Concretamente, Los servicios web forman un conjunto de realiza una introducción a las dos soluciones más aplicaciones distribuidas capaces de dotar a la extendidas WSMO y OWL-S. web de dinamismo, actuando como componentes software que ofrecen funcionalidad e incluso son capaces de cooperar entre sí. Para registrar estos Palabras clave: servicios web, web semántica, servicios, han surgido diversos directorios donde OWL-S, WSMO, WSML, WSDL, los desarrolladores pueden acudir para encontrar aquellos que cumplan los requisitos para integrarlos en sus aplicaciones. No obstante, la implementación de las interconexiones entre los servicios web debe realizarse de forma manual y en muchos casos suponiendo el significado de los parámetros y operaciones en base a la sintaxis de estos o a una documentación difusa. Este problema ha sido afrontado desde el punto de vista de la web semántica, desde el que se han definido ontologías de conceptos para modelar los servicios web, permitiendo de este modo realizar el descubrimiento, invocación, composición y monitorización de forma semi- automática. Este artículo pretende ser una introducción al lector sobre el estado del arte de los servicios web semánticos. Para ello, se presentan los problemas de los servicios web sintácticos, los conceptos de la web semántica y la justificación
  • 2. 1. INTRODUCCIÓN ontologías para describir los servicios web que sirven para describir a su vez servicios existentes Las aplicaciones orientadas a servicio o SOA y utilizar razonadores para descubrir, invocar, (Service Oriented Architecture) permiten el componer y monitorizar los servicios de forma desarrollo de aplicaciones compuestas de manual. servicios que pueden estar dispersos por Internet, En las próximas secciones se realizará una breve favoreciendo así la interoperabilidad entre descripción por el estado del arte en el campo de aplicaciones. Debido al auge del uso de servicios los servicios web semánticos, presentándose dos Web como principal metodología de desarrollo de los cuatro enfoques más relevantes como de aplicaciones orientadas a servicios, se han solución a este panorama. En el apartado 2 se desarrollado numerosos directorios con realiza una introducción a los servicios web, en información de servicios web gracias a los cuales el apartado 3 se presenta una introducción a la es posible desarrollar aplicaciones mediante la web semántica. La sección 4 aborda la fusión conexión de servicios desarrollados por terceros. entre servicios web y web semántica para Sin embargo, la interconexión entre estos finalizar analizando, en las secciones 5 y 6, las servicios se debe hacer en la mayoría de los dos principales perspectivas: OWL-S (OWL-S casos de forma manual y con documentación Coalition - 2004) y WSMO (J. de Buijn y otros - incompleta. Se hace, por tanto, necesario 2005), respectivamente. disponer de mecanismos que ayuden a los desarrolladores de aplicaciones basadas en Servicios Web en la tarea de composición semi- 2. SERVICIOS WEB automática de servicios para resolver problemas concretos. Los servicios web añaden una capa de abstracción sobre la web tradicional que permite El problema de la composición de Servicios Web extenderla con un elemento de dinamismo, ha sido abarcado desde el punto de vista convirtiéndola en un conjunto de aplicaciones sintáctico del problema. De esta forma ha sido accesibles desde cualquier sitio de la red. Esta posible desarrollar algoritmos que, basándose en nueva arquitectura ha incidido en la forma de los tipos de datos y los nombres de los desarrollar aplicaciones permitiendo hacerlas parámetros de los servicios, tratan de detectar más escalables e interoperables. cuando dos servicios pueden componerse. Sin embargo, estas soluciones resultan ineficaces en Un servicio web es una aplicación software que la mayoría de los casos. Por un lado, por la hace pública su funcionalidad en Internet y a la ambigüedad del lenguaje, ya que un parámetro que se accede utilizando una interfaz que, cantidad de tipo entero, puede interpretarse de muchas formas distintas. Por otro, porque no se disponen de mecanismos que medien entre dos Descripción servicios independientemente de que sintáctica- Registro mente sean similares o no. del servicio Con la idea de mejorar los procesos de Pu composición semi-automática se ha abordado el r ca b lic problema desde la perspectiva de la Web s a Bu r Semántica. Siguiendo esta estrategia han surgido varias propuestas de anotación semántica de Mensajes Servicios Web que hacen uso de una ontología de Solicitante  Proveedor conceptos. De esta forma, los parámetros de los del servicio del servicio servicios se anotan con respecto a conceptos de Cliente Servicio una ontología. Adicionalmente, se definen Figura 1. Escenario típico de un servicio web.
  • 3. generalmente, cumple serie de estándares preestablecidos. Esta interfaz define las Procesos BPEL operaciones que se pueden realizar, los Orquestación estándares que soporta el servicio, el formato de los mensajes, etc. Descubrimiento UDDI Publicación El escenario común de funcionamiento de los servicios web consiste principalmente en la XML­S WSDL Descripción XML interacción de tres componentes software. La Figura 1 describe esta interacción. A continuación se presentan cada uno de los SOAP Mensajes elementos que intervienen: ● El proveedor de servicio es un servidor HTTP que hospeda al propio servicio y que provee su interfaz, comúnmente en el Figura 2: Arquitectura de tecnologías de los servicios web. nivel de aplicación sobre un protocolo de transporte. Este componente base muy importante para la identificación de interviene en la publicación del servicio recursos en la web. Además del protocolo HTTP y en el intercambio de mensajes con el (HyperText Transfer Protocol), otros protocolos solicitante del servicio. son utilizados a este nivel como SMTP (Simple ● El registro del servicio es la aplicación Mail Transfer Protocol), JMS (Java Message que mantiene la información necesaria Service), etc. para identificar el servicio e interviene en operaciones de búsqueda y La segunda capa consiste en el protocolo de descubrimiento de servicios. intercambio de mensajes que bien pueden estar ● El solicitante del servicio es la en SOAP (Simple Object Access Protocol) aplicación que requiere de la basado en XML (Extensible Markup Language) funcionalidad que ofrece un servicio o en arquitectura REST (Representational State concreto y se conecta con el proveedor Transfer) basado en mensajes y operaciones para operar con el servicio. HTTP. Para asegurar la interoperabiliad de los servicios, En el siguiente nivel se encuentra la descripción es necesario que este escenario se contruya sobre del servicio web donde se pueden diferenciar dos estándares. Dichos estándares son definidos por subniveles principales. Por un lado, en el nivel las organizaciones OASIS (Organization for the más alto, se definen las operaciones que ofrece el Advancement of Structured Information servicio, en función de sus mensajes de entrada y Standards) y W3C (World Wide Web salida. Por otro, en el nivel menos abstracto, se Consortium). A continuación, se describen desde define cómo interaccionan WSDL (Web Service abajo hacia arriba la pila de protocolos y Description Language) y SOAP, o lenguajes comúnmente aceptados (Figura 2) y las generalizando, la capa de descripción del distintas capas de abstracción de las que se servicio con la capa de paso de mensajes. compone un sistema típico de servicios web. El siguiente nivel de abstracción entra en escena La capa más baja de la pila se identifica con la cuando se parte de un servicio web previamente capa de transferencia de mensajes. En ella se definido y es necesario publicarlo. El protocolo definen las direcciones únicas (URI - Uniform utilizado para ello es UDDI (Universal Resource Identifier) de los recursos, que son una Description, Discovery and Integration). La
  • 4. información almacenada en el registro UDDI se para componer otros servicios. organiza en tres categorías: páginas blancas, que contienen datos sobre la organización que provee Para realizar automáticamente los procesos de el servicio como nombre, descripción, etc. Las identificación, composición, ejecución de páginas amarillas que facilitan la categorización servicios web es necesario añadir información de los servicios en base a taxonomías estándares que permita hacer afirmaciones sobre los como la taxonomía NAICS para categorizar parámetros y operaciones que nos permitan industrias (U.S. Census Bureau - 2007), la conocer el tipo, relaciones de herencia, taxonomía UNSPSC para categorización de restricciones de cardinalidad, relaciones con productos (U.S. Census Bureau 2007) y otros elementos, etc. De esta manera, se podría servicios o el estandar ISO 3166 de códigos de utilizar un razonador que, dada una descripción localización geográfica y las páginas verdes, que semántica de un servicio buscado y una lista de especifican cómo acceder al proveedor del descripciones de servicios existentes, pudiese servicio. De este modo, UDDI organiza de un identificar automáticamente qué servicios modo jerárquico las compañías, sus servicios y la cumplen con el servicio buscado. información para acceder a dichos servicios. Algunos servidores UDDI son jUDDI (Apache 3. LA WEB SEMÁNTICA Software Foundation - 2008) o Novell UDDI Server (Novell - 2008). La web semántica es una extensión de la web tradicional que permite a las máquinas Por último, la capa más alta en la arquitectura interpretar el significado de los datos, en base a está orientada a la interacción entre servicios. En anotaciones semánticas basadas en descripciones ella se definen procesos de negocio, ontológicas. descubrimiento, agregación, etc. Así como la orquestación de servicios que consiste en la Esta anotación semántica permite dotar a la gran organización, coordinación, composición y cantidad de información de la web de una monitorización de servicios web para conseguir estructura lógica, basada generalmente en un resultado derivado de la canalización correcta soluciones de gestión del conocimiento, que de las operaciones. La especificación más permite a los usuarios y las máquinas buscar y conocida de procesos de negocio es WS-BPEL relacionar información de una forma más de OASIS (Organization for the Advancement of automática y directa. Structured Information Standards) y WSCI (Web Service Choreography Interface) es un lenguaje Para anotar estos recursos de la web se emplean de orquestación de servicios recomendado por ontologías. Una ontología es una descripción de W3C. una pequeña parte del mundo real, de los tipos de elementos que aparecen en ese mundo, de las Esta solución de interoperabilidad y relaciones entre ellos, de los elementos existentes componentes software distribuidos ha tenido una y de sus restricciones. gran repercusión en la programación de aplicaciones, sin embargo, los servicios web OWL descritos en WSDL sólo disponen de una descripción a nivel sintáctico de su funcionalidad RDF + RDF Schema y parámetros. No disponen por tanto de ninguna definición del significado de dichos parámetros o XML + XML­Schema mensajes. A lo sumo, en algunos casos se puede URI contar con comentarios o metadatos legibles Figura 3: Principales lenguajes de la web semántica. solamente por humanos que facilitan la identificación de los servicios y su utilización
  • 5. Aunque existen otros lenguajes para anotar En el Ejemplo 1 se muestra un ejemplo de semánticamente el contenido web, a ontología relativa a referencias bibliográficas continuación se describe brevemente OWL, un basado en BibTeX (O. Patashnik - 1985). La lenguaje de marcado para definir ontologías en la sintaxis abstracta que se utiliza muestra en web. cursiva las palabras reservadas, entre comillas los valores finales de atributos de las instancias y en La Figura 3 muestra los diferentes lenguajes y texto normal las clases, relaciones o instancias tecnologías de la web semántica así como la que define la ontología. dependencia arquitectural entre ellos. 4. SERVICIOS WEB SEMÁNTICOS. Una ontología en OWL se puede definir básicamente mediante tres elementos principales: Los servicios web semánticos surgen de la necesidad de realizar las operaciones de ● las clases representan entidades del descubrimiento, selección, composición, entorno que se esté describiendo, negociación, invocación, monitorización y ● las relaciones representan vínculos recuperación semiautomática de los servicios entre las entidades, web tradicionales. ● las instancias son afirmaciones concretas sobre el mundo real. Un servicio web semántico está formado por un servicio web y una anotación semántica sobre OWL define además un conjunto de propiedades dicho servicio. La anotación semántica consiste que pueden ser aplicadas a los elementos en asociar conceptos y relaciones de una anteriores, como pueden ser: restricciones de ontología con parámetros y operaciones de un cardinalidad para las relaciones, propiedades de servicio web. herencia para las clases, de igualdad o desigualdad, etc. A continuación, se presenta un ejemplo de aplicación de los servicios web semánticos: Ontología(Referencias bibliograficas)   Clase(Entrada bibliografica)       Supóngase la existencia de un servicio web que   Clase(Articulo)     SubclaseDe(Entrada bibliografica) ofrece un servicio de compra de libros, revistas y material audiovisual. Ese servicio dispondrá de   Clase(Libro)     SubclaseDe(Entrada bibliografica) una operación buscar que tendrá al menos un   Clase(Revista) parámetro que será el título o autor de la obra que     SubclaseDe(Entrada bibliografica) se desea encontrar. Esta operación buscar ,   Clase(Autor) desde un punto de vista sintáctico, podría ser   Clase(Editor)   Clase(Titulo) confundida o simplemente no identificada como tal. Por ejemplo, podría ser confundida con otros   Relacion(tieneAutor)   Relacion(tieneTitulo) servicios de búsqueda de productos tan diversos     Dominio(Entrada bibliografica)     Rango(Titulo) como automóviles o propiedades.   Relacion(tieneAño) Instancia(Entrada bibliografica:”quijote”) Supóngase ahora la existencia de una ontología,    tieneAutor(“Miguel de Cervantes”)    tieneTitulo(“El ingenioso hidalgo ...”) como la mostrada en el Ejemplo 1, que describe    tieneAño(“1605”) el entorno en el que se encuentran los elementos Instancia(Autor:”Miguel de Cervantes”) libro, revista, artículo, etc. Cada uno de ellos con Instancia(Autor:”William Shakespeare”) Instancia(Titulo:”“El ingenioso hidalgo ...”) sus propiedades como autor, fecha de publicación, idioma, etc. Ejemplo 1. Ontología de ejemplo en sintaxis abstracta. Partiendo del servicio web y de la ontología
  • 6. descrita, se puede crear una descripción de Initiative). Existen otros marcos de trabajo como servicio web, como la mostrada en el Ejemplo 2, WSDL-S (R. Akkiraju - 2005) y SWSF (S. Battle que anota los parámetros del servicio de - 2005) que no forman parte del análisis de este búsqueda de libros para restringirlos a los artículo. elementos y relaciones que deben satisfacer. Así, cualquier localizador automático de servicios 5. OWL-S podría identificar claramente si el servicio le ofrece lo que él necesita o no, en base a sus OWL-S se basa en la definición de varias entradas y salidas, por ejemplo. ontologías escritas en OWL que permiten la descripción de servicios web semánticos en Servicio(Buscador de Libros)   OntologiaImportada(Referencias Bibliograficas) diferentes niveles de abstracción. Según este   Operacion(buscarLibro) enfoque, la anotación semántica trata de dar      tieneEntrada(Titulo) respuesta a tres cuestiones esenciales para      tieneSalida(Libro) cualquier servicio web: qué ofrece el servicio, Ejemplo 2. Servicio de ejemplo en sintaxis abstracta. cómo funciona el servicio y cómo se interactúa con él. Para ello, OWL-S emplea tres secciones: En la Figura 4 puede observarse la evolución de profile, model y grounding. la web estática, por un lado, hacia la web semántica y, por otro, hacia la web dinámica o de Service Profile los servicios web. La primera pregunta expuesta se responde Ambas convergen hacia una web dinámica capaz mediante la ontología llamada Service Profile. de tratar de forma automática los servicios web. En ella se definen propiedades del servicio como su nombre, su descripción e información de Es de destacar que la clave de la contacto sobre los autores, publicadores, etc. interoperabilidad y reusabilidad de los servicios web radica en la posibilidad de componer de Además de la información puramente forma automática aplicaciones software para la identificativa, en el Service Profile se describe obtención de un resultado. funcionalmente el servicio en base a las entradas, salidas, precondiciones y efectos, comúnmente En las próximas secciones se realiza un repaso conocidos como IOPE's (Inputs, Outputs, por los dos principales enfoques: OWL-S (OWL- Preconditions y Effects). S Coalition 2004), desarrollado por la W3C y WSML (J. de Bruijn y otros - 2005), desarrollado Las entradas y salidas se representan por las por la ESSI (European Semantic Systems propiedades hasInput y hasOutput respecti- vamente y hacen referencia a las entradas y salidas que se definen posteriormente en el Servicios Web Servicios Web Semánticos Service Model. Un servicio define además una Dinámico UDDI, WSDL, SOAP OWL­S, WSMO serie de condiciones que deben cumplirse previamente a su ejecución, así como las postcondiciones resultado de la ejecución del servicio. Las primeras se definen con la WWW Web Semántica propiedad hasPrecondition, que hace referencia a Estático HTTP, URI, HTML RDF, RDF(S), OWL  una precondición definida en el Service Model y las segundas se definen con la propiedad Datos Información hasResult que especifica las condiciones de los parametros de salida. Figura 4: Evolución de la web hacia los servicios web semánticos.
  • 7. 3. Para coordinar clientes durante la ejecución de los servicios. Service 4. Para monitorizar la ejecución del Profile presenta servicio. provee Service Como se describió al presentar el Service Profile, Service es en el Service Model donde se definen las Grounding instancias para los parámetros de entrada, salida, descrito por precondiciones y resultados. Los parámetros de Service entrada y salida son representados como Model variables de SWRL (Semantic Web Rule Figura 5: Ontología principal de OWL-S para describir un Language) y en cada uno de ellos se define el servicio. tipo de valores que puede instanciar. Las precondiciones y resultados (o efectos) son tratados como expresiones lógicas que funcionan Por otra parte, el Service Profile permite definir a modo de literales que pueden estar descritos en otras propiedades útiles como parámetros un lenguaje basado en XML (e.g. SWRL) o en adicionales que referencian instancias en otros lenguajes (e.g. KIF). ontologías ya existentes (serviceParameter) y propiedades para categorizar el servicio de Los procesos se dividen principalmente en dos acuerdo a estándares como NAICS o UNSPSC. tipos: Service Model ● Atómicos: son procesos que, aunque pueden ser complejos en la obtención de La definición de la ontología Service Model su resultado, siempre actuan bajo un responde a la pregunta: ¿cómo funciona el sólo mensaje de entrada y devuelven un servicio?. Particularmente, la perspectiva de sólo mensaje de salida. interacción con un servicio OWL-S se realiza en ● Compuestos: son procesos que poseen base a procesos. Cualquier servicio es visto como estado que cambia en base a los un proceso, bien sea atómico o compuesto, que mensajes recibidos por el proceso. bajo ciertas condiciones y unos parámetros de entrada, produce una serie de salidas que Un proceso atómico se puede ver como una caja cumplen ciertas precondiciones. negra a la que llega un mensaje desde el cliente y, tras realizar varias operaciones, devuelve un Este enfoque basado en procesos se apoya sobre mensaje resultado. trabajos ya existentes y de referencia en materia de inteligencia artificial, lenguajes de Un proceso compuesto tiene la particularidad de programación, sistemas distribuidos y estándares que puede ser descompuesto en otros procesos, en el campo de la definición de flujos de trabajo. compuestos o atómicos. Esta descomposición del proceso puede adoptar distintas estructuras según El modelo de un servicio puede ser utilizado por cómo se realice la composición. Las principales los agentes de búsqueda hasta de cuatro formas son: distintas: ● Sequence: El proceso se compone de 1. Para analizar con más detalle si el una secuencia de procesos y su servicio cumple los requisitos buscados. ejecución resulta de la ejecución 2. Para componer descripciones de secuencial de todos ellos. múltiples servicios. ● Split: consiste en un conjunto de
  • 8. procesos que se deben ejecutar de forma parámetro dependiendo de la procedencia del concurrente. valor instanciado. ● Split-Join: añade sincronización al finalizar los procesos de un Split. ● valueSource: el valor procede de otra ● Any-Order: permite que los procesos se fuente como puede ser otro proceso. ejecuten en un orden aleatorio. ● valueType: el valor es una instanciación ● Choice: permite la ejecución de de la clase definida en esta propiedad. cualquiera de los subprocesos a los que ● valueData: el valor procede de un literal hace referencia. XML. ● If-Then-Else: permite la ejecución de ● valueFunction: el valor procede de un forma exclusiva de dos sentencias de literal XML que puede ser evaluado y tipo ControlConstruct dependiendo de que depende de variables definidas la veracidad de una condición. anteriormente. ● Iterate: es una clase abstracta que tiene como subclases Repeat-While y Repeat- Así mismo, la clase Produce permite la Until. instanciación de parámetros a posteriori, es decir, ● Repeat-While: al igual que la sentencia cuando se conoce exactamente el parámetro que ya conocida en lenguajes de tendrá salida. Este se suele utilizar cuando el programación Repeat-While ejecuta los parámetro salida está dentro de una construcción procesos que contiene mientras se If-Then-Else. cumpla una condición. Service Grounding ● Repeat-Until: de forma similar a Repeat-While, esta clase define una La tercera pregunta que se plantea al comenzar el iteración que se realiza al menos una análisis sobre OWL-S, se responde con la vez. definición de la ontología Service Grounding, una ontología donde se define cómo la En cualquiera de las construcciones se requiere descripción semántica de un servicio se hace siempre que todos los procesos terminen para corresponder con la definición del mismo en el que pueda darse por concluida la sentencia que lenguaje original del servicio. los agrupa. De otro modo, no se puede asegurar que el resultado del proceso sea el deseado. El Service Grounding especifica cómo se interactúa con el servicio llegando a describir La transferencia de datos entre procesos, para ello el protocolo que lo implementa (RPC, especialmente cuando se trata con procesos SOAP, CORBA, HTTP-FORM, etc.), el formato compuestos, se formaliza en OWL-S como flujos de los mensajes, serialización, transporte y de datos. De forma similar se plantea la direccionamiento (máquina y puerto) para instanciación de parámetros. Por convención, un ejecutarlo. Es, por tanto, el eslabón clave para parámetro que es requerido por un proceso se completar la descripción semántica de un define en el proceso donde es necesario, servicio y establecer la correspondencia con éste. siguiendo así una política de petición del Esta correspondencia a nivel de ejecución del consumidor . servicio se realiza siempre por cada proceso atómico. OWL-S define una instanciación de parámetros como una clase abstracta con restricciones sobre En el Service Grounding de un servicio los la relación toParam. Esta relación indica sobre mensajes intercambiados con dicho servicio se qué parámetro se realiza la instanciación. Existen describen en el propio lenguaje de la distintos tipos de instanciación (propiedades) del implementación del servicio. OWL-S no añade
  • 9. <service:Service rdf:ID=”BuscadordeLibros”> El WSMF consiste en cuatro elementos básicos    <service:presents rdf:resource=”#ProfileBL” /> para la descripción de servicios web semánticos:    <service:presents rdf:resource=”#buscarLibro” />    <service:presents rdf:resource=”#GroundingBL” /> </service:Service> 1. Ontologías 2. Descripciones de servicios web <profile:BuscadordeLibros rdf:ID=”#ProfileBL”>     <service:presentedBy  3. Objetivos                  rdf:resource=”#BuscadordeLibros”/>     <profile:serviceName>Buscador de Libros 4. Mediadores     </profile:serviceName>     <profile:textDescription> Este servicio  A continuación se detallan cada uno de estos      provee información sobre libros.     </profile:textDescription> elementos:       <profile:hasInput rdf:resource=”#Titulo” />     <profile:hasOutput rdf:resource=”#Libro” /> Ontologías      </profile:BuscadordeLibros> <process:AtomicProcess rdf:ID=”buscarLibro”> Una ontología está compuesta de:    <service:describes        rdf:resource=”#BuscadordeLibros” /> ● Propiedades no funcionales como    <profile:hasInput rdf:resource=”#Titulo” />    <profile:hasOutput rdf:resource=”#Libro” /> pueden ser identificador, título, descripción, fecha, creador, formato, </process> Ejemplo 3. Servicio de ejemplo en sintaxis OWL-S. propietario, versión, etc. ● Ontologías importadas, son ontologías ninguna restricción sobre el lenguaje en el que de las que se hace uso en la ontología esté implementado el servicio. actual. ● Mediadores entre ontologías, son OWL-S y WSDL mediadores que intervienen para resolver los desajustes con las Aunque OWL-S no pretende restringir el ontologías importadas. lenguaje de definición del servicio, el primer ● Conceptos que representan entidades enfoque de Service Grounding se basa en WSDL del mundo real. (Web Service Description Language). Una de las ● Relaciones que representan relaciones ventajas es que existe una correspondencia entre los conceptos. directa entre los elementos de OWL-S y WSDL, ● Funciones que son relaciones especiales permitiendo al desarrollador, en el primer caso que actúan con múltiples dominios y un tratar con un lenguaje abstracto y muy expresivo solo rango. para definir su servicio y por otro lado, en el ● Instancias que representan objetos del segundo caso, seguir trabajando en un lenguaje mundo real. ampliamente aceptado como es WSDL. ● Axiomas que representan expresiones lógicas. En el Ejemplo 3, puede verse el mismo Ejemplo Servicios 2 de servicio expuesto en la sección 4 pero esta vez en sintaxis OWL-S. Una descripción semántica de servicio web consiste en: 6. WSMO ● Propiedades no funcionales, en este caso se añaden a las ya comentadas Dentro del WSMF (Web Service Modeling anteriormente propiedades inherentes al Framework) se propone una ontología llamada servicio como seguridad, robustez, WSMO (Web Service Modeling Ontology) para escalabilidad, si es transaccional o no, definir servicios web semánticos.
  • 10. etc. están basadas en las ya conocidas Máquinas de ● Ontologías importadas Estados Abstractas o ASM (Abstract State ● Mediadores usados Machines) y se componen de: ● Capacidad ● Interfaz ● un estado (stateSignature) que describe la situación actual del servicio en base a En adelante se presentan los elementos que un conjunto de instancias, componen un servicio con más detalle: ● unas transiciones condicionadas (transitionRules) que expresan los Capacidad (Capability) cambios de estado en base a unas reglas dadas. La capacidad describe funcionalmente el servi- cio y a diferencia de otros elementos, un servicio La orquestación de un servicio describe cómo el no puede tener más de una capacidad. Las servicio interactúa con otros servicios para propiedades de la capacidad son: conseguir la funcionalidad requerida por el servicio en cuestión. La orquestación, al igual ● Propiedades no funcionales que la coreografía está basada en ASM y es por ● Ontologías importadas tanto una secuencia y condiciones bajo las cuales ● Mediadores usados se hace uso de otros servicios. Para llegar a otros ● Variables compartidas servicios se hace uso de mediadores wg, si el ● Precondiciones servicio requerido no se conoce, ó mediadores ● Suposiciones ww si es un servicio conocido. ● Postcondiciones ● Efectos Objetivos Interfaz (Interface) Un objetivo es la representación del servicio que el cliente está buscando. La interfaz describe el servicio desde el punto de vista operacional, para lo que se utilizan dos Los objetivos se componen de: enfoques, coreografía u orquestación, depen- diendo de si la operación es propia del servicio o ● Propiedades no funcionales de otros servicios, respectivamente. Ambas se ● Ontologías importadas presentan con detalle en los próximos párrafos. ● Mediadores utilizados Además de estos dos elementos, una interfaz se ● Capacidad buscada compone también de: ● Interfaz buscada ● Propiedades no funcionales Mediadores ● Ontologías importadas ● Mediadores usados Uno de los problemas que resolver en la web semántica es la inherente heterogeneidad que La coreografía y orquestación tienen enco- implica tener ontologías o servicios distribuidos mendada una de las tareas más importantes de y cada uno descrito por distintos autores. Esto los servicios web, ya que éstas son determinantes resulta en un gran inconveniente para la en funcionalidades como la composición de interoperabilidad de los servicios, el servicios, etc. descubrimiento o la orquestación. En este escenario, aparecen los mediadores, cuya La coreografía describe el servicio desde el principal labor es asegurar la interoperabilidad de punto de vista de un cliente. Las coreografías los servicios web semánticos resolviendo los
  • 11. distintos tipos de desajustes. Por ello, en WSMO, Ejemplo 4: Servicio en sintaxis WSML. hay cuatro tipos de mediadores: webService _"BuscadordeLibros"      nonFunctionalProperties           dc#title hasValue "Buscador de Libros"           dc#description hasValue "Este servicio ● Los mediadores entre ontologías                   provee información sobre libros." (oomediator). Son mediadores a nivel      endNonFunctionalProperties de datos que resuelven problemas de capability BuscadordeLibros#CapacidadBL      nonFunctionalProperties desajuste de clases, relaciones, etc.           dc#title hasValue "Buscador de Libros" Como origen pueden referenciar una           dc#description hasValue "Este servicio                   provee información sobre libros." ontología u otro oomediator y como      endNonFunctionalProperties destino pueden hacer referencia a una      precondition BuscadordeLibros#existeTitulo ontología, un oomediator, un servicio o         definedBy             Titulo. un objetivo. interface BuscadordeLibros#buscarLibro Así mismo, hacen referencia a un      nonFunctionalProperties servicio de mediación que puede ser un           dc#title hasValue "Buscar Libro"      endNonFunctionalProperties objetivo, un servicio o un mediador ww.      choreography BuscadordeLibros#buscarLibro      stateSignature _           in  ● Los mediadores entre objetivos                concept buscadordeLibros#Titulo (ggmediator). Son mediadores que           out                 concept BuscadordeLibros#Libro intervienen como enlace entre otros objetivos o mediadores gg. Las 7. CONCLUSIONES principales soluciones que aportan los mediadores gg son: refinamiento de Las tecnologías de servicios web tradicionales, servicios, restricción o ampliación de aunque cumplían con su principal cometido de objetivos con el fin de utilizar objetivos aumentar la interoperabilidad de las aplicaciones que resuelven un problema más y cambiar el paradigma de programación restringido o amplio, respectivamente, conocido hasta su aparición, no han tenido todo que el que se pretende resolver. el auge que se esperaba de ellas. La tecnología desarrollada era insuficiente, al dejar del lado de ● Los mediadores entre servicios y los programadores tareas como la búsqueda, objetivos (wgmediator) se utilizan identificación y composición de los servicios, principalmente para establecer dos que restaba potencia a la arquitectura de servicios relaciones: que un servicio ofrece la web. Para resolver este inconveniente se recurrió funcionalidad de un objetivo y que un a la tecnología de la web semántica. servicio necesita la funcionalidad descrita en un objetivo (orquestación). La web semántica, se mostraba entonces como una solución factible para la anotación semántica ● Los mediadores entre servicios de los servicios permitiendo de este modo (wwmediators) actuan entre la realizar de forma, al menos semiautomática, las orquestación del servicio origen y la operaciones de búsqueda, descubrimiento, coreografía de los servicios destino. composición, ejecución y monitorización de los servicios web existentes. Siguiendo con el ejemplo habitual en el Ejemplo 4, puede verse en sintaxis WSML. Los servicios web semánticos, aunque aún no están muy extendidos en el ámbito empresarial, se encuentran en un nivel de madurez suficiente para su utilización en este tipo de entornos.
  • 12. En la actualidad son cuatro las soluciones de servicios web semánticos que han sido remitidas L. Cabral, J. Dominique, E. Motta. 2004. a la W3C para su análisis y posterior Aproaches to Semantic Web Services: An recomendación. Entre ellas OWL-S y WSMO Overview and Comparisons. son las que han demostrado tener más comunidad trabajando sobre ellas, más herramientas de E. Christensen, F. Curbera, G. Meredith, S. trabajo desarrolladas y en defintiva más Weerawarana. Marzo 2001. Web Services aplicación práctica en la actualidad. Description Language (WSDL). Disponible en: http://www.w3.org/TR/wsdl En este artículo se ha presentado una introducción a los servicios web semánticos A. Mocan, E. Cimpian, M. Stollberg, F. justificando su necesidad para cubrir aspectos en Scharffe, J. Scicluna. Diciembre 2005. WSMO los que los servicios web eran insuficientes. Se Mediators. han presentado ejemplos para aclarar los Disponible en: http://www.wsmo.org/TR/d29/ aspectos más relevantes de los servicios web semánticos y se han presentado OWL-S y WSMO. OWL-S Coalition. Noviembre 2004. OWL-S: Semantic Markup for Web Services. 6. REFERENCIAS Disponible en: http://www.w3.org/Submission/OWL-S/ Apache Software Foundation. 2008. jUDDI. O. Patashnik. 1985. BibTeX Disponible en: http://ws.apache.org/juddi/ Disponible en: http://www.bibtex.org R. Akkiraju y otros. Noviembre 2005. Web U.S. Census Bureau. 2007. North American Service Semantics WSDL-S. Industry Classification System. Disponible en: Disponible en: http://www.census.gov/naics http://www.w3.org/Submission/WSDL-S/ U.S. Census Bureau. 2007. United Nations S. Battle y otros. Septiembre 2005. Semantic Standard Products an Services Code System Web Services Framework (SWSF) Overview (UNSPSC). Disponible en: Disponible en: http://www.unspsc.org http://www.w3.org/Submission/SWSF/ D. Booth, H. Haas y otros. Febrero 2004. Web Services Architecture. Disponible en: http://www.w3.org/TR/ws-arch/ J. de Bruijn y otros. Junio 2005. Web Service Modeling Ontology (WSMO). Disponible en: http://www.w3.org/Submission/WSMO/ J. de Bruijn y otros. Junio 2005. Web Service Modeling Language (WSML). Disponible en: http://www.w3.org/Submission/WSML/

×