SlideShare una empresa de Scribd logo
1 de 12
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
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.
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
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
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
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.
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
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
<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.
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
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.
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/

Más contenido relacionado

La actualidad más candente

GEP2009 EQ4 L9 G&Ruth Trad Cap 7
GEP2009  EQ4  L9  G&Ruth Trad Cap 7GEP2009  EQ4  L9  G&Ruth Trad Cap 7
GEP2009 EQ4 L9 G&Ruth Trad Cap 7joaquin garcia
 
ESB-Apache Synapse
ESB-Apache SynapseESB-Apache Synapse
ESB-Apache Synapserizquez
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Serviciosnohemizamudio
 
Arquitectura de integración de servicios
Arquitectura de integración de serviciosArquitectura de integración de servicios
Arquitectura de integración de serviciosCoatzozon20
 
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOAImplementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOALucio Marcelo Quispe Ortega
 
2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penasCalzada Meza
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRobert Caraguay
 
SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...
SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...
SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...Nelson Piedra
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)Vivi Marquez
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservicesJuan Cortes
 

La actualidad más candente (16)

GEP2009 EQ4 L9 G&Ruth Trad Cap 7
GEP2009  EQ4  L9  G&Ruth Trad Cap 7GEP2009  EQ4  L9  G&Ruth Trad Cap 7
GEP2009 EQ4 L9 G&Ruth Trad Cap 7
 
ESB-Apache Synapse
ESB-Apache SynapseESB-Apache Synapse
ESB-Apache Synapse
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Servicios
 
Arquitectura de integración de servicios
Arquitectura de integración de serviciosArquitectura de integración de servicios
Arquitectura de integración de servicios
 
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOAImplementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOA
 
2 do trabajo-penas
2 do trabajo-penas2 do trabajo-penas
2 do trabajo-penas
 
Servicios web
Servicios webServicios web
Servicios web
 
SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 
Soa expo
Soa expoSoa expo
Soa expo
 
RES - Transferencia de Estado Representacional
RES - Transferencia de Estado RepresentacionalRES - Transferencia de Estado Representacional
RES - Transferencia de Estado Representacional
 
Web services
Web servicesWeb services
Web services
 
SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...
SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...
SEPGLA 2007 Migración a Ambientes de Arquitectura Orientada a Servicios (SOA...
 
Windows communication foundation (wcf)
Windows communication foundation (wcf)Windows communication foundation (wcf)
Windows communication foundation (wcf)
 
Web Services
Web ServicesWeb Services
Web Services
 
3/9 soa y web services
3/9 soa y web services3/9 soa y web services
3/9 soa y web services
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 

Destacado

Sociedad De La InformacióN Y Del Conocimiento
Sociedad De La InformacióN Y Del ConocimientoSociedad De La InformacióN Y Del Conocimiento
Sociedad De La InformacióN Y Del Conocimientoaddysandoval
 
Informe "Una Politica De Estado Para El Sector Energetico"
Informe "Una Politica De Estado Para El Sector Energetico"Informe "Una Politica De Estado Para El Sector Energetico"
Informe "Una Politica De Estado Para El Sector Energetico"ramiropico
 
Socrates..Filosofia
Socrates..FilosofiaSocrates..Filosofia
Socrates..Filosofiaguest83c49a
 
Porque Somos Tan Pobres
Porque Somos Tan PobresPorque Somos Tan Pobres
Porque Somos Tan Pobreshomer simpson
 
Silabo i proyectos inversion auditoria 2015
Silabo i proyectos inversion auditoria 2015Silabo i proyectos inversion auditoria 2015
Silabo i proyectos inversion auditoria 2015Leonardo Carrion
 
Sólidos cristalinos 2014
Sólidos cristalinos 2014Sólidos cristalinos 2014
Sólidos cristalinos 2014Daniel Santos
 
Pres Precios Petroleo Y Derivados 2009
Pres Precios Petroleo Y Derivados 2009Pres Precios Petroleo Y Derivados 2009
Pres Precios Petroleo Y Derivados 2009carlosefrancou
 
02. Edicion Html. Tablas 0001
02. Edicion Html. Tablas   000102. Edicion Html. Tablas   0001
02. Edicion Html. Tablas 0001José M. Padilla
 
06. Internet. Aula Abierta. Ftp. Gestores De Ftp. Filezilla
06. Internet. Aula Abierta. Ftp. Gestores De Ftp. Filezilla06. Internet. Aula Abierta. Ftp. Gestores De Ftp. Filezilla
06. Internet. Aula Abierta. Ftp. Gestores De Ftp. FilezillaJosé M. Padilla
 
Nuevos Artículos En Kawaiitastic!!!
Nuevos Artículos En  Kawaiitastic!!!Nuevos Artículos En  Kawaiitastic!!!
Nuevos Artículos En Kawaiitastic!!!Patricia Rangel Olea
 
Prova Natalia
Prova NataliaProva Natalia
Prova NataliaCFGS2
 
10. Edicion Html. Estilos Edicion Html. Menus 0001
10. Edicion Html. Estilos Edicion Html. Menus   000110. Edicion Html. Estilos Edicion Html. Menus   0001
10. Edicion Html. Estilos Edicion Html. Menus 0001José M. Padilla
 

Destacado (20)

Software Hardware
Software HardwareSoftware Hardware
Software Hardware
 
Jauriadeperros
JauriadeperrosJauriadeperros
Jauriadeperros
 
Sociedad De La InformacióN Y Del Conocimiento
Sociedad De La InformacióN Y Del ConocimientoSociedad De La InformacióN Y Del Conocimiento
Sociedad De La InformacióN Y Del Conocimiento
 
Informe "Una Politica De Estado Para El Sector Energetico"
Informe "Una Politica De Estado Para El Sector Energetico"Informe "Una Politica De Estado Para El Sector Energetico"
Informe "Una Politica De Estado Para El Sector Energetico"
 
Socrates..Filosofia
Socrates..FilosofiaSocrates..Filosofia
Socrates..Filosofia
 
Porque Somos Tan Pobres
Porque Somos Tan PobresPorque Somos Tan Pobres
Porque Somos Tan Pobres
 
Silabo i proyectos inversion auditoria 2015
Silabo i proyectos inversion auditoria 2015Silabo i proyectos inversion auditoria 2015
Silabo i proyectos inversion auditoria 2015
 
B Uscadores De La Web
B Uscadores De La WebB Uscadores De La Web
B Uscadores De La Web
 
Sólidos cristalinos 2014
Sólidos cristalinos 2014Sólidos cristalinos 2014
Sólidos cristalinos 2014
 
Pres Precios Petroleo Y Derivados 2009
Pres Precios Petroleo Y Derivados 2009Pres Precios Petroleo Y Derivados 2009
Pres Precios Petroleo Y Derivados 2009
 
02. Edicion Html. Tablas 0001
02. Edicion Html. Tablas   000102. Edicion Html. Tablas   0001
02. Edicion Html. Tablas 0001
 
06. Internet. Aula Abierta. Ftp. Gestores De Ftp. Filezilla
06. Internet. Aula Abierta. Ftp. Gestores De Ftp. Filezilla06. Internet. Aula Abierta. Ftp. Gestores De Ftp. Filezilla
06. Internet. Aula Abierta. Ftp. Gestores De Ftp. Filezilla
 
Clonacion
ClonacionClonacion
Clonacion
 
Navega Protegido[1]
Navega Protegido[1]Navega Protegido[1]
Navega Protegido[1]
 
Ugolini Andru
Ugolini AndruUgolini Andru
Ugolini Andru
 
Nuevos Artículos En Kawaiitastic!!!
Nuevos Artículos En  Kawaiitastic!!!Nuevos Artículos En  Kawaiitastic!!!
Nuevos Artículos En Kawaiitastic!!!
 
Prova Natalia
Prova NataliaProva Natalia
Prova Natalia
 
10. Edicion Html. Estilos Edicion Html. Menus 0001
10. Edicion Html. Estilos Edicion Html. Menus   000110. Edicion Html. Estilos Edicion Html. Menus   0001
10. Edicion Html. Estilos Edicion Html. Menus 0001
 
Lubri Max
Lubri MaxLubri Max
Lubri Max
 
Crick 6 May
Crick 6  MayCrick 6  May
Crick 6 May
 

Similar a Semantic Web Services: OWLS and WSMO

Similar a Semantic Web Services: OWLS and WSMO (20)

Web services
Web servicesWeb services
Web services
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
MIMIPO
MIMIPOMIMIPO
MIMIPO
 
Soa expo
Soa expoSoa expo
Soa expo
 
Soa expo
Soa expoSoa expo
Soa expo
 
Rest vswebservices
Rest vswebservicesRest vswebservices
Rest vswebservices
 
Servicios w eb
Servicios w ebServicios w eb
Servicios w eb
 
Tp Tics Hypertexto
Tp Tics HypertextoTp Tics Hypertexto
Tp Tics Hypertexto
 
Terminos web 2.0. (1)
Terminos web 2.0. (1)Terminos web 2.0. (1)
Terminos web 2.0. (1)
 
Presentac[2]..
Presentac[2]..Presentac[2]..
Presentac[2]..
 
SOA
SOASOA
SOA
 
182000
182000182000
182000
 
Herramientas 2[1].0
Herramientas 2[1].0Herramientas 2[1].0
Herramientas 2[1].0
 
Herramientas 2[1].0
Herramientas 2[1].0Herramientas 2[1].0
Herramientas 2[1].0
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Presentacion Unidad 6
Presentacion Unidad 6Presentacion Unidad 6
Presentacion Unidad 6
 
Sio2009 Eq4 L9 G&Ruth Cap 7
Sio2009 Eq4 L9 G&Ruth Cap 7Sio2009 Eq4 L9 G&Ruth Cap 7
Sio2009 Eq4 L9 G&Ruth Cap 7
 
Soa
SoaSoa
Soa
 

Último

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 

Último (20)

definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 

Semantic Web Services: OWLS and WSMO

  • 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/