Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "OM2M"

(Created page with "__toc__ == Introduction == This wiki specifies a RESTful API for creating and managing OM2M resources. It includes several primitive procedures to enable machines authentica...")
 
(Adding warning that it's not the documentation for the latest version of OM2M, it was misleading for newcomers to understand how the wiki is organised (some links in Eclipse send to the download page which is in this part of the wiki))
 
(120 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__toc__
+
{{Infobox
 +
| name = OM2M
 +
| download = http://wiki.eclipse.org/OM2M/Download
 +
| website = http://eclipse.org/om2m
 +
| list = om2m-dev
 +
| product = OM2M
 +
| newsgroup =
 +
| source = http://git.eclipse.org/c/om2m/org.eclipse.om2m.git
 +
}}
 +
[[File:om2m-logo.png|400px]]
  
 +
'''<span style="color: red;">This page covers the smartM2M version of OM2M. If you are looking for documentation for the oneM2M version (v1.x) which is the one in active development [[OM2M/one|click here]].</span>'''
 +
 +
OM2M provides an open source service platform for M2M interoperability based on the ETSI-M2M standard. OM2M follows a RESTful approach with open interfaces to enable developing services and applications independently of the underlying network. It proposes a modular architecture running on top of an OSGi layer, making it highly extensible via plugins. It supports multiple protocol bindings such as HTTP and CoAP. Various interworking proxies are provided to enable seamless communication with vendor-specific technologies such as Zigbee and Phidgets devices.
 +
__TOC__
 
== Introduction ==
 
== Introduction ==
  
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.
+
OM2M provides a RESTful API for creating and managing M2M 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:
 
This API operates on the following primary resource types:
Line 28: Line 31:
 
* Discovery: acts as a search engine for resources. It enables to retrieve the set of resources URIs matching a specific filter criteria and constraints.
 
* Discovery: acts as a search engine for resources. It enables to retrieve the set of resources URIs matching a specific filter criteria and constraints.
  
== Specifications ==
+
== Interesting links ==
 +
Talks:
 +
* [https://www.youtube.com/watch?v=pPTAdJZpnsk OM2M talk at EclipseCon San Francisco 2014]
 +
 
 +
Papers:
 +
* [http://www.sciencedirect.com/science/article/pii/S1877050914007364 OM2M: Extensible ETSI-compliant M2M Service Platform with Self-configuration Capability]
 +
 
 +
Specifications:
 +
* [http://www.etsi.org/technologies-clusters/technologies/m2m ETSI M2M standard specifications]
 +
* [http://www.onem2m.org/library/index.cfm OneM2M standard specifications]
 +
 
 +
== Prerequisites ==
 +
* "JAVA 1.7" is required to run OM2M.
 +
* "Apache Maven 3" is required to build OM2M.
 +
 
 +
== Getting started ==
 +
* [[OM2M/Download|Download]]
 +
* [[OM2M/Clone|Clone & Build]]
 +
* [[OM2M/Configuration|Config & Start]]
 +
* [[OM2M/Starting|Starting]]
 +
* [[OM2M/Web_Interface|Web Interface]]
 +
* [[OM2M/REST_API|REST API]]
 +
* [[OM2M/Developer|Add your plugin]]
 +
 
 +
== API specification ==
 +
The OM2M API specification includes resources data model, representations XSD schema, the requests that may be sent to M2M resources, and the responses expected:
 +
* [[OM2M/SclBase#aaa|SclBase]]
 +
* [[OM2M/Scls|Scls]]
 +
* [[OM2M/Scl|Scl]]
 +
* [[OM2M/Applications|Applications]]
 +
* [[OM2M/Application|Application]]
 +
* [[OM2M/ApplicationAnnc|ApplicationAnnc]]
 +
* [[OM2M/Containers|Containers]]
 +
* [[OM2M/Container|Container]]
 +
* [[OM2M/ContainerAnnc|ContainerAnnc]]
 +
* [[OM2M/ContentInstances|ContentInstances]]
 +
* [[OM2M/ContentInstance|ContentInstance]]
 +
* [[OM2M/AccessRights|AccessRights]]
 +
* [[OM2M/AccessRight|AccessRight]]
 +
* [[OM2M/AccessRightAnnc|AccessRightAnnc]]
 +
* [[OM2M/Groups|Groups]]
 +
* [[OM2M/Group|Group]]
 +
* [[OM2M/MembersContent|MembersContent]]
 +
* [[OM2M/GroupAnnc|GroupAnnc]]
 +
* [[OM2M/Subscriptions|Subscriptions]]
 +
* [[OM2M/Subscription|Subscription]]
 +
* [[OM2M/Discovery|Discovery]]
 +
 
 +
Resource attributes description are listed here :[[OM2M/Attributes | Resources attributes]]
 +
 
 +
== Project Roadmap ==
 +
*The OM2M roadmap is available here [[OM2M/Roadmap|Roadmap ]]
 +
 
 +
== Public Documentation ==
 +
 
 +
* [[OM2M/Public documentation | Public documentation]] contains all Presentation slides, Videos, Scientific Publications, etc. related to the OM2M project.
  
* [[OM2M/Common|Common behaviors]]
+
== OM2M Team ==
* [[OM2M/Model|Resources data model]]
+
The OM2M project leads and contributors list is available [[OM2M/Team | here]].
* Resources Request/Response
+
** [[OM2M/SclBase|SclBase]]
+
** [[OM2M/Scls|Scls]]
+
** [[OM2M/Scl|Scl]]
+
** [[OM2M/Applications|Applications]]
+
** [[OM2M/Application|Application]]
+
** [[OM2M/Containers|Containers]]
+
** [[OM2M/Container|Container]]
+
** [[OM2M/ContentInstances|ContentInstances]]
+
** [[OM2M/ContentInstance|ContentInstance]]
+
** [[OM2M/AccessRights|AccessRights]]
+
** [[OM2M/AccessRight|AccessRight]]
+
** [[OM2M/Groups|Groups]]
+
** [[OM2M/Group|Group]]
+
** [[OM2M/Subscriptions|Subscriptions]]
+
** [[OM2M/Subscription|Subscription]]
+
** [[OM2M/Discovery|Discovery]]
+

Latest revision as of 07:53, 5 August 2016

OM2M
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source

Om2m-logo.png

This page covers the smartM2M version of OM2M. If you are looking for documentation for the oneM2M version (v1.x) which is the one in active development click here.

OM2M provides an open source service platform for M2M interoperability based on the ETSI-M2M standard. OM2M follows a RESTful approach with open interfaces to enable developing services and applications independently of the underlying network. It proposes a modular architecture running on top of an OSGi layer, making it highly extensible via plugins. It supports multiple protocol bindings such as HTTP and CoAP. Various interworking proxies are provided to enable seamless communication with vendor-specific technologies such as Zigbee and Phidgets devices.

Introduction

OM2M provides a RESTful API for creating and managing M2M 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.

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.

Interesting links

Talks:

Papers:

Specifications:

Prerequisites

  • "JAVA 1.7" is required to run OM2M.
  • "Apache Maven 3" is required to build OM2M.

Getting started

API specification

The OM2M API specification includes resources data model, representations XSD schema, the requests that may be sent to M2M resources, and the responses expected:

Resource attributes description are listed here : Resources attributes

Project Roadmap

  • The OM2M roadmap is available here Roadmap

Public Documentation

  • Public documentation contains all Presentation slides, Videos, Scientific Publications, etc. related to the OM2M project.

OM2M Team

The OM2M project leads and contributors list is available here.

Back to the top