7.3 Representation of non-oneM2M Proximal IoT Services
oneM2M defines different types of resources that may be used to represent services provided by a device. When representing non-oneM2M Proximal IoT services from interworked NoDN(s), proper resource types shall be chosen since the misusage of resource types for representing services may cause interoperability problems. General guidelines for resource representation of different services are as follows:
- For device management services:
- Specialized <mgmtObj> resource types as specified in oneM2M TS-0001 [2] and oneM2M TS-0022 [4], can be used. These resources are created as child resources of the <node> resource, which represents the managed device (see clause 7.1).
- Another approach, described in this document, is to use specialized <flexContainer> resource types as specified in oneM2M TS-0023 [3], based on the SDT data model. These resources are created by the responsible IPE as child resources of a [flexNode] <flexContainer> child of the <node> resource, which represents the managed device (see clause 7.1).
- Services defined in vertical domains specified in oneM2M TS-0023 [3] (agriculture, city, health, home, industry, railway, vehicular...): Specialized <flexContainer> resource types for moduleClasses shall be used to represent those services.
- Data management services (not covered by oneM2M TS-0023 [3]): <container>, <contentInstance>, <timeSeries>, <timeSeriesInstance> as specified in oneM2M TS-0001 [2] shall be used.
- Location services: <locationPolicy>, <container>, <contentInstance>, <latest>, <oldest> as specified in oneM2M TS-0001 [2] shall be used.
- Group services: <group>, <fanOutPoint>, <localMulticastGroup> as specified in oneM2M TS-0001 [2] shall be used
- Event/notification services: <subscription>, <notificationTargetSelfReference>, <notificationTargetMgmtPolicyRef>, <notificationTargetPolicy>, <policyDeletionRules> as specified in oneM2M TS-0001 [2] shall be used.
- Security services: <accessControlPolicy>, <dynamicAuthorizationConsultation>, <role>, <token>, <authorizationDecision>, <authorizationPolicy>, <authorizationInformation> as specified in oneM2M TS0001 [2] and oneM2M TS-0003 [5] shall be used
- Semantic services: <semanticDescriptor>, <ontologyRepository>, <ontology>, <semanticValidation>, <semanticMashupJobProfile>, <semanticMashupInstance>, <mashup>, <semanticMashupResult> as specified in oneM2M TS-0001 [2] and oneM2M TS-0034 [6] shall be used.
- Charging services: <statsConfig>, <eventConfig>, <statsCollect> as specified in oneM2M TS-0001 [2] shall be used.
There are two ways of expressing relationships between resources as well as relationships between the services these resources represent: Parent-child relationship and linkage relationship. The linkage relationship only applies to specific oneM2M resource types such as <accessControlPolicy>, announced resources, and <mgmtObj> resources, etc.
The parent-child relationship of resources shall be used when the service represented by the child resource cannot exist independent of the services represented by the parent resource. If the parent service is deleted, the child services shall be deleted automatically.