SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Comparison between OGC SOS and
SensorThings API
sensorweb.geomatics.ucalgary.ca
www.sensorup.com
0.23 litre/minute
0.25 litre/minute
0.27 litre/minuteRH: 85 %
Temp: 18 Celsius
Dr. Steve Liang, Ph.D., P.Eng.
Associate Professor, University of Calgary
Founder and CEO, SensorUp Inc.
About Dr. Steve Liang
๏ Associate Professor, Geomatics Engineering, Uni. Calgary
๏ AITF-Microsoft Industry Research Chair on Open Sensor Web
(2011~2014)
๏ Chair OGC SensorThings API Standard Working Group
๏ Rapporteur, ITU-T SG12/11 on Internet of Things Test
Specifications
๏ Founder and CEO, SensorUp Inc
๏ Calgary’s Top 40 Under 40
About SensorUp
๏ We are a leader in Sensor Web and
IoT Platforms
๏ We are leading several international
IoT standard development efforts
(OGC and ITU-T)
๏ We are proud member of Eclipse
and Open Geospatial Consortium
News - 

Whiskers
๏ Whiskers, a new
Eclipse open source
project proposal for
OGC SensorThings
API
News - Whiskers
๏ Whisker is
๏ a Javascript Client Library for SensorThings
๏ a light-weight SensorThings Server for IoT
gateways (e.g., Raspberry Pi)
๏ First release - 2016 Q2 or Q3
Background
๏ Sensor Observation
Service (SOS) v1.0
๏ results of OWS-3
(2005)
๏ SOS v2.0 (2012)
SensorThings API Background
๏ OGC conducted several IoT workshops in 2011
and 2012, and identified the needs for a new SWE
standard for IoT
๏ SWE for IoT SWG established in October 2012
๏ SWE for IoT SWG changed its name to
SensorThings API in September 2013
๏ SensorThings API approved in February 2016
Lessons learnt from SWE Implementations
๏ Our team implemented multiple SWE services
๏ SOS 1.0 server, SOS 2.0 server, A Worldwind-
based SWE client, a AJAX-based SWE client, a
Pivotviewer Sensor Web Browser, etc.
๏ Published more than 20 peer-reviewed papers
๏ We tried to apply the lessons learnt to the
development of SensorThings API
What are we comparing?
๏ Interoperability (between SOS and SensorThings)
๏ Features
๏ Developer Experience
๏ Efficiency
๏ Scalability
๏ Security
๏ At a data exchange level, SensorThings and SOS
are interoperable.
๏ Both are based on O&M (OGC/ISO 19156:2011).
๏ At a service interface level



SensorThings API to SOS



SOS to SensorThings API
Interoperability
SensorThings to SOS
๏ You can build an SOS with SensorThings API interfaces. That
means function-wise you can find 1:1 mapping from SensorThings
API to SOS.
๏ SOS v.2.0 Example 9:
๏ SOS:
๏ GetObservations(observedProperty)
๏ SensorThings API:
๏ ~/ObservedProperties(id)/Datastreams?
$expand=Observations
๏ then converting JSON to XML, Voilà!
๏ For example: find all Observations whose Features-of-
Interest’s descriptions contain ‘arctic’
๏ SensorThings API
๏ ~/FeaturesOfInterest?
$filter=substringof(‘arctic’,description)&
$expand=Observations
๏ SOS
๏ N/A
SOS to SensorThings
Feature Comparison
๏ It is a choice of encoding
๏ SOS can have a JSON encoding extension
๏ Similarly SensorThings can have an XML
encoding extension (e.g., OASIS OData has
both JSON and XML)
JSON or XML?
Developer
Experience
๏ SensorThings
API provides a
much superior
developer
experience!
Developer Experience cont.
๏ Developer can explore SensorThings with any Web
browser
๏ The linking structure allow developers to explore
SensorThings even without reading the
specification
๏ The standard-based REST style provides consistent
HTTP verbs and status codes to CRUD entities
Developer Experience cont.
๏ Very compact code space for SensorThings
clients
๏ e.g., insert an Observation with Terminal



curl --request POST

--data '{"result": "2.11" }'

--header "Content-Type: application/json"

http://URL/Datastreams(id)/Observations
Developer Experience cont.
๏ Example, insert an Observation with SOS



๏ At the Web Transfer Protocol Level
๏ SOS is based on HTTP
๏ SensorThings is designed for HTTP, CoAP, and MQTT
๏ At the Interface Level
๏ SensorThings offers efficient ways to get compact responses
(shorter response time, less data transmitted, less power
consumption)
๏ At the Encoding Level
๏ JSON vs XML
Efficiency
MQTT vs HTTPS (power consumption)
http://stephendnicholas.com/posts/power-profiling-mqtt-vs-https
MQTT vs HTTPS (power consumption)
http://stephendnicholas.com/posts/power-profiling-mqtt-vs-https
๏ MQTT has a structure similar to URL path to
define pub/sub topics
๏ compatible with REST style!
๏ not compatible with Key Value Pair (KVP)
encodings
SOS over MQTT??
http://myserver.org:port/path

?service=SOS

&version=2.0.0

&request=GetObservation

&offering=http://example.org/offering1

&observedProperty=http://example.org/observedProperty1



http://myserver.org:port/path

?service=SOS

&version=2.0.0

&request=GetObservation

&observedProperty=http://example.org/observedProperty1

&offering=http://example.org/offering1
SOS over MQTT??
In the context of SOS, they are the same.

In the context of MQTT, they are different topics.
๏ CoAP uses UDP
๏ A typical CoAP request header is 10~20 Bytes
๏ Response Code uses a single Byte
๏ Support pushing by introducing
๏ CoAP Observe
HTTP vs CoAP
๏ GET Observations(id)/result



{

result: "19.19"

}
๏ GET Observations(id)/result/$value



19.19
SensorThings’ Efficient Interfaces 

(URL Patterns)
๏ GET Observations(id)?$select=result



{ "@iot.count": 10326,

"@iot.nextLink": "…",

"value": [ 

{"result": "20.79"},

{"result": "20.81"},

{…},{…}

]

}

Efficient Interfaces ($select)
๏ SOS does not provide pagination.
๏ SensorThings provides advanced pagination
utilities.
๏ e.g., Observations(id)?$top=5&$skip=5
๏ e.g., Datastreams(id)?$expand=Observations



observations@iot.nextLink

observations@iot.count 

Efficient Interfaces (pagination)
๏ SensorThings API is all about links, and it’s
designed for easy discovery.
๏ selfLink - unique and shortest URI
๏ nextLink - short response time
๏ navigationLink - for relationships and 

reuse of metadata
Discoverability and Scalability
๏ SensorThings’ link-based structure
๏ also means easy sharding (i.e., scalability)
๏ crawler and search engine friendly (e.g., easy to
use ElasticSearch to index multiple
SensorThings)



there is no easy way to index an SOS
Discoverability cont.
๏ Sensor delivers data streams
๏ SOS’ Request/Response model means many
unnecessary interactions between clients and
servers.
๏ In oder to know if there’s new Observations
inserted into an SOS, a client needs to send
requests very frequently.
Scalability - Pub/Sub vs Request/Response
๏ MQTT Subscribe 



Datastreams(id)/Observations?
$select=result
MQTT + OData URL Pattern + O&M
URL path tells you how
to find metadata, entity
name tells you how to
interpret the data
Query option allows you to receive
only the updates you want to receive
๏ MQTT Subscribe: 



Datastreams(id)/Observations?
$select=result,phenomenonTime



๏ Notification:

{result: "19.19",

phenomenonTime: "2016-03-24T01:57:54Z"}
MQTT + OData URL Pattern + O&M
Security
๏ XML vs JSON, which one is more secure?
๏ SOAP vs REST, which one is more secure?
๏ Don’t forget, SensorThings can easily provide a
SOS interface, but not the other way around.
Summary
๏ SensorThings can interoperate with SOS (not the
other way around)
๏ SensorThings API provides more features, better
developer experience, better efficiency, and better
scalability.
๏ While SOS can leverage the existing SOAP and XML
security mechanisms, a SensorThings service can
easily provide SOS interfaces if the SOAP and XML
security mechanisms are desired.

Contenu connexe

Similaire à Comparison between OGC Sensor Observation Service and SensorThings API

Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings API
SensorUp
 
SOA Pattern Event Driven Messaging
SOA Pattern Event Driven MessagingSOA Pattern Event Driven Messaging
SOA Pattern Event Driven Messaging
WSO2
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
marpierc
 
Let's Peel Mangos
Let's Peel MangosLet's Peel Mangos
Let's Peel Mangos
Sam Basu
 

Similaire à Comparison between OGC Sensor Observation Service and SensorThings API (20)

OpenTelemetry Introduction
OpenTelemetry Introduction OpenTelemetry Introduction
OpenTelemetry Introduction
 
Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings API
 
Visualize Your Smart City: Build a Real-Time Smart City Dashboard for SensorT...
Visualize Your Smart City: Build a Real-Time Smart City Dashboard for SensorT...Visualize Your Smart City: Build a Real-Time Smart City Dashboard for SensorT...
Visualize Your Smart City: Build a Real-Time Smart City Dashboard for SensorT...
 
Engage 2023: Taking Domino Apps to the next level by providing a Rest API
Engage 2023: Taking Domino Apps to the next level by providing a Rest APIEngage 2023: Taking Domino Apps to the next level by providing a Rest API
Engage 2023: Taking Domino Apps to the next level by providing a Rest API
 
SOA Pattern Event Driven Messaging
SOA Pattern Event Driven MessagingSOA Pattern Event Driven Messaging
SOA Pattern Event Driven Messaging
 
Analyze Your Smart City: Build Sensor Analytics with OGC SensorThings API
Analyze Your Smart City: Build Sensor Analytics with OGC SensorThings API Analyze Your Smart City: Build Sensor Analytics with OGC SensorThings API
Analyze Your Smart City: Build Sensor Analytics with OGC SensorThings API
 
AWS re:Invent 2016: IoT: Build, Test, and Securely Scale (GPST302)
AWS re:Invent 2016: IoT: Build, Test, and Securely Scale (GPST302)AWS re:Invent 2016: IoT: Build, Test, and Securely Scale (GPST302)
AWS re:Invent 2016: IoT: Build, Test, and Securely Scale (GPST302)
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocket
 
Puppet – Make stateful apps easier than stateless
Puppet – Make stateful apps easier than statelessPuppet – Make stateful apps easier than stateless
Puppet – Make stateful apps easier than stateless
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your Services
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
 
MongoDB Stitch Introduction
MongoDB Stitch IntroductionMongoDB Stitch Introduction
MongoDB Stitch Introduction
 
Let's Peel Mangos
Let's Peel MangosLet's Peel Mangos
Let's Peel Mangos
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
Cloud APIs Overview Tucker
Cloud APIs Overview   TuckerCloud APIs Overview   Tucker
Cloud APIs Overview Tucker
 
What is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your MicroservicesWhat is a Service Mesh and what can it do for your Microservices
What is a Service Mesh and what can it do for your Microservices
 
RESTful applications: The why and how by Maikel Mardjan
RESTful applications: The why and how by Maikel MardjanRESTful applications: The why and how by Maikel Mardjan
RESTful applications: The why and how by Maikel Mardjan
 
REST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
 

Plus de SensorUp

Arctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen Sensors
Arctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen SensorsArctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen Sensors
Arctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen Sensors
SensorUp
 

Plus de SensorUp (17)

Edge Computing and OGC SensorThings API
Edge Computing and OGC SensorThings APIEdge Computing and OGC SensorThings API
Edge Computing and OGC SensorThings API
 
Actionable Insights from Multi-sensor IoT Systems using the OGC SensorThings ...
Actionable Insights from Multi-sensor IoT Systems using the OGC SensorThings ...Actionable Insights from Multi-sensor IoT Systems using the OGC SensorThings ...
Actionable Insights from Multi-sensor IoT Systems using the OGC SensorThings ...
 
Discussion materials for the Internet of Things and Blockchain
Discussion materials for the Internet of Things and BlockchainDiscussion materials for the Internet of Things and Blockchain
Discussion materials for the Internet of Things and Blockchain
 
OGC SensorThings API for Location Aware Sensing System (LASS) 2017 User Confe...
OGC SensorThings API for Location Aware Sensing System (LASS) 2017 User Confe...OGC SensorThings API for Location Aware Sensing System (LASS) 2017 User Confe...
OGC SensorThings API for Location Aware Sensing System (LASS) 2017 User Confe...
 
Open Standard Internet of Things for Smart Cities
Open Standard Internet of Things for Smart CitiesOpen Standard Internet of Things for Smart Cities
Open Standard Internet of Things for Smart Cities
 
OGC SensorThings API - a very short introduction for ITU-T
OGC SensorThings API - a very short introduction for ITU-TOGC SensorThings API - a very short introduction for ITU-T
OGC SensorThings API - a very short introduction for ITU-T
 
Smart Citizen Workshop - Cybera Summit 2016, Banff, Canada
Smart Citizen Workshop - Cybera Summit 2016, Banff, CanadaSmart Citizen Workshop - Cybera Summit 2016, Banff, Canada
Smart Citizen Workshop - Cybera Summit 2016, Banff, Canada
 
Discussion materials for Internet of Things and Smart Cities - Vespucci 2016 ...
Discussion materials for Internet of Things and Smart Cities - Vespucci 2016 ...Discussion materials for Internet of Things and Smart Cities - Vespucci 2016 ...
Discussion materials for Internet of Things and Smart Cities - Vespucci 2016 ...
 
Sense Your Smart City: Connect Environmental Sensors to SensorThings API
Sense Your Smart City: Connect Environmental Sensors to SensorThings APISense Your Smart City: Connect Environmental Sensors to SensorThings API
Sense Your Smart City: Connect Environmental Sensors to SensorThings API
 
Arctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen Sensors
Arctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen SensorsArctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen Sensors
Arctic Web Map, PolarMap.js, Arctic Sensor Web, and Arctic Citizen Sensors
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT Extension
 
Citizen Sensing with the SenosrThings API
Citizen Sensing with the SenosrThings APICitizen Sensing with the SenosrThings API
Citizen Sensing with the SenosrThings API
 
SensorThings API webinar-#4-Connect Your Sensor
SensorThings API webinar-#4-Connect Your SensorSensorThings API webinar-#4-Connect Your Sensor
SensorThings API webinar-#4-Connect Your Sensor
 
Sensor thingsapi webinar-#3-rest-for-iot-api-20151210
Sensor thingsapi webinar-#3-rest-for-iot-api-20151210Sensor thingsapi webinar-#3-rest-for-iot-api-20151210
Sensor thingsapi webinar-#3-rest-for-iot-api-20151210
 
SensorThings API Webinar - #2 of 4 - IoT Data Modeling with Open Standards
SensorThings API Webinar - #2 of 4 - IoT Data Modeling with Open StandardsSensorThings API Webinar - #2 of 4 - IoT Data Modeling with Open Standards
SensorThings API Webinar - #2 of 4 - IoT Data Modeling with Open Standards
 
SensorThings API Webinar - #1 of 4 - Introduction
SensorThings API Webinar - #1 of 4 - IntroductionSensorThings API Webinar - #1 of 4 - Introduction
SensorThings API Webinar - #1 of 4 - Introduction
 
Challenges and Opportunities of the IoT Data and Service Interoperability
Challenges and Opportunities of the IoT Data and Service InteroperabilityChallenges and Opportunities of the IoT Data and Service Interoperability
Challenges and Opportunities of the IoT Data and Service Interoperability
 

Dernier

Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
Diya Sharma
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 

Dernier (20)

Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 

Comparison between OGC Sensor Observation Service and SensorThings API

  • 1. Comparison between OGC SOS and SensorThings API sensorweb.geomatics.ucalgary.ca www.sensorup.com 0.23 litre/minute 0.25 litre/minute 0.27 litre/minuteRH: 85 % Temp: 18 Celsius Dr. Steve Liang, Ph.D., P.Eng. Associate Professor, University of Calgary Founder and CEO, SensorUp Inc.
  • 2. About Dr. Steve Liang ๏ Associate Professor, Geomatics Engineering, Uni. Calgary ๏ AITF-Microsoft Industry Research Chair on Open Sensor Web (2011~2014) ๏ Chair OGC SensorThings API Standard Working Group ๏ Rapporteur, ITU-T SG12/11 on Internet of Things Test Specifications ๏ Founder and CEO, SensorUp Inc ๏ Calgary’s Top 40 Under 40
  • 3. About SensorUp ๏ We are a leader in Sensor Web and IoT Platforms ๏ We are leading several international IoT standard development efforts (OGC and ITU-T) ๏ We are proud member of Eclipse and Open Geospatial Consortium
  • 4. News - 
 Whiskers ๏ Whiskers, a new Eclipse open source project proposal for OGC SensorThings API
  • 5. News - Whiskers ๏ Whisker is ๏ a Javascript Client Library for SensorThings ๏ a light-weight SensorThings Server for IoT gateways (e.g., Raspberry Pi) ๏ First release - 2016 Q2 or Q3
  • 6. Background ๏ Sensor Observation Service (SOS) v1.0 ๏ results of OWS-3 (2005) ๏ SOS v2.0 (2012)
  • 7. SensorThings API Background ๏ OGC conducted several IoT workshops in 2011 and 2012, and identified the needs for a new SWE standard for IoT ๏ SWE for IoT SWG established in October 2012 ๏ SWE for IoT SWG changed its name to SensorThings API in September 2013 ๏ SensorThings API approved in February 2016
  • 8. Lessons learnt from SWE Implementations ๏ Our team implemented multiple SWE services ๏ SOS 1.0 server, SOS 2.0 server, A Worldwind- based SWE client, a AJAX-based SWE client, a Pivotviewer Sensor Web Browser, etc. ๏ Published more than 20 peer-reviewed papers ๏ We tried to apply the lessons learnt to the development of SensorThings API
  • 9. What are we comparing? ๏ Interoperability (between SOS and SensorThings) ๏ Features ๏ Developer Experience ๏ Efficiency ๏ Scalability ๏ Security
  • 10. ๏ At a data exchange level, SensorThings and SOS are interoperable. ๏ Both are based on O&M (OGC/ISO 19156:2011). ๏ At a service interface level
 
 SensorThings API to SOS
 
 SOS to SensorThings API Interoperability
  • 11. SensorThings to SOS ๏ You can build an SOS with SensorThings API interfaces. That means function-wise you can find 1:1 mapping from SensorThings API to SOS. ๏ SOS v.2.0 Example 9: ๏ SOS: ๏ GetObservations(observedProperty) ๏ SensorThings API: ๏ ~/ObservedProperties(id)/Datastreams? $expand=Observations ๏ then converting JSON to XML, Voilà!
  • 12. ๏ For example: find all Observations whose Features-of- Interest’s descriptions contain ‘arctic’ ๏ SensorThings API ๏ ~/FeaturesOfInterest? $filter=substringof(‘arctic’,description)& $expand=Observations ๏ SOS ๏ N/A SOS to SensorThings
  • 14. ๏ It is a choice of encoding ๏ SOS can have a JSON encoding extension ๏ Similarly SensorThings can have an XML encoding extension (e.g., OASIS OData has both JSON and XML) JSON or XML?
  • 15. Developer Experience ๏ SensorThings API provides a much superior developer experience!
  • 16. Developer Experience cont. ๏ Developer can explore SensorThings with any Web browser ๏ The linking structure allow developers to explore SensorThings even without reading the specification ๏ The standard-based REST style provides consistent HTTP verbs and status codes to CRUD entities
  • 17. Developer Experience cont. ๏ Very compact code space for SensorThings clients ๏ e.g., insert an Observation with Terminal
 
 curl --request POST
 --data '{"result": "2.11" }'
 --header "Content-Type: application/json"
 http://URL/Datastreams(id)/Observations
  • 18. Developer Experience cont. ๏ Example, insert an Observation with SOS
 

  • 19. ๏ At the Web Transfer Protocol Level ๏ SOS is based on HTTP ๏ SensorThings is designed for HTTP, CoAP, and MQTT ๏ At the Interface Level ๏ SensorThings offers efficient ways to get compact responses (shorter response time, less data transmitted, less power consumption) ๏ At the Encoding Level ๏ JSON vs XML Efficiency
  • 20. MQTT vs HTTPS (power consumption) http://stephendnicholas.com/posts/power-profiling-mqtt-vs-https
  • 21. MQTT vs HTTPS (power consumption) http://stephendnicholas.com/posts/power-profiling-mqtt-vs-https
  • 22. ๏ MQTT has a structure similar to URL path to define pub/sub topics ๏ compatible with REST style! ๏ not compatible with Key Value Pair (KVP) encodings SOS over MQTT??
  • 24. ๏ CoAP uses UDP ๏ A typical CoAP request header is 10~20 Bytes ๏ Response Code uses a single Byte ๏ Support pushing by introducing ๏ CoAP Observe HTTP vs CoAP
  • 25. ๏ GET Observations(id)/result
 
 {
 result: "19.19"
 } ๏ GET Observations(id)/result/$value
 
 19.19 SensorThings’ Efficient Interfaces 
 (URL Patterns)
  • 26. ๏ GET Observations(id)?$select=result
 
 { "@iot.count": 10326,
 "@iot.nextLink": "…",
 "value": [ 
 {"result": "20.79"},
 {"result": "20.81"},
 {…},{…}
 ]
 }
 Efficient Interfaces ($select)
  • 27. ๏ SOS does not provide pagination. ๏ SensorThings provides advanced pagination utilities. ๏ e.g., Observations(id)?$top=5&$skip=5 ๏ e.g., Datastreams(id)?$expand=Observations
 
 observations@iot.nextLink
 observations@iot.count 
 Efficient Interfaces (pagination)
  • 28. ๏ SensorThings API is all about links, and it’s designed for easy discovery. ๏ selfLink - unique and shortest URI ๏ nextLink - short response time ๏ navigationLink - for relationships and 
 reuse of metadata Discoverability and Scalability
  • 29. ๏ SensorThings’ link-based structure ๏ also means easy sharding (i.e., scalability) ๏ crawler and search engine friendly (e.g., easy to use ElasticSearch to index multiple SensorThings)
 
 there is no easy way to index an SOS Discoverability cont.
  • 30. ๏ Sensor delivers data streams ๏ SOS’ Request/Response model means many unnecessary interactions between clients and servers. ๏ In oder to know if there’s new Observations inserted into an SOS, a client needs to send requests very frequently. Scalability - Pub/Sub vs Request/Response
  • 31. ๏ MQTT Subscribe 
 
 Datastreams(id)/Observations? $select=result MQTT + OData URL Pattern + O&M URL path tells you how to find metadata, entity name tells you how to interpret the data Query option allows you to receive only the updates you want to receive
  • 32. ๏ MQTT Subscribe: 
 
 Datastreams(id)/Observations? $select=result,phenomenonTime
 
 ๏ Notification:
 {result: "19.19",
 phenomenonTime: "2016-03-24T01:57:54Z"} MQTT + OData URL Pattern + O&M
  • 33. Security ๏ XML vs JSON, which one is more secure? ๏ SOAP vs REST, which one is more secure? ๏ Don’t forget, SensorThings can easily provide a SOS interface, but not the other way around.
  • 34. Summary ๏ SensorThings can interoperate with SOS (not the other way around) ๏ SensorThings API provides more features, better developer experience, better efficiency, and better scalability. ๏ While SOS can leverage the existing SOAP and XML security mechanisms, a SensorThings service can easily provide SOS interfaces if the SOAP and XML security mechanisms are desired.