diff --git a/TS-0041-oneM2M-SensorThings_interworking.md b/TS-0041-oneM2M-SensorThings_interworking.md index 1c1e46fbb6fd976fe6a3d9205aa401e8ca4fb529..e159042f4d27ff10a1401e0e4107f839797fb90c 100644 --- a/TS-0041-oneM2M-SensorThings_interworking.md +++ b/TS-0041-oneM2M-SensorThings_interworking.md @@ -185,7 +185,46 @@ The IPE shall map the 'result' attribute of an OGC/STA 'Observation' to the 'con **Figure 6.1-1: OGC / STA-to-oneM2M data model mapping** -<mark>The following text is to be used when appropriate:</mark> + +## 6.3 Configuration Aspects + +### 6.3.0 Introduction + +To enable interworking, preparation is required for both the oneM2M-CSE and the OGC/STA server (see Figure 6.3.0-1). As described in Section 6.0, the IPE maps data from an OGC/STA "Observation" to a oneM2M `<contentInstance>` and vice versa. This specification defines a 1-to-1 relationship in each direction between the "Datastream" associated with the "Observation" and the `<container>` associated with the `<contentInstance>`. An IPE may implement multiple 1-to-1 relationships. + + + + +**Figure 6.3.0-1: Both sides of the IPE configuration** + +### 6.3.1 Configuration of OGC/STA Server Side + +#### 6.3.1.0 Overview + +Both directions of the data flow between the OGC/STA server and the IPE require their own configuration steps. + +#### 6.3.1.1 Communication direction OGC/STA Server towards IPE + +In Figure 6.3.1.1-1, an OGC/STA client is connected to an OGC/STA server, and its data is forwarded to the IPE. The OGC/STA client publishes data to the OGC/STA server via an HTTP-POST message. + +An "Observation" according to STA Sensing Entities Data Model <a href="#_ref_i.1">[i.1]</a> belongs to a "Datastream" (see Figure 5-2). The IPE shall subscribe to the "Datastream" containing the observations to be forwarded to the oneM2M side at the MQTT broker of the OGC/STA server using its specific URL or topic, e.g., {sta-example-server-address.com/v1.0/Datastreams(8715)}. Upon successful subscription, the IPE will receive every "Observation" pushed to that "Datastream". + + + +**Figure 6.3.1.1-1: Message flow from OGC/STA Client to OGC/STA Server to IPE** + +#### 6.3.1.2 Communication direction IPE towards OGC/STA Server + +The IPE requires a destination-"Datastream" to send an "Observation" containing data from the oneM2M side. If no associated "Datastream" exists on the OGC/STA server, it shall be created. This can be done beforehand or at the IPE's start-up, depending on the implementation. +When a "Datastream" is created on the OGC/STA server, a reference ID (e.g. {"@iot.id:3635353"}) is returned. This reference is required by the IPE to associate an "Observation" with a "Datastream" and shall be available during IPE operation. In addition to the "Datastream" other entities of the STA Sensing Entities Data Model <a href="#_ref_i.1">[i.1]</a>, such as "Location" or "Sensor," may be created. + +The creation of entities like "Datastream" and "Thing" requires several mandatory properties that shall be known at configuration time (e.g., 'name' and 'description'). These property fields may be automatically derived, for example, from the "Label" or "ResourceName" attributes of the corresponding oneM2M `<container>` resource or if existing, from the corresponding `<AE>` resource during IPE configuration. The OGC/STA procedures for creating OGC entities are described in SensorThing API documentation <a href="#_ref_i.1">[i.1]</a>. + +Once the destination-"Datastream" is created, the IPE can send an "Observation" to the OGC/STA server as HTTP POST message. An interested OGC/STA client can subscribe to the destination-"Datastream" at the MQTT Broker of the OGC/STA server to receive each "Observation" forwarded by the IPE (see Figure 6.3.1.2-1). Alternatively, the OGC/STA client may use an HTTP-GET request to retrieve the data as needed. + + + +**Figure 6.3.1.2-1: Message flow from IPE to OGC/STA Server to OGC/STA Client** # Proforma copyright release text block diff --git a/media/config.png b/media/config.png new file mode 100644 index 0000000000000000000000000000000000000000..7cee63584178a8d1f6390121ea0ddf3d337fae24 Binary files /dev/null and b/media/config.png differ diff --git a/media/config_ogc.png b/media/config_ogc.png new file mode 100644 index 0000000000000000000000000000000000000000..8c12246ccc79e918bb313447cc8eba244ce52b97 Binary files /dev/null and b/media/config_ogc.png differ diff --git a/media/config_ogc2.png b/media/config_ogc2.png new file mode 100644 index 0000000000000000000000000000000000000000..495b7136a792070cdad84b54c6399fa45da34f20 Binary files /dev/null and b/media/config_ogc2.png differ