Saltar al contenido principal

Hacia la integración de aplicaciones de la Web de las Cosas basadas en el descubrimiento de servicios​

El estado actual de las tecnologías relacionadas con la Web de las Cosas (WoT) y el Internet de las Cosas (IoT) fomenta la creación de directorios de servicios que recogen descripciones de recursos. Estos directorios tienen como objetivo permitir el descubrimiento de servicios y apoyar a proveedores y consumidores con un elemento compartido para su comunicación e interoperabilidad entre los agentes implicados. Esta interoperabilidad puede garantizarse utilizando la capa abstracta de las recomendaciones WoT del W3C. Sin embargo, muchos de los enfoques existentes no incluyen un mecanismo de descubrimiento de servicios y aquellos que incluyen un directorio WoT carecen de ciertas funcionalidades requeridas por los sistemas distribuidos específicos de la WoT como una Arquitectura Orientada a Servicios (SOA). Este trabajo propone un enfoque de descubrimiento de servicios federado para apoyar la gestión de aplicaciones WoT que garantiza que la integración de todos los componentes del sistema pueda abordarse siguiendo una SOA. Su objetivo es proporcionar funcionalidades de consulta y almacenamiento de recursos WoT, pero también se pretende que pueda conectarse con otros directorios WoT aplicando un enfoque personalizable basado en sistemas de recomendación. De este modo, garantizamos un mecanismo flexible para obtener conjuntos de recursos WoT clasificados para su utilización en diferentes tipos de aplicaciones y dominios.

Servicios de descubrimiento federados y sistemas de recomendación de recursos de la WoT​

(NOTA: Para más información, póngase en contacto con manel.mena@ual.es)

El objetivo principal de nuestro planteamiento se centra en la definición de un mecanismo de descubrimiento de servicios que se aplique en el dominio WoT para la integración de aplicaciones. Debe garantizar la búsqueda de recursos WoT y debe tener en cuenta la interoperabilidad, la flexibilidad y otros factores de calidad de los servicios. Por estas razones, nuestro servicio de descubrimiento pretende incluir las siguientes características.

En primer lugar, el mecanismo de descubrimiento de servicios debe estar federado mediante la vinculación de diferentes servicios de descubrimiento (véase la Figura). De este modo, si un agente cliente busca información preguntando a un servicio de descubrimiento que no es capaz de resolver la petición, la consulta puede delegarse y extenderse a otros servicios de descubrimiento con el fin de disponer de un mayor espacio para la identificación y clasificación de recursos WoT. Así, el mecanismo de descubrimiento propuesto permitiría identificar, clasificar y conectar las entidades disponibles y, además, posibilitaría el descubrimiento a través de una red de servicios federados.

wot4h

El planteamiento incluirá diferentes estrategias de consulta de los servicios de localización federados. Una posible alternativa es combinar técnicas de búsqueda de amplitud y profundidad para aumentar los niveles de consulta, por un lado (teniendo en cuenta los servicios de descubrimiento enlazados), y examinar la estructura de datos propia de cada servicio de descubrimiento, por otro.

En segundo lugar, nuestro enfoque debe ocuparse de la correcta construcción de las consultas. Una solicitud de servicio podría obtener un resultado vacío por diferentes causas, por ejemplo, una declaración incompleta o una condición errónea. Por este motivo, aplicaremos técnicas de mutación de consultas para modificar este tipo de peticiones, obteniendo así variaciones que sí permitan descubrir algunas entidades o recursos WoT. También analizaremos la posible utilización de esquemas de consulta orientados a especificar qué tipo de datos se espera obtener como resultado, por ejemplo, aplicando un enfoque basado en GraphQL.

La tercera característica que incluye nuestro enfoque es la consideración de la información semántica como parte del proceso de descubrimiento de servicios. En este sentido, las recomendaciones WoT incluyen información semántica para la definición de las cosas mediante el uso de ontologías o taxonomías. Por tanto, un servicio de descubrimiento puede tener en cuenta esta información para calcular métricas y valores de correspondencia entre una especificación de entrada y las posibles especificaciones de salida que cumplen total o parcialmente los requisitos.

En función de las condiciones de coincidencia establecidas, un servicio de localización puede considerar que un determinado servicio es un candidato que satisface los criterios de búsqueda en parte o en la totalidad de la especificación. Los criterios establecidos para considerar una coincidencia como suficiente están relacionados con la calidad de la información gestionada por el servicio de localización y asociada a las especificaciones de los recursos WoT. Como consecuencia, nuestro enfoque incluye el uso de modelos y estándares de calidad (por ejemplo, ISO/IEC 25012) para establecer los requisitos de calidad, describir las métricas a aplicar y evaluar la calidad de los datos gestionados por los servicios de descubrimiento.

A partir de una solicitud de un cliente y teniendo en cuenta las condiciones de correspondencia mencionadas, un servicio de localización ofrece como respuesta una lista de recursos WoT que cumplen las especificaciones establecidas. Esta lista puede ordenarse o filtrarse para permitir la selección de la mejor alternativa, y esta selección puede basarse en las preferencias del cliente, el uso registrado o la configuración del dominio de aplicación, entre otros ejemplos posibles. Con este objetivo, nuestro enfoque incorpora el uso de recomendadores para calcular las mejores alternativas durante el descubrimiento del servicio. Como se muestra en la Figura, se pueden definir subsistemas recomendadores que se encarguen de (i) un servicio de descubrimiento específico, (ii) los servicios de un nivel, o (iii) un conjunto personalizado de servicios de descubrimiento.