-
-
-
-
URL copied!
Cuando Internet empezó a crecer exponencialmente, con cada vez más presencia de recursos, conexiones, páginas y sitios, la demanda de un análisis automático enfocado en la web se hizo evidente y necesaria. Para llevar esta tarea a cabo hubo que sortear una dificultad no trivial: todo el andamiaje de páginas y buscadores nació y se implementó desde una perspectiva humana, sin considerar la intervención automática de programas, servicios, o demás agentes de software. En otras palabras, los humanos podían leer páginas y navegar por la red sin problemas, pero para un programa poder procesar la información contenida en una página era una tarea que muchas veces sobrepasaba su capacidad. El principal problema era que la información no tenía estructura ni uniformidad en su presentación.
Como solución a este conflicto nace el concepto de web semántica. Este concepto, introducido por Tim Berners-Lee, propuso agregarle “significado” a la información en la web. Esto implicó dotarla de estructura y estándares, de manera que su procesamiento automático fuera viable. En la actualidad estos estándares se definen y ejecutan desde el World Wide Web Consortium (www.w3c.es).
Podemos decir que actualmente se vive una situación parecida en el mundo de las arquitecturas orientadas a servicios (SOA). De esta forma nace el concepto de servicios semánticos (semantic services) o directamente SOA Semántica, con el objetivo de introducir significado a la descripción de servicios para lograr un mejor procesamiento automático.
SOA semántica
En la referencia [1] se detallan los aspectos más relevantes a la hora de incorporar una estructura que facilite la detección y sincronización de servicios, obteniendo así una SOA semántica.
Por un lado, debe estar disponible el descubrimiento de servicios. Dentro de la web semántica, un agente de software debe poder encontrar un servicio y a partir de la descripción del mismo poder determinar su propósito y objetivo.
Luego, debe reconocer cómo invocar dicho servicio y conocer y entender su interfaz pública. Esto incluye deducir qué parámetros de entrada son requeridos por el servicio, y a su vez, cómo se devolverán los resultados. Estos conceptos, como es natural en SOA, deben escalar no sólo a la invocación de un único servicio, sino a la combinación de varios para lograr un resultado en común.
Finalmente, se debe contar con la capacidad de monitorear la ejecución de un servicio. En especial este aspecto es útil en aquellos procesos que requieren mucho tiempo de procesamiento y es necesario conocer su status actual en un momento dado.
Como vemos, los beneficios de la SOA semántica son importantes: se fomenta la capacidad automática de descubrir, invocar, combinar y monitorear servicios. Como ejemplo trivial, podría construirse fácilmente un servicio que se encargue de organizar las vacaciones familiares de manera automática, desde reservas de vuelo, hospedaje, y auto de alquiler.
Herramientas y propuestas
Falta todavía maduración y tiempo para que la SOA semántica sea una realidad. Sin embargo, existen algunas propuestas destacables. Algunas aproximaciones trasladaron el concepto de especificaciones RDF (Resource Description Framework) de la web semántica a servicios. Por ejemplo, el sitio http://musicbrainz.org provee una API con servicios semánticos basada en estas especificaciones.
Por otro lado, el lenguaje basado en markup de DARPA, conocido como DAML, es un intento más ambicioso y poderoso. Esta especificación está conectada con una ontología de servicios web denominada DAML-S, la cual provee una estructura de significado en común. La ventaja de DMAL es que provee al desarrollador de un mayor poder expresivo para describir la funcionalidad y objetivos de cada servicio.
Finalmente, el framework Services Modeling (WSMF) propone diversas facilidades para enriquecer la descripción de los servicios dentro de una arquitectura SOA.
No hay que perder de vista los avances dentro de la SOA semántica. Para tal fin se recomienda visitar periódicamente dos sitios. El primero, www.w3.org/2001/sw, aglutina todas las especificaciones formales respecto a servicios semánticos. El segundo, en www.daml.org, contiene una descripción de ontologías, herramientas y demás recursos de utilidad para introducir significado en la utilización de servicios.
Referencias
Top Insights
Escribiendo User Stories en Agile
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyWhat is TM Forum Frameworx and how to...
UncategorizedAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyImpact Mapping en Metodologías ágiles
AutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnologyTop Authors
Blog Categories
Trabajemos juntos
Contenido Relacionado
5 razones por las que tu proyecto necesita un Business Analyst
Contar con un Business Analyst (BA) en tu equipo no solo te ayudará a delegar tareas más operativas, sino que también potenciará al equipo de desarrollo y contribuirá significativamente al éxito de tu proyecto de desarrollo de software.
Conocer más
7 claves para ser un miembro de un equipo efectivo
Un gran desarrollador necesita trabajar tanto en sus habilidades técnicas como en sus habilidades blandas, ya que estas forman la base para cualquier profesional que quiera ser una pieza efectiva e inspirar un cambio positivo en su equipo y organización. He recopilado una serie de recomendaciones que considero básicas y de vital importancia para trabajar … Continue reading SOA y Web Semántica: agregando significado a los servicios →
Conocer más
Share this page:
-
-
-
-
URL copied!