Servicio web semántico


Un servicio web semántico , como los servicios web convencionales , es el extremo servidor de un sistema cliente-servidor para la interacción máquina a máquina a través de la World Wide Web . Los servicios semánticos son un componente de la web semántica porque usan marcas que hacen que los datos sean legibles por máquina de una manera detallada y sofisticada (en comparación con HTML legible por humanos que generalmente no es fácil de "entender" por los programas de computadora).

Los principales estándares XML para la interoperación de servicios web especifican solo la interoperabilidad sintáctica , no el significado semántico de los mensajes. Por ejemplo, el lenguaje de descripción de servicios web (WSDL) puede especificar las operaciones disponibles a través de un servicio web y la estructura de los datos enviados y recibidos, pero no puede especificar el significado semántico de los datos o las restricciones semánticas de los datos. Esto requiere que los programadores lleguen a acuerdos específicos sobre la interacción de los servicios web y dificulta la composición automática del servicio web .

Los servicios web semánticos se basan en estándares universales para el intercambio de datos semánticos, lo que facilita a los programadores combinar datos de diferentes fuentes y servicios sin perder significado. Los servicios web se pueden activar "entre bastidores" cuando un navegador web realiza una solicitud a un servidor web, que luego utiliza varios servicios web para construir una respuesta más sofisticada de la que hubiera podido hacer por sí solo. Los servicios web semánticos también pueden ser utilizados por programas automáticos que se ejecutan sin ninguna conexión a un navegador web.

Una plataforma de servicios web semántica que utiliza OWL ( Web Ontology Language ) para permitir que los proveedores de datos y servicios describan semánticamente sus recursos utilizando ontologías de terceros es SSWAP : Simple Semantic Web Architecture and Protocol. [1] SSWAP establece un protocolo ligero (pocas clases y predicados OWL; consulte el Protocolo SSWAP ) y el concepto de un "gráfico canónico" para permitir a los proveedores describir lógicamente un servicio. Un servicio es esencialmente una transformación de alguna entrada (o sujeto) posiblemente nula en alguna salida (u objeto) posiblemente nula. Los servicios se pueden descubrir semánticamente en función de sus jerarquías de subsunción, así como de sus tipos de datos de entrada y salida.

SADI [2] (Descubrimiento e Integración Automáticos Semánticos) es una iniciativa de servicio web semántico que consiste en un conjunto de prácticas de diseño para la publicación de servicios web semánticos que minimiza el uso de protocolos y estructuras de mensajes no estándar. Los servicios SADI consumen datos de forma nativa en formato RDF Resource Description Framework , donde los datos de entrada y salida deben ser instancias de ( OWL Individuos de) Clases de entrada y salida definidas en OWL-DL. A diferencia de los servicios web canónicos, los servicios SADI no utilizan SOAPprotocolo de mensajería y, a diferencia de SSWAP, los servicios SADI no tienen un andamio de mensajería específico del proyecto; los servicios se invocan pasando datos de instancia RDF al punto final del servicio a través de HTTP POST, y la multiplexación se logra enviando más de un OWL Individual en la invocación HTTP POST. SADI impone una única restricción al comportamiento del Servicio: que el URI del individuo de salida debe ser el mismo que el URI del individuo de entrada correspondiente. En la práctica, esto da como resultado Servicios que crean vínculos semánticos entre la entrada y la salida del servicio. Por lo tanto, encadenar los servicios SADI en un flujo de trabajo da como resultado un gráfico de datos vinculados ininterrumpido .

La coreografía se ocupa de describir el comportamiento externo visible de los servicios, como un conjunto de intercambios de mensajes que, opcionalmente, siguen un patrón de intercambio de mensajes (MEP), desde el punto de vista del consumidor de funcionalidad.