In IoTivity v0.9.2, IoTivity Services provide the common set of functionalities to application development by additional “Resource Encapsulation Layer”.
Resource Encapsulation is an abstract layer which consists of common resource function modules. It provides functionalities for both the client and server side to ease the work of developers. For Client side it provides Cache and Resource Broker functionalities (monitoring the presence of resource in the network). For server side it provides the simple and direct way to create the resource and to set the properties and attributes. For handling the request from client it provides flexibility to developer either auto control of request by the layer itself or developer control the request in the application. Resource Container module of Resource Encapsulation layer provides integration of non-OIC devices into OIC devices.
Resource Encapsulation Layer consists of Resource Broker/Cache/Container and Server Builder.
Resource Broker provides the reachability information for the resource of interest, and presence checking for remote resources even if the remote resource server does not notify its presence.
Resource Cache guarantee the delivery of the selected resource data. It provides the Data-centric APIs to developers such as send/recv message, getter/setter and data cache.
Resource Container/Builder manages the lifecycle of resource server (Bundle).
If you want to know the necessary development environment and guide about Resource Encapsulation to work with each of the services, see Resource Encapsulation Programmer's Guide_v0.9.2
Note : In v0.9.2, IoTivity provides the same services as v0.9.1 Release except supporting Tizen Platform. Those services are temporally unavailable for Tizen platform in IoTivity v0.9.2
IoTivity Services are designed to provide easy, scalable access to applications and resources and are fully managed by themselves.
There are four IoTivity Services, each with its own unique functionality: Protocol Plugin Manager, Soft Sensor Manager, Things Manager, and Notification Manager as same in v0.9.1
Protocol Plugin Manager makes IoTivity applications communicate with non-IoTivity devices by plugging protocol converters.
It provides several reference protocol plugins and plugin manager APIs to start/stop plugins.
For more details, see Programmer's Guide: Protocol Plugin Manager for Linux_v0.9.1,and Android_v0.9.1.
Soft Sensor Manager provides physical and virtual sensor data on IoTivity in a robust manner useful for application developers. It also provides a deployment and execution environment on IoTivity for higher level virtual sensors. Soft Sensor has two main components:
Things Manager creates Groups, finds appropriate member things in the network, manages member presence, and makes group action easy. It benefits 3rd party application developers in three ways:
Notification Manager provides resource hosting function. The resource hosting is a feature which stores only resource data with new address:port information. The goal of this feature is to off-load the request handling works from the resource server where original resource is located.
For more details, see Programmer's Guide: Notification Manager for Linux_v0.9.1.