Updated iotdm developer documentation 17/21817/4
authorJohn Burns <johnburn@cisco.com>
Tue, 2 Jun 2015 22:40:00 +0000 (15:40 -0700)
committerJohn Burns <johnburn@cisco.com>
Tue, 9 Jun 2015 16:56:21 +0000 (09:56 -0700)
Change-Id: If9178fab5a99d88a06dcd2767117fef63f2cd6ca
Signed-off-by: John Burns <johnburn@cisco.com>
manuals/developer-guide/src/main/asciidoc/iotdm/iotdm-dev.adoc

index 4682b0f68b7ab789eff6f4f6f4e5ce7ddea6e79a..03db7d2b402579d07382e476d27d357885e687a3 100644 (file)
@@ -1,35 +1,69 @@
 == IoTDM Developer Guide
 
 === Overview
-See https://wiki.opendaylight.org/view/IoTDM_Overview#Overview
-The onem2m resource tree according to the procedures documented in
-TS0001: OneM2M Functional Architecture, and TS0004: OneM2M Service
-Layer Core Protocol Specification.  The two official methods to
-access the data tree are HTTP and CoAP.  Typically, applications
-access the data tree with HTTP using the procedures outlined
-in TS0009 OneM2M HTTP Protocol Bindings.  And, again, typically,
-devices or things access the data tree using CoAP using the
-procedures outlined in TS0008 OneM2M CoAP Protocol Bindings.
-These documents are available on http://onem2m.org
+The Internet of Things Data Management (IoTDM) on OpenDaylight
+project is about developing a data-centric middleware
+that will act as a oneM2M compliant IoT Data Broker and enable
+authorized applications to retrieve IoT data uploaded by any
+device. The OpenDaylight platform is used to implement the oneM2M
+data store which models a hierarchical containment tree, where each
+node in the tree represents an oneM2M resource. Typically, IoT
+devices and applications interact with the resource tree over
+standard protocols such as CoAP, MQTT, and HTTP.
+Initially, the oneM2M resource tree is used by applications to
+retrieve data. Possible applications are inventory or device
+management systems or big data analytic systems designed to
+make sense of the collected data. But, at some point,
+applications will need to configure the devices. Features and
+tools will have to be provided to enable configuration of the
+devices based on applications responding to user input, network
+conditions, or some set of programmable rules or policies possibly
+triggered by the receipt of data collected from the devices.
+The OpenDaylight platform, with its rich unique cross-section of SDN
+capabilities, NFV, and now IoT device and application management,
+can be bundled with a targeted set of features and deployed
+anywhere in the network to give the network service provider
+ultimate control. Depending on the use case, the OpenDaylight IoT
+platform can be configured with only IoT data collection capabilities
+where it is deployed near the IoT devices and its footprint needs to be
+small, or it can be configured to run as a highly scaled up and
+out distributed cluster with IoT, SDN and NFV functions enabled
+and deployed in a high traffic data center.
 
-The karaf feature odl-iotdm-onem2m is required in order to access
-the data tree before apps, and things can access it.
+=== oneM2M Architecture
+The architecture provides a framework that enables the support of
+the oneM2M resource containment tree. The onem2m-core implements
+the MDSAL RPCs defined in the onem2m-api YANG files. These RPCs
+enable oneM2M resources to be created, read, updated, and
+deleted (CRUD), and also enables the management of subscriptions.
+When resources are CRUDed, the onem2m-notifier issues oneM2M
+notification events to interested subscribers. TS0001: oneM2M
+Functional Architecture and TS0004: oneM2M Service Layer Protocol
+are great reference documents to learn details of oneM2M resource
+types, message flow, formats, and CRUD/N semantics.  Both of these
+specifications can be found at
+http://onem2m.org/technical/published-documents
 
-=== OneM2M Architecture
- More text to follow
+The oneM2M resource tree is modeled in YANG and essentially is a
+meta-model for the tree.  The oneM2M wire protocols allow the
+resource tree to be constructed via HTTP or CoAP messages that
+populate nodes in the tree with resource specific attributes.
+Each oneM2M resource type has semantic behaviour associated with
+it.  For example: a container resource has attributes which
+control quotas on how many and how big the collection of data or
+content instance objects that can exist below it in the tree.
+Depending on the resource type, the oneM2M core software
+implements and enforces the resource type specific rules to
+ensure a well-behaved resource tree.
+
+The resource tree can be simultaneously accessed by many
+concurrent applications wishing to manage or access the tree,
+and also many devices can be reporting in new data or sensor
+readings into their appropriate place in the tree.
 
 === Key APIs and Interfaces
- More text to follow
+The API's to access the oneM2M datastore are well documented
+in TS0004 (referred above) found on onem2m.org
 
-RESTconf is available too but generally HTTP and CoAP are used to
+RESTCONF is available too but generally HTTP and CoAP are used to
 access the oneM2M data tree.
-
-==== HTTP
- More text to follow
-
-==== CoAP
- More text to follow
-
-=== API Reference Documentation
- More text to follow
-