This wiki specifies a RESTful API for creating and managing OM2M resources. It includes several primitive procedures to enable machines authentication, resources discovery, applications registration, containers management, synchronous and asynchronous communications, access rights authorization, groups organisation, re-targeting, etc.
Usage of the API is via the HTTP protocol. The GET, POST, PUT, and DELETE requests are all used. Resource representations are in XML.
The API presupposes no particular structure in the URI space. The starting point is a URI, supplied by the M2M service provider, which identifies the Network service capability layer. The Network service capability layer representation contains URIs for the other resources in the OM2M paltform, and also for operations which may be performed upon them.
The specification of the OM2M API includes:
Common behaviors that apply across all requests and responses. Resources data model, which describe the XML data structures used in requests and responses. The requests that may be sent to M2M resources, and the responses expected.
This API operates on the following primary resource types:
- SclBase: describes the hosting SCL, and is the root for all other resources within the hosting SCL.
- Scl: stores information related to M2M SCLs residing on other M2M machines after successful mutual authentication. It enables SCLs interractions using retargeting operations
- Application: stores information about the application after a successful registration on the hosting SCL.
- Container: acts as a mediator for data buffering to enable data exchange between applications and SCLs
- AccessRight: manages permissions and permissions holders to limit and protect the access to the resource tree structure.
- Group: enhances resources tree operations and simplifying the interactions on the API interfaces by adding the grouping feature. It enables an issuer to send one request to a set of receivers instead of sending requests one by one.
- Subscription: stores information related to subscriptions for some resources. It allow subscribers to receive asynchronous notification when an event happens such as the reception of new sensor event or the creation, update, or delete of a resource.
- Collection: groups commun resources togethers. It is used at different places such as scls, applications, or containers.
- Announced resource: contains a partial representation of a resource in a remote SCL to simplify discovery request on distributed SCLs.
- Discovery: acts as a search engine for resources. It enables to retrieve the set of resources URIs matching a specific filter criteria and constraints.