APIs Device to Cloud One M2 M AE - Application Entity / IPE
An AE
resource (resourceType = 2) represents any kind of application or functionality in a oneM2M system that implements any kind of functional, management, or business logic. This could be:
- An application or abstracted functionality on an end-device, a
node
. There could be as many AE’s on a node as necessary. - An application running in the proximity of a CSE, e.g. a connector to other cloud platforms.
- An application running remotely.
An AE
is the other entity that accesses resources on the CSE that is not the CSE itself.
A special form of AE
is an Interworking Proxy Entity (IPE).
Conceptually it is an AE
and belongs to one of the categories described above, but its purpose is to work, as the name implies, as a proxy between a oneM2M and a non-oneM2M system. It has knowledge and authority to access resources and entities in both worlds and to perform the necessary actions to map one to the other. It may also convert identities, notifications, and policies.
Supported child resources
Child Resources Type | Multiplicity | Description |
---|---|---|
subscription | 0..n | A subscription
to a resource allows an entity in the oneM2M architecture to be notified about changes of the subscribed-to resource. |
container | 0..n | The container
resource represents a container
for data instances. It is used to share information with other entities and potentially to track the data. |
flexContainer | 0..n | A flexContainer
represents a customizable container for data instances that can be extended with so-called custom attributes. |
accessControlPolicy | 0..n | The AccessControlPolicy resource is used to control access to resources withing a oneM2M CSE. It is designed to fit different access control schemes, such as access control lists, role-based and attribute-based access control. |
Universal and common attributes
Name | Full Name | Type | Multiplicity | Mode |
---|---|---|---|---|
ty | resourceType | m2m:resourceType / integer | 1 | RO |
ri | resourceID | m2m:ID / string | 1 | RO |
rn | resourceName | string | 1 | WO |
pi | parentID | m2m:ID / string | 1 | RO |
lbl | labels | m2m:labels / list of string | 0..1(L) | RW |
acpi | accessControlPolicyIDs | m2m:acpType / list of resourceID | 0..1(L) | RW |
ct | creationTime | m2m:timestamp | 1 | RO |
lt | lastModifiedTime | m2m:timestamp | 1 | RO |
holder | 0..1 | RW |
Mode: RW = Read/Write, RO = Read Only, WO = Write Once
Resource specific attributes
Name | Full Name | Multiplicity | Mode | Create | Update |
---|---|---|---|---|---|
apn | appName | 0..1 | RW | O | O |
api | App-ID | 1 | WO | M | NP |
aei | AE-ID | 1 | RO | NP | NP |
poa | pointOfAccess | 0..1(L) | RW | O | O |
nl | nodeLink | 0..1 | RW | O | O |
csz | contentSerialization | 0..1(L) | RO | O | O |
srv | supportedReleaseVersions | 0..1(L) | WO | O | O |
Mode: RW = Read/Write, RO = Read Only, WO = Write Once
Request Optionality: NP = not provisioned, O = optional, M = Mandatory
Attribute: apn (appName)
The name of the application, as declared by the application developer (e.g. “HeatingMonitoring”). Several sibling resources may share the appName.
Attribute: api (App-ID)
The identifier of the Application. An Application Identifier (App-ID) uniquely identifies an M2M Application in a given context. More precisely, there are two types of App-ID: registration authority defined App-ID (registered App-ID) and non-registered App-ID. The establishment of the registered App-ID is guaranteed to be globally unique; the non-registered App‑ID is not guaranteed to be globally unique.
The first character of the App-ID shall be a capital letter of ‘R’ for registered and ‘N’ for non-registered.
- Registered App-IDs shall be in the format:
R{authority‑ID}.{reverseDNS}.{applicationName}
- Non-registered App-IDs shall be in the format:
N{non-registered-App-ID}
Attribute: aei (AE-ID)
The identifier of the Application Entity. An Application Entity Identifier (AE-ID) uniquely identifies an AE resident on an M2M Node, or an AE that requests to interact with an M2M Node. An AE-ID shall identify an Application Entity for the purpose of all interactions within the M2M System. The AE-ID is globally unique and when used internally within a specific M2M Service Provider domain, it is sufficient to be unique within that M2M Service Provider domain. It is extended to become globally unique when used outside the M2M Service Provider boundaries. The IN-CSE shall perform this task of adding or removing identifier portions (identifying the M2M SP).
The AE-ID, when used in the context of a specific CSE where the AE is registered, it is sufficient to be unique within the scope of that specific CSE. It is extended to become M2M Service Provider unique when used outside such specific CSE. The Hosting CSE of the AE shall perform this task of adding or removing the identifier portions.
Attribute: poa (pointOfAccess)
The list of addresses for communicating with the registered Application Entity over Mca reference point via the transport services provided by Underlying Network (e.g. IP address, FQDN, URI). This attribute shall be accessible only by the AE and the Hosting CSE. If this information is not provided and the pollingChannel
resource does exist, the AE should use pollingChannel
resource. Then the Hosting CSE can forward a request to the AE without using the PoA.
Attribute: nl (nodeLink)
The resource identifier of a node
resource that stores the node specific information of the node on which the AE represented by this AE
resource resides.
Attribute: csz (contentSerialization)
The list of supported serializations of the Content primitive parameter for receiving a request and a response from its registrar CSE. (e.g. XML, JSON, , CBOR). The list shall be ordered so that the most preferred format comes first. If set it shall at least contain one entry “application/json”. Other allowed values are “application/xml” and “application/cbor”. Others may be added in the future.
Attribute: srv (supportedReleaseVersions)
The oneM2M release versions supported by the Registree AE represented by this AE
resource. Starting with Release 2, this attribute is mandatory for an AE. For AEs compliant to older releases, this attribute is optional. For AEs that do not include this attribute, the default release version shall be Release 1.
JSON representation example
The following shows a reduced (leaving out, for example, the specification of acpi) example of an AE
resource, considering the current implementation of AE created to represent the functionality of non-oneM2M device
{
"m2m:ae": {
"aei": "S-ae4360105260801007955",
"api": "N-COT-AE",
"ct": "20200214T122342,454243",
"lt": "20200214T122342,454243",
"nl": "nod86059386240078299",
"pi": "cse-id",
"ri": "ae4360105260801007955",
"rn": "aNode-AE",
"st": 0,
"ty": 2
}
}