Process Execution component conveys the service requirements needed
for executing the respective activity to the Service Composition and
Orchestration component which in turn utilizes the IoT Service
Resolution in order to Service Manager in order find and resolve
appropriate services and create a suitable orchestration from them, if
necessary. Then, the Service Manager is used for actually invoking the
services and eventually delivering service results back to the Process
Execution component.
Analyse Service Description
IoT Services advertise their capabilites with semantic Service
Descriptions to enable machine-to-machine communication. Those
descriptions are analysed and matched against service requests coming
from users of the Service Organisation FG.
The most important link to other functional components relates to the IoT
Service resolution in a first step of finding respective services appropriate for
being bound to the process execution as part of composite services. Here,
service identifiers are both resolved to URLs used for executing them, but also
service descriptions / capabilities are evaluated in terms of matching the
requirements of the process within a service composition. Before the individual
services resolved in the IoT Service resolution are actually executed or
subscribed to (this depends on the nature of the service), the Virtual Entity
resolution comes into play, as – in accordance with the domain model – the
respective services usually need to target a specific entity, so that the
associations between entities and services must be evaluated, for which the
Virtual Entity resolution is utilized. It must be noted that it is important to look for
the Virtual Entity and the required aspect first (instead of potential services),
thereby finding possible services and only then they would be picked up in the
IoT Service Resolution. Trying to discover services first and then match them
with the result of the VE Discovery/Look-up may result in a huge amount of
services in the first step that then need to be discarded as they pertain to the
wrong Virtual Entities. This ―early exclusion‖ principle is well known in the query
optimizers of traditional database systems and is relevant here as well.