The OM2M project is an open source implementation of the oneM2M standard. It provides a framework for developing services independently of the underlying network and aims to facilitate deployment of vertical applications and heterogeneous devices. The scope of this project can be summarized as follows:
- Implement a Service Capability Layer (SCL) for an M2M network, M2M gateway and M2M device according to the ETSI M2M architecture.
- API for applications is based on REST principles to enhance interoperability and allow exposing data and providing services through unreliable connections within a highly distributed environment.
- Support generic communication technologies for ensuring multiple protocol binding such as HTTP and CoAP.
- Re-use of the OMA-DM protocol as a remote entity management service to perform software updates and life-cycle managements on OMA-DM enabled devices based on SyncML files.
- Ensure security based on the TLS-PSK protocol to enable secure communication based on pre-shared keys.
- Provides various interworking proxies to enable seamless communication with non-ETSI compliant devices such as ZIGBEE and PHIDGETS technologies.
- Manage M2M SCLs mutual authentications and M2M applications registrations
- Provide advanced user profile, access right and permission management.
- Enable synchronous communications based on the request/response design pattern.
- Enable asynchronous event notifications based on the publish/subscribe design pattern.
- Provide advanced mechanism for distributed M2M resource discovery.
- Be the basis for the future implementation of the OneM2M standard.