Towards the Integration of Web of Things Applications based on Service Discovery

The current state of the technologies related to the Web of Things (WoT) and the Internet of Things (IoT) fosters the creation of service directories gathering resource descriptions. These directories are aimed at enabling the service discovery and supporting providers and consumers with a shared element for their communication and interoperability between the involved agents. This interoperability can be ensured by using the abstract layer of the W3C WoT recommendations. However, many of the existing approaches do not include a service discovery mechanism and those that include a WoT directory lack certain functionalities required by distributed systems specific to the WoT such as a Service-Oriented Architecture (SOA). This paper proposes a federated service discovery approach to support the management of WoT applications which ensures that the integration of the whole system components can be addressed by following a SOA. It is aimed at providing query and storage functionality for WoT resources, but also is intended to be connected to other WoT directories by applying a customizable approach based on recommender systems. Thus, we guarantee a flexible mechanism to obtain sets of ranked WoT resources to be utilized in different kinds of applications and domains.

Federated discovery services and recommender systems for WoT resources

(NOTE: For more information please contact manel.mena@ual.es)

The main goal of our approach is focused on the definition of a service discovery mechanism to be applied in the WoT domain for the integration of applications. It must ensure the finding of WoT resources and should have into account the interoperability, flexibility and other quality factors of services. For these reasons, our discovery service is intended to include the following features.

In the first place, the service discovery mechanism should be federated by linking different discovery services (see the Figure). This way, if a client agent looks up information by inquiring a discovery service that is not able to solve the request, the query can be delegated and spread to other discovery services in order to arrange a greater space for the identification and classification of WoT resources. Thus, the proposed discovery mechanism would allow us to identify, classify and connect the available entities and, furthermore, it will enable the discovery through a network of federated services.

Mandatory projects for the execution


The approach will include different strategies of querying the federated discovery services. A possible alternative is to combine breadth and depth searching techniques for increasing the query levels on the one hand (by taking into account the linked discovery services), and examining the own data structure for each discovery service on the other hand.

In the second place, our approach must deal with the correct construction of the queries. A service request could obtain an empty result because of different causes, for example, an incomplete statement or a wrong condition. For this reason, we will apply query mutation techniques for modifying this kind of requests, thus obtaining variations that do allow to discover some WoT entities or resources. We will also analyze the potential utilization of query schemes aimed at specifying what types of data are expected to be obtained as a result, for example, applying a GraphQL-based approach.

The third feature that our approach includes is the consideration of semantic information as part of the service discovery process. In this sense, WoT recommendations include semantic information for the definition of things through the use of ontologies or taxonomies. Therefore, a discovery service can take this information into account to calculate metrics and matching values between an input specification and the possible output specifications that fully or partially comply with the requirements.

Depending on the established matching conditions, a discovery service may consider a particular service to be a candidate satisfying the search criteria in part or in whole of the specification. The criteria established to consider a match as sufficient is related to the information quality managed by the discovery service and associated with WoT resources specifications. As a consequence, our approach includes the use of quality models and standards (e.g., ISO/IEC 25012) to establish the quality requirements, describe the metrics to be applied and evaluate the quality of the data managed by the discovery services.

Based on a client request and taking the aforementioned matching conditions into account, a discovery service offers in response a list of WoT resources that meet the established specifications. This list can be sorted or filtered to enable the selection of the best alternative, and this selection can be based on the client preferences, the logged usage or the configuration of the application domain, among other possible examples. With this aim, our approach incorporates the use of recommenders to calculate the best alternatives during the service discovery. As shown in Figure, recommender subsystems can be defined to be in charge of (i) a specific discovery service, (ii) the services of a level, or (iii) a custom set of discovery services.