Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Servicios Web Semánticos
Miguel Rebollo Pedruelo
Dept. Sistemas Informáticos y ComputaciónUniv. Politécnica de Valencia
Agentes de Información y Web SemánticaMaster IARFID 2008-2009
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Contenidos
1 Servicios Web
2 Servicios Web para la Web Semántica
3 OWL-S: OWL orientado a servicios
4 Web Service Modeling Ontology (WSMO)
5 Servicios Web Semánticos y Agentes
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Contenidos
1 Servicios Web
2 Servicios Web para la Web Semántica
3 OWL-S: OWL orientado a servicios
4 Web Service Modeling Ontology (WSMO)
5 Servicios Web Semánticos y Agentes
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
¿Qué es un Servicio Web?
DefiniciónAplicaciones autocontenidas, auto-descriptivas y modulares. . .basadas en contenidos XML. . .que pueden publicarse, localizarse e invocarse en la Web
Se localizan mediante registros de servicios webPueden ampliarse con metadatos descriptivos para losconsumidores del servicio
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Novedades que aportan
Modelos basados en compo-nentes
Modelos de Servicios Web
Aplicaciones fuertementeacopladas (alta dependenciaentre sistemas)
Aplicaciones débilmenteacopladas (baja dependenciaentre sistemas)
Diseñado para procesos inter-nos de las empresas
Diseñado para procesos exter-nos de las empresas
Diferentes protocolos y tec-nologías (DCOM, CORBA. . . )
Protocolos y tecnologíascomunes (XML, SOAP,WSDL. . . )
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Estructura de un Servicio Web
Descripción ¿qué hacen?WSDL/WSFL, OWL-S, RDF,ebXML
Descubrimiento¿cómo encontrarlos?UDDI, ebXML, WS InspectionLanguage
Comunicación ¿cómo usarlos?SOAP, JAXM/RPC
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
En pocas palabras. . .
Para disponer de una plataforma completa que proporcioneservicios web son necesarias capas para. . .
descripción de la naturaleza de los servicioslocalización de serviciosinvocación remota de los servicios
Las tecnologías que se emplean habitualmente son:WSDL para la descripción de los serviciosUDDI para la localización de servicios webXML-RPC o SOAP para invocación remota
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Estructura y estándares
SOAP: Simple Object Access ProtocolWSDL: Web Services Description Lang.UDDI: Universal Description, Discoveryand IntegrationBPEL: Business Process Execution Lang.XAML: eXtensible Application MarkupLang.WSCL: Web Services Conversation Lang.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
XML-RPC
permite llamadas a procedimiento remoto sobre HTTP y conXML para la codificacióndiseñado para ser simple: facilidad de uso
Example<methodCall>
<methodName>sample.sumAndDifference</methodName><params>
<param><value><int>5</int></value></param><param><value><int>3</int></value></param>
</params></methodCall>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
SOAP
Intercambio de datos y RPC sobre HTTP
Diferencias con XML-RDFes algo más complejo, pero también más potentearropado mejor WSDL y UDDI (para servicios web)
Cuestión¿Tendría sentido usar otros protocolos? Por ejemplo, SMTP oXMPP, que están orientado a la comunicación (existen versionesde SOAP sobre ambos)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
SOAP
Intercambio de datos y RPC sobre HTTP
Diferencias con XML-RDFes algo más complejo, pero también más potentearropado mejor WSDL y UDDI (para servicios web)
Cuestión¿Tendría sentido usar otros protocolos? Por ejemplo, SMTP oXMPP, que están orientado a la comunicación (existen versionesde SOAP sobre ambos)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Estructura de un mensaje SOAP
Mensaje encerrado en un elemento Envelope, con dos partesHeader(opcional) información de contextoBody(obligatorio) que contiene el mensaje
Example (Servicio GetWeather –ver web–)<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body><GetWeather xmlns="http://www.webserviceX.NET">
<CityName>Valencia</CityName><CountryName>Spain</CountryName>
</GetWeather></soap:Body>
</soap:Envelope>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Estructura de un mensaje SOAP
Mensaje encerrado en un elemento Envelope, con dos partesHeader(opcional) información de contextoBody(obligatorio) que contiene el mensaje
Example (Servicio GetWeather –ver web–)<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body><GetWeather xmlns="http://www.webserviceX.NET">
<CityName>Valencia</CityName><CountryName>Spain</CountryName>
</GetWeather></soap:Body>
</soap:Envelope>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Respuesta del Servicio Web en SOAP
Example (Estructura de la respuesta)<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><GetWeatherResponse xmlns="http://www.webserviceX.NET">
<GetWeatherResult> string </GetWeatherResult></GetWeatherResponse>
</soap:Body></soap:Envelope>
Example (Contenido de la respuesta)<string>
<CurrentWeather><Location>Valencia / Aeropuerto, Spain (LEVC) 39-30N 000-28W 62M</Location><Time>Jun 14, 2007 - 10:00 AM EDT / 2007.06.14 1400 UTC</Time><Wind> from the SW (230 degrees) at 21 MPH (18 KT):0</Wind><Visibility> greater than 7 mile(s):0</Visibility><SkyConditions> mostly clear</SkyConditions><Temperature> 91 F (33 C)</Temperature>...
</CurrentWeather></string>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Respuesta del Servicio Web en SOAP
Example (Estructura de la respuesta)<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><GetWeatherResponse xmlns="http://www.webserviceX.NET">
<GetWeatherResult> string </GetWeatherResult></GetWeatherResponse>
</soap:Body></soap:Envelope>
Example (Contenido de la respuesta)<string>
<CurrentWeather><Location>Valencia / Aeropuerto, Spain (LEVC) 39-30N 000-28W 62M</Location><Time>Jun 14, 2007 - 10:00 AM EDT / 2007.06.14 1400 UTC</Time><Wind> from the SW (230 degrees) at 21 MPH (18 KT):0</Wind><Visibility> greater than 7 mile(s):0</Visibility><SkyConditions> mostly clear</SkyConditions><Temperature> 91 F (33 C)</Temperature>...
</CurrentWeather></string>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
SOAP
El emisor y el receptor debencompartir la misma ontologíapara comprender el mensaje.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
WSDL
Definition (WSDL)Es un formato XML para describir de forma abstracta servicios webcomo una serie de puertos a los que llegan los mensajes.
Permite a los proveedores describir el formato de laspeticiones bajo distintos protocolos y codificacionesIndica
1 qué hace el servicio2 dónde se accede a él3 cómo se invoca
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
types: tipos de datos empleadosmessage: definición de los métodos deacceso abstractosoperation: acciones abstractas queel servicio puede realizarportType: conjunto de operacionesabstractas que ofrece un puertobinding: protocolo y formatoparticulares de un portType →reutilizaciónport: colección de puertos-tiposervice colección de puertos quedefinen el servicioM. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
define un grupo de puertossu nombre es únicolos puertos no se comunican entre ellospuede reutilizarse un puerto condiferentes vínculos (bindings)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (Servicio)<wsdl:service name="GlobalWeather">
<wsdl:port name="GlobalWeatherSoap" binding="tns:GlobalWeatherSoap"><soap:address
location="http://www.webservicex.net/globalweather.asmx"/></wsdl:port>...
</wsdl:service>
(acceso al documento completo)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Definen el formato y el protocolo delos mensajes para un portTypeparticular.su nombre debe ser único en eldocumentola referencia al portType se hace porel atributo type
debe especificar exactamente unprotocolono debe indicar la dirección
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (Vínculo SOAP)<wsdl:binding name="GlobalWeatherSoap" type="tns:GlobalWeatherSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"style="document"/><wsdl:operation name="GetWeather">
<soap:operation soapAction="http://www.webserviceX.NET/GetWeather"style="document"/>
<wsdl:input><soap:body use="literal"/>
</wsdl:input><wsdl:output>
<soap:body use="literal"/></wsdl:output>
</wsdl:operation>...</wsdl:binding>
(acceso al documento completo)M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (Vínculo HTTP)<wsdl:binding name="GlobalWeatherHttpGet"type="tns:GlobalWeatherHttpGet">
<http:binding verb="GET"/><wsdl:operation name="GetWeather">
<http:operation location="/GetWeather"/><wsdl:input>
<http:urlEncoded/></wsdl:input><wsdl:output>
<mime:mimeXml part="Body"/></wsdl:output>
</wsdl:operation>...</wsdl:binding>
(acceso al documento completo)M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (Vínculo HTTP)<wsdl:binding name="GlobalWeatherHttpGet"type="tns:GlobalWeatherHttpGet">
<http:binding verb="GET"/><wsdl:operation name="GetWeather">
<http:operation location="/GetWeather"/><wsdl:input>
<http:urlEncoded/></wsdl:input><wsdl:output>
<mime:mimeXml part="Body"/></wsdl:output>
</wsdl:operation>...</wsdl:binding>
(acceso al documento completo)M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (Vínculo HTTP)<wsdl:binding name="GlobalWeatherHttpGet"type="tns:GlobalWeatherHttpGet">
<http:binding verb="GET"/><wsdl:operation name="GetWeather">
<http:operation location="/GetWeather"/><wsdl:input>
<http:urlEncoded/></wsdl:input><wsdl:output>
<mime:mimeXml part="Body"/></wsdl:output>
</wsdl:operation>...</wsdl:binding>
(acceso al documento completo)M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
representa un conjunto de operacionesabstractasprimitivas de transmisión
one-way: inputrequest-response: input – outputsolicit-response: output – inputnotification: output
elemento fault para manejar erroresparámetros
one-way: inputrequest-response: input – outputsolicit-response: output – inputnotification: output
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (portType)<wsdl:portType name="GlobalWeatherSoap">
<wsdl:operation name="GetWeather"><documentation>
Get weather report for all major cities around the world.</documentation><wsdl:input message="tns:GetWeatherSoapIn"/><wsdl:output message="tns:GetWeatherSoapOut"/>
</wsdl:operation>...
</wsdl:portType>
(acceso al documento completo)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
formado por una o más partes lógicasel nombre debe ser único para todoslos mensajes del documento WSDLactuallas partes definen los parámetros deentrada o salida de los mensajes
name define el nombre del parámetrotype hace referencia a un tipo dedatos definido en la secciónwsdl:types
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (Mensaje)<wsdl:message name="GetWeatherSoapIn">
<wsdl:part name="parameters" element="tns:GetWeather"/></wsdl:message><wsdl:message name="GetWeatherSoapOut">
<wsdl:part name="parameters" element="tns:GetWeatherResponse"/></wsdl:message>...
(acceso al documento completo)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
incluye definiciones de tipos de datosrelevantes para el intercambio demensajesse prefieren tipos de XML-Schema(XSD)independiente de si la respuesta de unmensaje es XML o no
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Esquema de un mensaje WSDL
Example (Tipos)<wsdl:types>
<s:schema elementFormDefault="qualified"targetNamespace="http://www.webserviceX.NET"><s:element name="GetWeather">
<s:complexType><s:sequence>
<s:element minOccurs="0" maxOccurs="1"name="CityName" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1"name="CountryName" type="s:string"/>
</s:sequence></s:complexType>
</s:element></s:schema>
</wsdl:types>
(acceso al documento completo)M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
UDDI
Registro de servicios webServicio web que gestiona información sobre proveedores,implementación y metadatos de servicios web.
proveedores: anunciar servicios.clientes: descubrir servicios de interés y obtener metadatosnecesarios para saber utilizarlos.
permite descubrir servicios en la web de forma dinámica (conSOAP)tModels: describen conceptos y categor?as (reutilización)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Especificación UDDI
Las especificaciones UDDI definen1 API en SOAP que usan las aplicaciones para solicitar y
publicar información de/en un registro UDDI2 XML Schema del modelo de datos del registro y del formato
de los mensajes SOAP3 definiciones WSDL de la API en SOAP4 definiciones de registros UDDI (technical models - tModels)
que identifican y categorizan los registros UDDI.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Datos del registro UDDI
Descripción de la entidad (páginas blancas)businessEntity: información general de la empresa
Descripción del servicio (páginas amarillas)businessServices: información sobre los servicios queproporciona
Datos técnicos (páginas verdes)descripción sobre el punto de acceso al servicioespecificaciones técnicas (tModel)
bindingTemplate: protocolos, acceso, ubicación...TmodelInstanceInfo: WSDL que describe el servicio
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Datos del registro UDDI
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Construcción de UDDI desde WSDL
fuente: Understanding WSDL in a UDDI registry. IBM
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Ejemplo de registro UDDI
Example (Entidad)<businessEntity businessKey="uuid:A8847507-255F-0E18-D814-78D18E6C32F6">
<name>GlobalWeather</name><description>
GlobalWeather returns detailed, strong-typed and time-stampedweather data
</description><contacts>
<contact useType="general info"><personName>Ingo Melzer</personName><phone>0170 1234567</phone>
</contact></contacts><businessServices>...</businessServices>
</businessEntity>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
UDDI
La descripción de los serviciosse realiza en lenguaje natural
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
IntroducciónSOAPWSDLUDDI
Otros estándares relacionados
WS-Secure: autentificación sobre SOAPWS-Trust: gestión de credencialesWS-Policy: gestión de políticas que agrupan protocolos,autentificación,. . .WS-Federation: gestión de seguridad por dominiosBPEL: descripción de procesos en XML (sustituye a WSFL)WSCL: describe conversaciones como FSM
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Contenidos
1 Servicios Web
2 Servicios Web para la Web Semántica
3 OWL-S: OWL orientado a servicios
4 Web Service Modeling Ontology (WSMO)
5 Servicios Web Semánticos y Agentes
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
¿Qué falta en los Servicios Web?
Automatización de las tareas relacionadas con los servicios web:descubrimiento, selección, composición y elección.⇒Los servicios deben ser procesables por máquinas
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
¿Qué falta en los Servicios Web?
Automatización de las tareas relacionadas con los servicios web:descubrimiento, selección, composición y elección.⇒Los servicios deben ser procesables por máquinas
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
¿Qué falta en los Servicios Web?
Automatización de las tareas relacionadas con los servicios web:descubrimiento, selección, composición y elección.⇒Los servicios deben ser procesables por máquinas
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
¿Qué puede aportar la Web Semántica?
DescubrimientoUDDI sólo permite búsqueda por palabras clave (como unbuscador de web). Las técnicas de SW permitirían:
anotación semántica de las capacidades del WSontologías descentralizadas (compartidas)interconectadas con axiomas lógicosdeterminar qué servicio cumple el objetivo mediante inferencialógicadescripciones formales de
pre- y postcondicionesentradas y salidas
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
¿Qué puede aportar la Web Semántica?
NegociaciónUn vez localizado el servicio, debe poder negociarse
calidad del servicio deseadapolíticas de confianzaformas de pago
Además de la información "técnica" sobre el servicio, es necesarioincluir aspectos no funcionales, como políticas o protocolos deseguridad.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
¿Qué puede aportar la Web Semántica?
ComposiciónUn objetivo puede necesitar varios WS para cumplirse. Se precisainformación semántica para
anotar las capacidades del serviciodescribir su comportamiento
Se requieren capacidades de planning (o scheduling) sobre serviciosweb.
Los planificadores "habituales" no sirven ¿por qué?
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
¿Qué puede aportar la Web Semántica?
InvocaciónDespués de elegir un servicio (o una combinación), el último pasoes su ejecución. Es necesario
extraer información de la entrada y salidaadaptarla a los protocolos y formatos negociadosmonitorizar y controlar la transacción durante su ejecución
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Tendencias actuales
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Contenidos
1 Servicios Web
2 Servicios Web para la Web Semántica
3 OWL-S: OWL orientado a servicios
4 Web Service Modeling Ontology (WSMO)
5 Servicios Web Semánticos y Agentes
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Ontología OWL-S
Perfil Publicidad (como UDDI)Proceso Interacciones con elclienteTareas Descomposición deprocesosRealización Concreción alservicio (extensión WSDL)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Descripción de un servicio OWL-S
Servicio para subir fotografías a un servicio de revelado digital
Example (UploadAgent)<service:Service rdf:ID="UploadAgent">
<service:present rdf:resource="&up_profile;#UploadProfile"/><service:describedBy rdf:resource="&up_process;#UploadProcess"/><service:supports rdf:resource="&up_grounding;#UploadGrounding"/>
</service:Service>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Descripción de perfiles OWL-S
Propósito: anunciar el servicio a entidades externasdescripción de tipo caja negra del serviciodescripción funcional: transformación de entradas en salidas
1 entrada y salida expresada mediate conceptos ontológicos(OWL)
2 cambios de estado con precondiciones y efectosA la descripción en términos de entradas (input), salidas (output),precondiciones y efectos del servicio se le denomina descripciónIOPE
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Descripción de perfiles OWL-S
Example (Perfil del servicio UploadAgent)<service:presentedBy rdf:resource="&up_service;#UploadAgent"/><profile:serviceName>Photo Upload Service</profile:serviceName><profile:textDescription>...</profile:textDescription><profile:contactInformation>...</profile:contactInformation><profile:hasInput rdf:resource="&up_process;#FileLocation"/><profile:hasInput rdf:resource="&up_process;#FileName"/><profile:hasInput rdf:resource="&up_process;#FileType"/><profile:hasOutput rdf:resource="&up_process;#UploadResponse"/><profile:hasResult rdf:resource="&up_process;#UploadResult"/><profile:serviceParameter>
<profile:serviceParameterName>Region</profile:serviceParameterName><profile:sParameter rdf:resource="&camera;#EuropeRegion"/>
</profile:serviceParameter></service:Service>
serviceParameter y serviceCategory son NFPM. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Modelo de procesos OWL-S
Describe cómo funciona el servicio → posibilidad de composicióncompatible con lenguajes de planificación, workflows. . .visto como un conjunto de interacciones entre el servicio y elclientedos tipos de procesos
atómicos: 1 entrada, 1 salida (IOPE)compuestos: conjunto de procesos atómicos
problema OWL no permite variables → OWL-S define unaclase Parameter que corresponde a las variables en SWRL.la entrada y salida son subclases de Parameter
tampoco existe el concepto de alcance
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Modelo de procesos OWL-S
Example (Modelo del proceso UploadProcess -atómico-)<process:AtomicProcess rdf:ID="UploadProcess">
<process:hasInput> <process:Input rdf:ID="FileLocation"><process:parameterType rdf:datatype="&xsd;#anyURI">&camera;#PhotoLocation </process:parameterType>
</process:Input> </process:hasInput><process:hasOutput>...</process:hasOutput><process:hasResult> <process:Result rdf:ID="UploadResult">...
<process:hasEffect><expr:PDDL-Expression>(uploaded ?client ?server ?file)</expr:PDDL-Expression>
</process:hasEffect></process:Result> </process:hasResult>
</process:AtomicProcess>
Otros lenguajes, como KIF y SWRL pueden usarse para expresarefectos M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Modelo de tareas OWL-S
Descompone los procesos compuestos en servicios más simples(compuestos o atómicos)
representan flujos de trabajono es ejecutable (sólo una descripción)los procesos simples no son invocables (no son procesosatómicos)estructura de árbol
las hojas son los procesoslos nodos intermedios son construcciones de control
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Constructores de control
Sequence: los hijos se ejecutan en ordenSplit: los hijos se ejecutan concurrentementeSlipt-Join: concurrencia con sincronización de barreraAny-Order: ejecución secuencial "aleatoria"Choice: sólo uno de los hijos se ejecutaIf-Then-Else: ejecución condicionalIterate: el hijo se ejecuta repetidamenteRepeat-While: bucle con guarda al principioRepeat-Until: bucle con guarda al final
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Composición de servicios en OWL-S
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Realización de servicios en OWL-S
Especifica cómo acceder al serviciomapeo de la descripción abstracta en el perfil yel modelo auna especificación concretaOWL-S no reemplaza WSDL, sino que lo extiendeOWL-S se define como un nuevo binding de WSDL
Mapeo entre OWL-S y WSDL
OWL-S WSDLAtomicProcess operation
Conjunto de In/Out messagesIn/Out individual part en un messages
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Realización de servicios OWL-S
Example (Modelo del proceso UploadProcess)<process:AtomicProcess rdf:ID="UploadProcess">
<process:hasInput> <process:Input rdf:ID="FileLocation"><process:parameterType rdf:datatype="&xsd;#anyURI">&camera;#PhotoLocation </process:parameterType>
</process:Input> </process:hasInput><process:hasOutput>...</process:hasOutput><process:hasResult> <process:Result rdf:ID="UploadResult">...
<process:hasEffect><expr:PDDL-Expression>(uploaded ?client ?server ?file)</expr:PDDL-Expression>
</process:hasEffect></process:Result> </process:hasResult>
</process:AtomicProcess>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
OntologíaPerfilesTareasTareasAcceso
Realización de servicios OWL-S
Example (Modelo del proceso UploadProcess -Grounded-)<grounding:WsdlGrounding rdf:ID="FullUploadProcessGrounding">
<grounding:hasAtomicProcessGroundingrdf:resource="#UploadProcessGrounding"/>
</grounding:WsdlGrounding><grounding:WsdlAtomicProcessGrounding red:ID="UploadProcessGrounding">
<grounding:owlsProcess rdf:resource="#UploadProcess"><grounding:wsdlOperation>Definición de la operación UploadAgent
</grounding:wsdlOperation><grounding:wsdlInputMessage ...>Definición del parámetro FileLocation
</grounding:wsdlInputMessage>...<grounding:wsdlOutputMessage> ...</grounding:wsdlOutputMessage></grounding:wsdlOperation>
</grounding:owlsProcess></grounding:WsdlAtomicProcessGrounding>
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Contenidos
1 Servicios Web
2 Servicios Web para la Web Semántica
3 OWL-S: OWL orientado a servicios
4 Web Service Modeling Ontology (WSMO)
5 Servicios Web Semánticos y Agentes
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Web Service Modeling Ontology (WSMO)
WSMO proporciona un marco completo para la especificación,construcción y ejecución de servicios web semánticos.
Va más allá de proporcionar una ontología para Servicios WebEstá basado en F-logicNo es una capa sobre RDF u OWL
El proyecto está formado por tres líneasWSML: definición del lenguaje con F-logicWSMO: ontología compuesta para WSMLWSMX: entorno de ejecución
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Elementos de WSMO
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Elementos de WSMO
OntologíaProporcionan la terminologíaempleada por el servicio. Permitela definición de funciones y reglassin la necesidad de extender ellenguaje
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Elementos de WSMO
Servicio webEspecifica los aspectosfuncionales del servicio. Ladescripción del servicio estáformada por sus capacidades(IOPE) y sus interfaces queespecifican su coreografía(comunicación) y orquestación(uso de otros servicios)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Elementos de WSMO
ObjetivosDescriben aspectos relacionadoscon los deseos de los usuariossobre la funcionalidad requerida.Se expresan en términos de laontología.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Elementos de WSMO
MediadoresDescriben los elementosencargados de gestionar losproblemas de interoperabilidadentre los elementos anteriores oconectarlos para ofrecer serviciosmás complejos
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Componentes de la ontología. Conceptos
Class ontologyhasNonFunctionalPropertiesimportsOntologyusesMediatorhasConcepthasRelationhasFunctionhasInstancehasAxiom
Class concepthasNonFunctionalPropertieshasSuperConcepthasAttributehasDefinition
Son los elementos básicos de laterminología.
construcción de jerarquías deconceptoscaracterización medianteatributosexpresiones lógicas pararefinar su semántica (p.ej.añadir una restricción)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Componentes de la ontología. Conceptos
Class ontologyhasNonFunctionalPropertiesimportsOntologyusesMediatorhasConcepthasRelationhasFunctionhasInstancehasAxiom
Class concepthasNonFunctionalPropertieshasSuperConcepthasAttributehasDefinition
Son los elementos básicos de laterminología.
construcción de jerarquías deconceptoscaracterización medianteatributosexpresiones lógicas pararefinar su semántica (p.ej.añadir una restricción)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Componentes de la ontología. Relaciones
Class ontologyhasNonFunctionalPropertiesimportsOntologyusesMediatorhasConcepthasRelationhasFunctionhasInstancehasAxiom
Class relationhasNonFunctionalPropertieshasSuperRelationhasParameterhasDefinition
Expresan interdependencias entreconceptos
también permiterefinamiento/reutilización derelacionesposibilidad de definirparámetrosexpresiones lógicas definirinstancias válidas
Una función es un tipo especialde relación de rango unario ydominio n-ario
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Componentes de la ontología. Instancias
Class ontologyhasNonFunctionalPropertiesimportsOntologyusesMediatorhasConcepthasRelationhasFunctionhasInstancehasAxiom
Class instancehasNonFunctionalPropertieshasTypehasAttributeValues
Representan a los individuosconcretos, asígnando valor a losatributos del objeto
pueden ser un enlace a unalmacén de instanciasexternosno tienen porqué coincidircompletamente con ladefinición del conceptos(datos semiestructurados)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción general de un servicio web
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Capacidades
Class servicehasNonFunctionalPropertiesimportsOntologyusesMediatorhasCapacityhasInterface
Class capabilityhasNonFunctionalPropertiesimportsOntologyusesMediatorhasPreconditionhasAssumptionhasPostconditionhasAssumption
Funcionalidad del servicio.Precond. Estado internorequerido antes deproporcionar el servicioAssump. Estado del mundoque se asume antes de laejecuciónPostcond. Estado interno alque se llega después de laejecución del servicio.Effects Estado del mundoque se alcanza al completarla ejecución
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Capacidades
Class servicehasNonFunctionalPropertiesimportsOntologyusesMediatorhasCapacityhasInterface
Class capabilityhasNonFunctionalPropertiesimportsOntologyusesMediatorhasPreconditionhasAssumptionhasPostconditionhasAssumption
Funcionalidad del servicio.Precond. Estado internorequerido antes deproporcionar el servicioAssump. Estado del mundoque se asume antes de laejecuciónPostcond. Estado interno alque se llega después de laejecución del servicio.Effects Estado del mundoque se alcanza al completarla ejecución
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Capacidades
Class servicehasNonFunctionalPropertiesimportsOntologyusesMediatorhasCapacityhasInterface
Class interfacehasNonFunctionalPropertiesimportsOntologyusesMediatorhasChoreographyhasOrchestation
Describe cómo se realiza lafuncionalidad del servicio.
la coreografía describe lacapacidad en términos de lainteracción con el servicio.la orquestación descomponeun servicio en términos de lafuncionalidad requerida deterceros.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Coreografía
Class choreographyhasNonFunctionalPropertieshasStateSignatureHasTransitionRules
Ventajaspermite gestionarinteracciones complejasincluye cierto estado internodel servicio
Determina las interacciones delservicio web con sus usuarios através de una máquina de estadosabstracta (ASM)
1 basada en estados2 los estados se representan
por su signatura3 reglas de transición para
cambios de estado
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Coreografía
Class choreographyhasNonFunctionalPropertieshasStateSignatureHasTransitionRules
Ventajaspermite gestionarinteracciones complejasincluye cierto estado internodel servicio
Determina las interacciones delservicio web con sus usuarios através de una máquina de estadosabstracta (ASM)
1 basada en estados2 los estados se representan
por su signatura3 reglas de transición para
cambios de estado
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Estados
Class choreographyhasNonFunctionalPropertieshasStateSignatureHasTransitionRules
Class stateSignaturehasNonFunctionalPropertiesimportsOntologyusesMediatorhasStatichasInhasOuthasSharedhasControlled
El estado se define por unconjunto identificadores,conceptos, relaciones y axiomas.
static internosin lecturaout escrituracontrolled sólo el interfazlee y escribeshared el entorno tambiénlee y escribe
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Transiciones
Class choreographyhasNonFunctionalPropertieshasStateSignatureHasTransitionRules
Operaciones básicasadd(fact)delete(fact)update(factnew)update(factold → factnew)
Transiciones complejasif Condthen Rules endifforall Var with Cond do Rules endforallchoose Var with Cond do Rules endchoose
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Descripción de los servicios. Orquestación
Describe cómo usar otros serviciosbasado en las ASM multiagenteusa el mismo lenguaje que las coreografías
Diferencias principalesen lugar de reglas pueden emplearse objetivos y serviciospuede reutilizarse o extenderse las interfaces definidas en lascoreografíasuso de mediadores WW y WG para enlazar con los servicios
Esta parte de WSMO todavía no está definida
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Objetivos WSMO
Class goalhasNonFunctionalPropertiesimportsOntologyusesMediatorrequestsCapabilityrequestsInterface
Descripción de alto nivel delservicio en términos de
las capacidades queproporcionamediante qué interfacesacceder a ellas
El uso de mediadores GG permitedescomponer un objetivocomplejo en otros objetivos mássimples
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Mediadores WSMO
Class mediatorhasNonFunctionalPropertiesimportsOntologyhasSourcehasTargethasMediationService
Gestión de heterogeneidad entiempo de ejecución en tresniveles:
1 datos: fuentes de datos yprotocolos de transferencia(ontologías)
2 funciones: ajuste deobjetivos
3 procesos: interacciones,protocolos de comunicación(orquestación)
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Mediadores entre ontologías (OO)
Class mediatorhasNonFunctionalPropertiesimportsOntologyhasSourcehasTargethasMediationService
Class ooMediator sub-Class mediatorhasSource type{ontology,ooMediator}
Traducción entre ontologíasmezclaalineaciónmapeo
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Mediadores entre objetivos (GG)
Class mediatorhasNonFunctionalPropertiesimportsOntologyhasSourcehasTargethasMediationService
Class ggMediator sub-Class mediatorusesMediator type ooMediatorhasSource type {goal,ggMediator}hasTarget type {goal,ggMediator}
Refinamiento/composiciónde objetivosPuede emplear unooMediator para resolverconflictos terminológicosentre los objetivos.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Mediadores entre servicios (WW)
Class mediatorhasNonFunctionalPropertiesimportsOntologyhasSourcehasTargethasMediationService
Class wwMediator sub-Class mediatorusesMediator type ooMediatorhasSource type {service,wwMediator}hasTarget type {service,wwMediator}
Define la interoperatividadentre servicios web(orquestación)La intermediación puede sernecesaria en los tres niveles:datos, funciones y procesos.Puede emplear unooMediator para resolverconflictos terminológicos.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Mediadores servicio–objetivo (WG)
Class mediatorhasNonFunctionalPropertiesimportsOntologyhasSourcehasTargethasMediationService
Class wgMediator sub-Class mediatorusesMediator type ooMediatorhasSource type {service,wgMediator}hasTarget type {goal,ggMediator}
Define la interoperatividadentre servicios web(orquestación)La intermediación puede sernecesaria en los tres niveles:datos, funciones y procesos.Puede emplear unooMediator para resolverconflictos terminológicos.
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
Composición de servicios WSMO
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
WSML. Descripción de servicios y ontologías
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
ElementosOntologíasServiciosObjetivosMediadoresWSML
WSML. Descripción de servicios y ontologías
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Contenidos
1 Servicios Web
2 Servicios Web para la Web Semántica
3 OWL-S: OWL orientado a servicios
4 Web Service Modeling Ontology (WSMO)
5 Servicios Web Semánticos y Agentes
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Servicios Web y agentes
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Uso de agentes de unión
Trata de resolver las carencias encomunicación de los WS
los agentes requieren lamodificación de los WS(pierden compatibilidad conotros WS directamente)el agente debe adaptarse alos lenguajes y posiblescambios en el WS
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Uso de una pasarela
Una pasarela entre los agentes ylos servicios hace de traductor
cada uno usa sus propiasarquitecturas sin modificarcentralización de lascomunicaciones: contraria alos principios de distribuciónde SMA y WSla pasarela es un cuello debotella
M. Rebollo Servicios Web Semánticos
Servicios WebWS semánticos
OWL-SWSMO
SWS y agentes
Integración real de WS y agentes
¿Qué componente está relacionado con las ontologías?¿Y con los servicios web?¿Cómo se integrarían SW y WS en un agente de informacióninteligente?
M. Rebollo Servicios Web Semánticos