Servicios web semánticos
Upcoming SlideShare
Loading in...5
×
 

Servicios web semánticos

on

  • 6,547 views

Conceptos básicos sobre servicios web. Servicios en la web semántica. OWL-S y WSMO. Servicios web y agentes

Conceptos básicos sobre servicios web. Servicios en la web semántica. OWL-S y WSMO. Servicios web y agentes

Statistics

Views

Total Views
6,547
Views on SlideShare
6,327
Embed Views
220

Actions

Likes
1
Downloads
221
Comments
0

3 Embeds 220

http://www.mrebollo.es 195
http://www.slideshare.net 22
http://www.pearltrees.com 3

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Servicios web semánticos Servicios web semánticos Presentation Transcript

  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes Servicios Web Semánticos Miguel Rebollo Pedruelo Dept. Sistemas Informáticos y Computación Univ. Politécnica de Valencia Agentes de Información y Web Semántica Master IARFID 2007-2008 M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO 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 Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI 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 Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes ¿Qué es un Servicio Web? Definición Aplicaciones autocontenidas, auto-descriptivas y modulares. . . basadas en contenidos XML. . . que pueden publicarse, localizarse e invocarse en la Web Se localizan mediante registros de servicios web Pueden ampliarse con metadatos descriptivos para los consumidores del servicio M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Novedades que aportan Modelos basados en compo- Modelos de Servicios Web nentes Aplicaciones fuertemente Aplicaciones débilmente acopladas (alta dependencia acopladas (baja dependencia entre sistemas) entre sistemas) Diseñado para procesos internos Diseñado para procesos exter- de las empresas nos de las empresas Protocolos y tecnologías Diferentes protocolos y tec- comunes (XML, SOAP, nologías (DCOM, CORBA. . . ) WSDL. . . ) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Estructura de un Servicio Web Descripción ¿qué hacen? WSDL/WSFL, OWL-S, RDF, ebXML Descubrimiento ¿cómo encontrarlos? UDDI, ebXML, WS Inspection Language Comunicación ¿cómo usarlos? SOAP, JAXM/RPC M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes En pocas palabras. . . Para disponer de una plataforma completa que proporcione servicios web son necesarias capas para. . . descripción de la naturaleza de los servicios localización de servicios invocación remota de los servicios Las tecnologías que se emplean habitualmente son: WSDL para la descripción de los servicios UDDI para la localización de servicios web XML-RPC o SOAP para invocación remota M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Estructura y estándares SOAP: Simple Object Access Protocol WSDL: Web Services Description Lang. UDDI: Universal Description, Discovery and Integration BPEL: Business Process Execution Lang. XAML: eXtensible Application Markup Lang. WSCL: Web Services Conversation Lang. M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes XML-RPC permite llamadas a procedimiento remoto sobre HTTP y con XML para la codificación diseñ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 Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes SOAP Intercambio de datos y RPC sobre HTTP Diferencias con XML-RDF es algo más complejo, pero también más potente arropado mejor WSDL y UDDI (para servicios web) Cuestión ¿Tendría sentido usar otros protocolos? Por ejemplo, SMTP o XMPP, que están orientado a la comunicación (existen versiones de SOAP sobre ambos) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes SOAP Intercambio de datos y RPC sobre HTTP Diferencias con XML-RDF es algo más complejo, pero también más potente arropado mejor WSDL y UDDI (para servicios web) Cuestión ¿Tendría sentido usar otros protocolos? Por ejemplo, SMTP o XMPP, que están orientado a la comunicación (existen versiones de SOAP sobre ambos) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Estructura de un mensaje SOAP Mensaje encerrado en un elemento Envelope, con dos partes Header(opcional) información de contexto Body(obligatorio) que contiene el mensaje Example (Servicio GetWeather –ver web–) <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <soap:Envelope xmlns:soap=quot;http://www.w3.org/2003/05/soap-envelopequot;> <soap:Body> <GetWeather xmlns=quot;http://www.webserviceX.NETquot;> <CityName>Valencia</CityName> <CountryName>Spain</CountryName> </GetWeather> </soap:Body> </soap:Envelope> M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Estructura de un mensaje SOAP Mensaje encerrado en un elemento Envelope, con dos partes Header(opcional) información de contexto Body(obligatorio) que contiene el mensaje Example (Servicio GetWeather –ver web–) <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <soap:Envelope xmlns:soap=quot;http://www.w3.org/2003/05/soap-envelopequot;> <soap:Body> <GetWeather xmlns=quot;http://www.webserviceX.NETquot;> <CityName>Valencia</CityName> <CountryName>Spain</CountryName> </GetWeather> </soap:Body> </soap:Envelope> M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Respuesta del Servicio Web en SOAP Example (Estructura de la respuesta) <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <soap:Envelope xmlns:soap=quot;http://schemas.xmlsoap.org/soap/envelope/quot;> <soap:Body> <GetWeatherResponse xmlns=quot;http://www.webserviceX.NETquot;> <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 Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Respuesta del Servicio Web en SOAP Example (Estructura de la respuesta) <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <soap:Envelope xmlns:soap=quot;http://schemas.xmlsoap.org/soap/envelope/quot;> <soap:Body> <GetWeatherResponse xmlns=quot;http://www.webserviceX.NETquot;> <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 Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes SOAP El emisor y el receptor deben compartir la misma ontología para comprender el mensaje. M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes WSDL Definition (WSDL) Es un formato XML para describir de forma abstracta servicios web como una serie de puertos a los que llegan los mensajes. Permite a los proveedores describir el formato de las peticiones bajo distintos protocolos y codificaciones Indica 1 qué hace el servicio 2 dónde se accede a él 3 cómo se invoca M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL types: tipos de datos empleados message: definición de los métodos de acceso abstractos operation: acciones abstractas que el servicio puede realizar portType: conjunto de operaciones abstractas que ofrece un puerto binding: protocolo y formato particulares de un portType → reutilización port: colección de puertos-tipo service colección de puertos que definenServicios Web Semánticos M. Rebollo el servicio
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL define un grupo de puertos su nombre es único los puertos no se comunican entre ellos puede reutilizarse un puerto con diferentes vínculos (bindings) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (Servicio) <wsdl:service name=quot;GlobalWeatherquot;> <wsdl:port name=quot;GlobalWeatherSoapquot; binding=quot;tns:GlobalWeatherSoapquot;> <soap:address location=quot;http://www.webservicex.net/globalweather.asmxquot;/> </wsdl:port> ... </wsdl:service> (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Definen el formato y el protocolo de los mensajes para un portType particular. su nombre debe ser único en el documento la referencia al portType se hace por el atributo type debe especificar exactamente un protocolo no debe indicar la dirección M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (Vínculo SOAP) <wsdl:binding name=quot;GlobalWeatherSoapquot; type=quot;tns:GlobalWeatherSoapquot;> <soap:binding transport=quot;http://schemas.xmlsoap.org/soap/httpquot; style=quot;documentquot;/> <wsdl:operation name=quot;GetWeatherquot;> <soap:operation soapAction=quot;http://www.webserviceX.NET/GetWeatherquot; style=quot;documentquot;/> <wsdl:input> <soap:body use=quot;literalquot;/> </wsdl:input> <wsdl:output> <soap:body use=quot;literalquot;/> </wsdl:output> </wsdl:operation> ... </wsdl:binding> (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (Vínculo HTTP) <wsdl:binding name=quot;GlobalWeatherHttpGetquot; type=quot;tns:GlobalWeatherHttpGetquot;> <http:binding verb=quot;GETquot;/> <wsdl:operation name=quot;GetWeatherquot;> <http:operation location=quot;/GetWeatherquot;/> <wsdl:input> <http:urlEncoded/> </wsdl:input> <wsdl:output> <mime:mimeXml part=quot;Bodyquot;/> </wsdl:output> </wsdl:operation> ... </wsdl:binding> (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (Vínculo HTTP) <wsdl:binding name=quot;GlobalWeatherHttpGetquot; type=quot;tns:GlobalWeatherHttpGetquot;> <http:binding verb=quot;GETquot;/> <wsdl:operation name=quot;GetWeatherquot;> <http:operation location=quot;/GetWeatherquot;/> <wsdl:input> <http:urlEncoded/> </wsdl:input> <wsdl:output> <mime:mimeXml part=quot;Bodyquot;/> </wsdl:output> </wsdl:operation> ... </wsdl:binding> (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (Vínculo HTTP) <wsdl:binding name=quot;GlobalWeatherHttpGetquot; type=quot;tns:GlobalWeatherHttpGetquot;> <http:binding verb=quot;GETquot;/> <wsdl:operation name=quot;GetWeatherquot;> <http:operation location=quot;/GetWeatherquot;/> <wsdl:input> <http:urlEncoded/> </wsdl:input> <wsdl:output> <mime:mimeXml part=quot;Bodyquot;/> </wsdl:output> </wsdl:operation> ... </wsdl:binding> (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL representa un conjunto de operaciones abstractas primitivas de transmisión one-way: input request-response: input – output solicit-response: output – input notification: output elemento fault para manejar errores parámetros one-way: input request-response: input – output solicit-response: output – input notification: output M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (portType) <wsdl:portType name=quot;GlobalWeatherSoapquot;> <wsdl:operation name=quot;GetWeatherquot;> <documentation> Get weather report for all major cities around the world. </documentation> <wsdl:input message=quot;tns:GetWeatherSoapInquot;/> <wsdl:output message=quot;tns:GetWeatherSoapOutquot;/> </wsdl:operation> ... </wsdl:portType> (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL formado por una o más partes lógicas el nombre debe ser único para todos los mensajes del documento WSDL actual las partes definen los parámetros de entrada o salida de los mensajes name define el nombre del parámetro type hace referencia a un tipo de datos definido en la sección wsdl:types M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (Mensaje) <wsdl:message name=quot;GetWeatherSoapInquot;> <wsdl:part name=quot;parametersquot; element=quot;tns:GetWeatherquot;/> </wsdl:message> <wsdl:message name=quot;GetWeatherSoapOutquot;> <wsdl:part name=quot;parametersquot; element=quot;tns:GetWeatherResponsequot;/> </wsdl:message> ... (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL incluye definiciones de tipos de datos relevantes para el intercambio de mensajes se prefieren tipos de XML-Schema (XSD) independiente de si la respuesta de un mensaje es XML o no M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Esquema de un mensaje WSDL Example (Tipos) <wsdl:types> <s:schema elementFormDefault=quot;qualifiedquot; targetNamespace=quot;http://www.webserviceX.NETquot;> <s:element name=quot;GetWeatherquot;> <s:complexType> <s:sequence> <s:element minOccurs=quot;0quot; maxOccurs=quot;1quot; name=quot;CityNamequot; type=quot;s:stringquot;/> <s:element minOccurs=quot;0quot; maxOccurs=quot;1quot; name=quot;CountryNamequot; type=quot;s:stringquot;/> </s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types> (acceso al documento completo) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes UDDI Registro de servicios web Servicio 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 metadatos necesarios para saber utilizarlos. permite descubrir servicios en la web de forma dinámica (con SOAP) tModels: describen conceptos y categor?as (reutilización) M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Especificación UDDI Las especificaciones UDDI definen 1 API en SOAP que usan las aplicaciones para solicitar y publicar información de/en un registro UDDI 2 XML Schema del modelo de datos del registro y del formato de los mensajes SOAP 3 definiciones WSDL de la API en SOAP 4 definiciones de registros UDDI (technical models - tModels) que identifican y categorizan los registros UDDI. M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes 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 que proporciona Datos técnicos (páginas verdes) descripción sobre el punto de acceso al servicio especificaciones técnicas (tModel) bindingTemplate: protocolos, acceso, ubicación... TmodelInstanceInfo: WSDL que describe el servicio M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Datos del registro UDDI M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Construcción de UDDI desde WSDL fuente: Understanding WSDL in a UDDI registry. IBM M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Ejemplo de registro UDDI Example (Entidad) <businessEntity businessKey=quot;uuid:A8847507-255F-0E18-D814-78D18E6C32F6quot;> <name>GlobalWeather</name> <description> GlobalWeather returns detailed, strong-typed and time-stamped weather data </description> <contacts> <contact useType=quot;general infoquot;> <personName>Ingo Melzer</personName> <phone>0170 1234567</phone> </contact> </contacts> <businessServices> ... </businessServices> </businessEntity> M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes UDDI La descripción de los servicios se realiza en lenguaje natural M. Rebollo Servicios Web Semánticos
  • Servicios Web Introducción WS semánticos SOAP OWL-S WSDL WSMO UDDI SWS y agentes Otros estándares relacionados WS-Secure: autentificación sobre SOAP WS-Trust: gestión de credenciales WS-Policy: gestión de políticas que agrupan protocolos, autentificación,. . . WS-Federation: gestión de seguridad por dominios BPEL: descripción de procesos en XML (sustituye a WSFL) WSCL: describe conversaciones como FSM M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO 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 Web WS semánticos OWL-S WSMO 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 Web WS semánticos OWL-S WSMO 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 Web WS semánticos OWL-S WSMO 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 Web WS semánticos OWL-S WSMO SWS y agentes ¿Qué puede aportar la Web Semántica? Descubrimiento UDDI sólo permite búsqueda por palabras clave (como un buscador de web). Las técnicas de SW permitirían: anotación semántica de las capacidades del WS ontologías descentralizadas (compartidas) interconectadas con axiomas lógicos determinar qué servicio cumple el objetivo mediante inferencia lógica descripciones formales de pre- y postcondiciones entradas y salidas M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes ¿Qué puede aportar la Web Semántica? Negociación Un vez localizado el servicio, debe poder negociarse calidad del servicio deseada políticas de confianza formas de pago Además de la información quot;técnicaquot; sobre el servicio, es necesario incluir aspectos no funcionales, como políticas o protocolos de seguridad. M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes ¿Qué puede aportar la Web Semántica? Composición Un objetivo puede necesitar varios WS para cumplirse. Se precisa información semántica para anotar las capacidades del servicio describir su comportamiento Se requieren capacidades de planning (o scheduling) sobre servicios web. Los planificadores quot;habitualesquot; no sirven ¿por qué? M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes ¿Qué puede aportar la Web Semántica? Invocación Después de elegir un servicio (o una combinación), el último paso es su ejecución. Es necesario extraer información de la entrada y salida adaptarla a los protocolos y formatos negociados monitorizar y controlar la transacción durante su ejecución M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes Tendencias actuales M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso 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 Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Ontología OWL-S Perfil Publicidad (como UDDI) Proceso Interacciones con el cliente Tareas Descomposición de procesos Realización Concreción al servicio (extensión WSDL) M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Descripción de un servicio OWL-S Servicio para subir fotografías a un servicio de revelado digital Example (UploadAgent) <service:Service rdf:ID=quot;UploadAgentquot;> <service:present rdf:resource=quot;&up_profile;#UploadProfilequot;/> <service:describedBy rdf:resource=quot;&up_process;#UploadProcessquot;/> <service:supports rdf:resource=quot;&up_grounding;#UploadGroundingquot;/> </service:Service> M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Descripción de perfiles OWL-S Propósito: anunciar el servicio a entidades externas descripción de tipo caja negra del servicio descripció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 efectos A la descripción en términos de entradas (input), salidas (output), precondiciones y efectos del servicio se le denomina descripción IOPE M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Descripción de perfiles OWL-S Example (Perfil del servicio UploadAgent) <service:presentedBy rdf:resource=quot;&up_service;#UploadAgentquot;/> <profile:serviceName>Photo Upload Service</profile:serviceName> <profile:textDescription>...</profile:textDescription> <profile:contactInformation>...</profile:contactInformation> <profile:hasInput rdf:resource=quot;&up_process;#FileLocationquot;/> <profile:hasInput rdf:resource=quot;&up_process;#FileNamequot;/> <profile:hasInput rdf:resource=quot;&up_process;#FileTypequot;/> <profile:hasOutput rdf:resource=quot;&up_process;#UploadResponsequot;/> <profile:hasResult rdf:resource=quot;&up_process;#UploadResultquot;/> <profile:serviceParameter> <profile:serviceParameterName>Region</profile:serviceParameterName> <profile:sParameter rdf:resource=quot;&camera;#EuropeRegionquot;/> </profile:serviceParameter> </service:Service> serviceParameter y serviceCategory son NFP M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Modelo de procesos OWL-S Describe cómo funciona el servicio → posibilidad de composición compatible con lenguajes de planificación, workflows. . . visto como un conjunto de interacciones entre el servicio y el cliente dos tipos de procesos atómicos: 1 entrada, 1 salida (IOPE) compuestos: conjunto de procesos atómicos problema OWL no permite variables → OWL-S define una clase 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 Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Modelo de procesos OWL-S Example (Modelo del proceso UploadProcess -atómico-) <process:AtomicProcess rdf:ID=quot;UploadProcessquot;> <process:hasInput> <process:Input rdf:ID=quot;FileLocationquot;> <process:parameterType rdf:datatype=quot;&xsd;#anyURIquot;> &camera;#PhotoLocation </process:parameterType> </process:Input> </process:hasInput> <process:hasOutput>...</process:hasOutput> <process:hasResult> <process:Result rdf:ID=quot;UploadResultquot;> ... <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 expresar efectos M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Modelo de tareas OWL-S Descompone los procesos compuestos en servicios más simples (compuestos o atómicos) representan flujos de trabajo no es ejecutable (sólo una descripción) los procesos simples no son invocables (no son procesos atómicos) estructura de árbol las hojas son los procesos los nodos intermedios son construcciones de control M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Constructores de control Sequence: los hijos se ejecutan en orden Split: los hijos se ejecutan concurrentemente Slipt-Join: concurrencia con sincronización de barrera Any-Order: ejecución secuencial quot;aleatoriaquot; Choice: sólo uno de los hijos se ejecuta If-Then-Else: ejecución condicional Iterate: el hijo se ejecuta repetidamente Repeat-While: bucle con guarda al principio Repeat-Until: bucle con guarda al final M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Composición de servicios en OWL-S M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Realización de servicios en OWL-S Especifica cómo acceder al servicio mapeo de la descripción abstracta en el perfil yel modelo a una especificación concreta OWL-S no reemplaza WSDL, sino que lo extiende OWL-S se define como un nuevo binding de WSDL Mapeo entre OWL-S y WSDL OWL-S WSDL AtomicProcess operation Conjunto de In/Out messages In/Out individual part en un messages M. Rebollo Servicios Web Semánticos
  • Servicios Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Realización de servicios OWL-S Example (Modelo del proceso UploadProcess) <process:AtomicProcess rdf:ID=quot;UploadProcessquot;> <process:hasInput> <process:Input rdf:ID=quot;FileLocationquot;> <process:parameterType rdf:datatype=quot;&xsd;#anyURIquot;> &camera;#PhotoLocation </process:parameterType> </process:Input> </process:hasInput> <process:hasOutput>...</process:hasOutput> <process:hasResult> <process:Result rdf:ID=quot;UploadResultquot;> ... <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 Web Ontología WS semánticos Perfiles OWL-S Tareas WSMO Tareas SWS y agentes Acceso Realización de servicios OWL-S Example (Modelo del proceso UploadProcess -Grounded-) <grounding:WsdlGrounding rdf:ID=quot;FullUploadProcessGroundingquot;> <grounding:hasAtomicProcessGrounding rdf:resource=quot;#UploadProcessGroundingquot;/> </grounding:WsdlGrounding> <grounding:WsdlAtomicProcessGrounding red:ID=quot;UploadProcessGroundingquot;> <grounding:owlsProcess rdf:resource=quot;#UploadProcessquot;> <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
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML 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
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML 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 Web Está basado en F-logic No es una capa sobre RDF u OWL El proyecto está formado por tres líneas WSML: definición del lenguaje con F-logic WSMO: ontología compuesta para WSML WSMX: entorno de ejecución M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Elementos de WSMO M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Elementos de WSMO Ontología Proporcionan la terminología empleada por el servicio. Permite la definición de funciones y reglas sin la necesidad de extender el lenguaje M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Elementos de WSMO Servicio web Especifica los aspectos funcionales del servicio. La descripción del servicio está formada por sus capacidades (IOPE) y sus interfaces que especifican su coreografía (comunicación) y orquestación (uso de otros servicios) M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Elementos de WSMO Objetivos Describen aspectos relacionados con los deseos de los usuarios sobre la funcionalidad requerida. Se expresan en términos de la ontología. M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Elementos de WSMO Mediadores Describen los elementos encargados de gestionar los problemas de interoperabilidad entre los elementos anteriores o conectarlos para ofrecer servicios más complejos M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Componentes de la ontología. Conceptos Class ontology hasNonFunctionalProperties importsOntology Son los elementos básicos de la usesMediator terminología. hasConcept construcción de jerarquías de hasRelation conceptos hasFunction hasInstance caracterización mediante hasAxiom atributos expresiones lógicas para Class concept refinar su semántica (p.ej. hasNonFunctionalProperties añadir una restricción) hasSuperConcept hasAttribute hasDefinition M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Componentes de la ontología. Conceptos Class ontology hasNonFunctionalProperties importsOntology Son los elementos básicos de la usesMediator terminología. hasConcept construcción de jerarquías de hasRelation conceptos hasFunction hasInstance caracterización mediante hasAxiom atributos expresiones lógicas para Class concept refinar su semántica (p.ej. hasNonFunctionalProperties añadir una restricción) hasSuperConcept hasAttribute hasDefinition M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Componentes de la ontología. Relaciones Class ontology Expresan interdependencias entre hasNonFunctionalProperties conceptos importsOntology usesMediator también permite hasConcept refinamiento/reutilización de hasRelation relaciones hasFunction posibilidad de definir hasInstance parámetros hasAxiom expresiones lógicas definir Class relation instancias válidas hasNonFunctionalProperties Una función es un tipo especial de hasSuperRelation relación de rango unario y dominio hasParameter n-ario hasDefinition M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Componentes de la ontología. Instancias Class ontology hasNonFunctionalProperties Representan a los individuos importsOntology concretos, asígnando valor a los usesMediator atributos del objeto hasConcept pueden ser un enlace a un hasRelation hasFunction almacén de instancias hasInstance externos hasAxiom no tienen porqué coincidir completamente con la Class instance definición del conceptos hasNonFunctionalProperties (datos semiestructurados) hasType hasAttributeValues M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción general de un servicio web M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Capacidades Funcionalidad del servicio. Class service hasNonFunctionalProperties Precond. Estado interno importsOntology requerido antes de usesMediator proporcionar el servicio hasCapacity hasInterface Assump. Estado del mundo que se asume antes de la ejecución Class capability hasNonFunctionalProperties Postcond. Estado interno al importsOntology que se llega después de la usesMediator ejecución del servicio. hasPrecondition Effects Estado del mundo hasAssumption hasPostcondition que se alcanza al completar hasAssumption la ejecución M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Capacidades Funcionalidad del servicio. Class service hasNonFunctionalProperties Precond. Estado interno importsOntology requerido antes de usesMediator proporcionar el servicio hasCapacity hasInterface Assump. Estado del mundo que se asume antes de la ejecución Class capability hasNonFunctionalProperties Postcond. Estado interno al importsOntology que se llega después de la usesMediator ejecución del servicio. hasPrecondition Effects Estado del mundo hasAssumption hasPostcondition que se alcanza al completar hasAssumption la ejecución M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Capacidades Class service hasNonFunctionalProperties Describe cómo se realiza la importsOntology funcionalidad del servicio. usesMediator hasCapacity la coreografía describe la hasInterface capacidad en términos de la interacción con el servicio. Class interface la orquestación descompone hasNonFunctionalProperties un servicio en términos de la importsOntology funcionalidad requerida de usesMediator terceros. hasChoreography hasOrchestation M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Coreografía Class choreography Determina las interacciones del hasNonFunctionalProperties servicio web con sus usuarios a hasStateSignature través de una máquina de estados HasTransitionRules abstracta (ASM) 1 basada en estados Ventajas 2 los estados se representan permite gestionar por su signatura interacciones complejas 3 reglas de transición para incluye cierto estado interno cambios de estado del servicio M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Coreografía Class choreography Determina las interacciones del hasNonFunctionalProperties servicio web con sus usuarios a hasStateSignature través de una máquina de estados HasTransitionRules abstracta (ASM) 1 basada en estados Ventajas 2 los estados se representan permite gestionar por su signatura interacciones complejas 3 reglas de transición para incluye cierto estado interno cambios de estado del servicio M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Estados Class choreography El estado se define por un hasNonFunctionalProperties hasStateSignature conjunto identificadores, HasTransitionRules conceptos, relaciones y axiomas. static internos Class stateSignature in lectura hasNonFunctionalProperties importsOntology out escritura usesMediator controlled sólo el interfaz lee hasStatic y escribe hasIn shared el entorno también hasOut hasShared lee y escribe hasControlled M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Transiciones Operaciones básicas Class choreography add(f act) hasNonFunctionalProperties delete(f act) hasStateSignature HasTransitionRules update(f actnew ) update(f actold → f actnew ) Transiciones complejas if Condthen Rules endif forall Var with Cond do Rules endforall choose Var with Cond do Rules endchoose M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Descripción de los servicios. Orquestación Describe cómo usar otros servicios basado en las ASM multiagente usa el mismo lenguaje que las coreografías Diferencias principales en lugar de reglas pueden emplearse objetivos y servicios puede reutilizarse o extenderse las interfaces definidas en las coreografías uso 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
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Objetivos WSMO Descripción de alto nivel del servicio en términos de Class goal las capacidades que hasNonFunctionalProperties proporciona importsOntology mediante qué interfaces usesMediator acceder a ellas requestsCapability requestsInterface El uso de mediadores GG permite descomponer un objetivo complejo en otros objetivos más simples M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Mediadores WSMO Gestión de heterogeneidad en tiempo de ejecución en tres niveles: Class mediator 1 datos: fuentes de datos y hasNonFunctionalProperties protocolos de transferencia importsOntology (ontologías) hasSource 2 funciones: ajuste de hasTarget objetivos hasMediationService 3 procesos: interacciones, protocolos de comunicación (orquestación) M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Mediadores entre ontologías (OO) Class mediator hasNonFunctionalProperties importsOntology Traducción entre ontologías hasSource hasTarget mezcla hasMediationService alineación mapeo Class ooMediator sub-Class mediator hasSource type {ontology,ooMediator} M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Mediadores entre objetivos (GG) Class mediator hasNonFunctionalProperties importsOntology Refinamiento/composición de hasSource objetivos hasTarget hasMediationService Puede emplear un ooMediator para resolver Class ggMediator sub-Class mediator conflictos terminológicos usesMediator type ooMediator entre los objetivos. hasSource type {goal,ggMediator} hasTarget type {goal,ggMediator} M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Mediadores entre servicios (WW) Class mediator Define la interoperatividad hasNonFunctionalProperties importsOntology entre servicios web hasSource (orquestación) hasTarget La intermediación puede ser hasMediationService necesaria en los tres niveles: datos, funciones y procesos. Class wwMediator sub-Class mediator Puede emplear un usesMediator type ooMediator ooMediator para resolver hasSource type {service,wwMediator} hasTarget type {service,wwMediator} conflictos terminológicos. M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Mediadores servicio–objetivo (WG) Class mediator Define la interoperatividad hasNonFunctionalProperties importsOntology entre servicios web hasSource (orquestación) hasTarget La intermediación puede ser hasMediationService necesaria en los tres niveles: datos, funciones y procesos. Class wgMediator sub-Class mediator Puede emplear un usesMediator type ooMediator ooMediator para resolver hasSource type {service,wgMediator} hasTarget type {goal,ggMediator} conflictos terminológicos. M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML Composición de servicios WSMO M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML WSML. Descripción de servicios y ontologías M. Rebollo Servicios Web Semánticos
  • Elementos Servicios Web Ontologías WS semánticos Servicios OWL-S Objetivos WSMO Mediadores SWS y agentes WSML WSML. Descripción de servicios y ontologías M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO 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 Web WS semánticos OWL-S WSMO SWS y agentes Servicios Web y agentes M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes Uso de agentes de unión Trata de resolver las carencias en comunicación de los WS los agentes requieren la modificación de los WS (pierden compatibilidad con otros WS directamente) el agente debe adaptarse a los lenguajes y posibles cambios en el WS M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes Uso de una pasarela Una pasarela entre los agentes y los servicios hace de traductor cada uno usa sus propias arquitecturas sin modificar centralización de las comunicaciones: contraria a los principios de distribución de SMA y WS la pasarela es un cuello de botella M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO 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ón inteligente? M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes Herramientas OWL-S API: API para ejecutar descripciones de WS WSDL2JADE: API para invocar desde JADE WS WSIG: Pasarela de integración de agentes JADE y WS M. Rebollo Servicios Web Semánticos
  • Servicios Web WS semánticos OWL-S WSMO SWS y agentes Para saber más. . . S. McIlraith et al.: Semantic Web Services. En IEEE Intelligent Systems 16(2)46-53, 2001. D. Martin et al.: Bringing Semantics to Web Services: The OWL-S Approach. En Semantic Web Services and Web Process Composition. Springer Berlin, 2005, pp. 26-42 C. Feier et al.: Towards Intelligent Web Services: Web Service Modeling Ontology (WSMO). En ICIC Proc. 2005, Hefei, China, August 23-26, 2005. Agostino Poggi et al.: An Agent-Based Service Oriented Architecture. In Proc. of WOA 2007. M. Rebollo Servicios Web Semánticos