The Internet of Services vision for business applications has been largely driven by Service Oriented Architecture(SOA) as the de-facto architecture. A IEEE paper published by SAP Researchers: Dominique Guinard, Stamatis Karnouskos, Patrik Spiess and Domnic Savio have extended this vision to blur the border between the virtual world of business applications with the physical world of devices. Their research efforts led to the creation of the SOCRADES Integration Architecture (SIA) that enables the integration of real-world devices with standard IT systems in a service oriented way.
At the very outset the authors recognize the challenges posed by the problem of implementing SOA and especially WS-* standards on resource constrained devices. The four requirements identified for this system which form the basis for the design and implementation of the various processes within SIA are:
R1: Minimal Service Overhead. As most real-world services are offered by embedded devices with (very) limited computing capabilities there is a need for a lightweight service-oriented paradigm whichdoes not generate too much overhead compared to using functionality through the proprietary APIs.R2: Minimal Registration Effort. A device should be able to advertise its services to an open registry using network discovery. The process should be “plug and play”, without requiring human intervention. A device should also be expected to provide only a small amount of information when registering.
R3: Support for Dynamic and Contextual Search. It should be possible to use external sources of information to better formulate queries. Furthermore, the queries should go beyond simple keyword search and take into account user-quality parameters such as context (e.g., location, Quality of Service(QoS), application context). Support for context is essential as the functionality of most real-world devices is task-specific within a well-defined context (e.g., a building, a manufacturing plant, etc.).
R4: Support for On-Demand Provisioning. Services on embedded devices offer rather atomic operations,such as obtaining data from a temperature sensor. Thus, while the WSN platforms are rather heterogeneous, the services that the sensor nodes can offer share significant similarities and could be (re)deployed on-demand per developer request.
All four requirements are addressed by the Real-World Service Discovery and Provisioning Process (RSDPP) which is the focus of the paper. At a very high level, the process employs two approaches: Device Profile for Web Services (DPWS) which defines a limited set of WS-* standards for implementation on resource-constrained devices and a lightweight alternative which is a RESTful API. The rest of the paper focuses on the registration, discovery and provisioning sub-processes within RSDPP.
Why would one take the effort of exposing embedded functionality of devices in a service oriented fashion? The authors mention three specific advantages: elimination of proprietary driver software, promotion of horizontal integration between devices and vertical integration with enterprise application systems and the reduced need for gateways for translation.