OCF Data Model Michael J Koster.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.
Vocabulary Markup Language (Voc-ML) Project Joseph A. Busch Content Intelligence Evangelist Interwoven.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
On a Device Information Model for devices in oneM2M
OCLC Online Computer Library Center A Global OpenURL Resolver Registry Phil Norman OCLC Dlsr4lib Workshop March 23 rd, 2006 Arlington VA.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
Breakout session ESIP Summer Meeting, Chapel Hill, North Carolina Stephen M Richard, organizer.
oneM2M-OIC Interworking Technical Comparison
Earth Data Open Search Specifications Doug Newman (NASA ECHO) CWIC January 2014.
Sharing Using Social Networks in a Composable Web of Things Presenter: Yong-Jin Jeong Korea University of Technology and Education.
The MMI Tools Carlos Rueda Monterey Bay Aquarium Research Institute OOS Semantic Interoperability Workshop Marine Metadata Interoperability Project Boulder,
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
Open Data Protocol * Han Wang 11/30/2012 *
SDMX Standards Relationships to ISO/IEC 11179/CMR Arofan Gregory Chris Nelson Joint UNECE/Eurostat/OECD workshop on statistical metadata (METIS): Geneva.
Introducing CoMI Aligned with RestCONF (draft-ietf-netconf-restconf-04) Common data modeling language (YANG defined in RFC 6020) Protocol (CoAP instead.
Metadata Lessons Learned Katy Ginger Digital Learning Sciences University Corporation for Atmospheric Research (UCAR)
Development Process and Testing Tools for Content Standards OASIS Symposium: The Meaning of Interoperability May 9, 2006 Simon Frechette, NIST.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
M2M Abstraction & Semantics Group Name: WG5 Source: France Telecom, NEC Europe Ltd., Meeting Date: xx.
AUKEGGS Architecturally Significant Issues (that we need to solve)
Hypermedia Design for Machine APIs Web Scale Architecture for the Web of Things Michael J Koster 14 September 2015.
SNOWTAM Trial: REST Interface. AIXM XML Developers' Seminar 2 Contents Digital-SNOWTAM Trial Introduction REST Introduction REST in the Digital-SNOWTAM.
Serving society Stimulating innovation Supporting legislation Extending central INSPIRE registers & connecting national registers.
Metadata Registries Registry: authoritative, centrally controlled store of information – W3C Web Services Glossary, 2004
27 January Common Resource Model (CRM) snapshot of information to be released as a GGF working doc (OGSA WG / CRM BOF) for the March 2003 GGF meeting.
Device Management with OMA Lightweight M2M
Extending the Think Description with Context W3C WoT IG - TD Break Out Session Sapporo TPAC, October 2015 Darko Anicic.
1 Open Ontology Repository initiative - Planning Meeting - Thu Co-conveners: PeterYim, LeoObrst & MikeDean ref.:
Manufacturing Systems Integration Division Development Process and Testing Tools for Content Standards Simon Frechette National Institute of Standards.
Architectural Considerations for Semantic Support Group Name: WG5 Source: Martin Bauer (NEC), Joerg Swetina (NEC) Meeting Date: Agenda Item:
Ewa Deelman, Virtual Metadata Catalogs: Augmenting Existing Metadata Catalogs with Semantic Representations Yolanda Gil, Varun Ratnakar,
Introduction to IETF CoRE Link Format Soumya Kanti Datta Mobile Communications Department
REST API Design. Application API API = Application Programming Interface APIs expose functionality of an application or service that exists independently.
Possible Solution of Interworking between oneM2M and OSGi
W3C WoT Thing Description
IoT Integration Patterns, REST, and CoAP
CSE Retargeting to AE, IPE, and NoDN Hosted Resources
CSE Retargeting to AE, IPE, and NoDN Hosted Resources
MSB Integration Guide.
Submission Title: [Discovery Latency] Date Submitted: [ ]
WEB SERVICES.
REST: Web Services Abel Sanchez.
Information Collection and Presentation Enriched by Remote Sensor Data
Contents Digital-SNOWTAM Trial Introduction REST Introduction
Unit – 5 JAVA Web Services
ESIP Discovery – Show & Tell ESIP Summer Meeting 2011 Matt Cechini
Baoming Yu(于宝明) Software Engineer Wicresoft
Chapter Eight Interoperability How to Build a Digital Library
Submission Title: [Discovery Latency] Date Submitted: [ ]
APIs (and their Relatives) Can Expand and Unify Library Services
Use of Multiple Devices
An Architecture for Complex Objects and their Relationships
PDAP Query Language International Planetary Data Alliance
Open Connectivity for IoT
Web Of Things REST WoT Integration Patterns CoAP
The Re3gistry software and the INSPIRE Registry
Applications of IFLA Namespaces
REST Client Tutorial by Pavan Ethic Coder
Instance Model Structure
Session 2: Metadata and Catalogues
LOD reference architecture
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Agenda (AM) 9:30-10:15 Introduction to RDA
WebDAV Design Overview
Rational Publishing Engine RQM Multi Level Report Tutorial
WCF Data Services and Silverlight
W3C WoT Standardization
Next Steps Bundang, Korea, July 2018.
REST API Design Borrowed heavily from:
Presentation transcript:

OCF Data Model Michael J Koster

OCF Resource Model Resource model + Interaction model CRUD+N mapped to RFC7252 CoAP RFC6690 style hyperlinks with semantic annotation Interface Types based on RFC6690 "if" link attribute Resource Types based on RFC6690 "rt" link attribute

Resource Structure Links point to Resources A resource has multiple Properties rt and if are properties of all resources Data and metadata, e.g. "value", "range", "units" are properties of a sensor resource "links" property extends any resource to be a collection

Example Resource Representation { "rt": ["oic.r.example", "oic.wk.col"], "if": ["oic.if.s", "oic.if.r, oic.if.ll], "value": 50, "range": [0,100], "units": "q/s" "links" : [ "href": "http://example.org/description", "rel": "describedby" } ]

Resource Type Resource Type "rt" is a reference to a resource description OCF Resource description uses RAML and JSON Schema RAML defines allowable methods and Interface Types JSON Schema defines payloads, properties, and data types

Interface Type OCF Interface Type "if" defines methods and payloads A resource may expose more than one interface type Each interface type may have different allowed methods Each interface type may have different payloads sensor, actuator, readonly, read/write, linklist, batch, and baseline types

Resource Instance A resource instance may expose more than one resource type and more than one interface type The properties exposed are a function of resource type(s) and interface types

Interaction Model OCF URI reference includes query parameters to specify which resource type(s) and interface type(s) are to be transmitted/returned URI Reference using OCF Scheme resolves to a protocol-specific URI coaps://<auth>/<path>?<query>

Interaction Model GET /example/sensor?if=oic.if.baseline { "rt": ["oic.r.example", "oic.wk.col"], "if": ["oic.if.s", "oic.if.r, oic.if.ll], "value": 50, "range": [0,100], "units": "q/s" "links" : [ "href": "http://example.org/description", "rel": "describedby" } ]

Interaction Model GET /example/sensor?if=oic.if.ll { "links" : [ "href": "http://example.org/description", "rel": "describedby" } ]

Interaction Model GET /example/sensor?if=oic.if.s { "value": 50, }

Interaction Model GET /example/sensor?if=oic.if.r { "range": [0,100], "units": "q/s" }

Interaction Model GET /example/sensor?if=oic.if.s&if=oic.if.r { "range": [0,100], "units": "q/s" "value": 50, }

Batch Collection GET /example/batch?if=oic.if.baseline { "rt": ["oic.r.example", "oic.wk.col"], "if": ["oic.if.b", oic.if.ll], "links" : [ "href": "temp", "rt": ["oic.r.temperature"] "if": ["oic.if.s"] }, "href": "humid", "rt": ["oic.r.humidity"] } ]

Batch Collection GET /example/batch?if=oic.if.b { "href": "temp", "rep": { "temperature": 57 } }, "href": "humid", "humidity": 39

RESTful Actuation Use Batch Collection to model the target resources for actuation Use Collection to create a container for RESTful Actuation, add to the Batch Collection Actuation payload can be constructed in a way similar to a batch payload and applied to the Actuation resource

RESTful Actuation GET /example/light?if=oic.if.ll { "links" : [ { "href": "switch", "rt": ["oic.r.switch.binary"] }, { "href": "brightness", "rt": ["oic.r.brightness"] }, { "href": "ct", "rt": ["oic.r.colourtemperature"] }, { "href": "ramptime", "rt": ["oic.r.ramptime"] }, { "href": "colorcontrol", "rt": ["oic.r.actuation, oic.r.switch. binary", oic.r.brightness, oic.r.colourtemperature, oic.r.ramptime] }, ] }

RESTful Actuation POST /example/light/colorcontrol/?if=oic.if.a { "value": true, "brightness": 80, "ct": 3720, "rampTime": 60 }

/oic/res Well known resource at /oic/res Directory of resources on a device or bridge RFC6690-like format list of links Root of on-device resource discovery Device REST API "entry point" Also allows external resource directory

Resource Definition Uses RAML and JSON-Schema RAML defines interfaces and methods JSON-Schema defines payloads and data types Oneiota tool is used to manage resource definitions at oneiota.org Contains current OCF resource definitions ~90 Smart Home resource types registered in IANA CoRE Parameters Registry

OCF Bridging and Mapping Mapping of IEEE 11073 in progress Mapping of Genivi VSS in progress Mapping of UPnP device bridge in progress Mapping of Allseen device bridge in progress Bridging maps devices to OCF resource types using deep translation and OCF derived modeling Many more Resource Types will be defined