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