Why oBIX? - PowerPoint PPT Presentation

About This Presentation
Title:

Why oBIX?

Description:

REST: fits into web architecture. Contracts: semantics. Extendibility: ... obj href='http://myhome/thermostat/' obj name='spaceTemp' is='obix:RealPoint ... – PowerPoint PPT presentation

Number of Views:143
Avg rating:3.0/5.0
Slides: 20
Provided by: bria132
Category:
Tags: obix | thermostat | val

less

Transcript and Presenter's Notes

Title: Why oBIX?


1
Why oBIX?
  • XML standard
  • Enterprise friendly protocol
  • High fidelity

2
Architecture
  • Object Model modeling
  • XML Syntax serialization
  • URLs naming
  • REST fits into web architecture
  • Contracts semantics
  • Extendibility philosophy
  • Protocol Bindings networking

3
Architecture Object Model
4
Architecture XML Syntax
  • ltobj href"http//myhome/thermostat/"gt
  • ltobj name"spaceTemp" is"obixRealPoint "gt
  • ltreal name"value" val"73.1"/gt
  • lt/objgt
  • ltobj name"setpoint" is"obixRealPoint "gt
  • ltreal name"value" val"74"/gt
  • lt/objgt
  • ltstr name"description" val"In Living Room"/gt
  • lt/objgt

5
Architecture - URIs
  • Uniform/Universal Resource Identifier
  • AKA URLs
  • Naming for WWW
  • Relative URLs
  • Assigning everything with a URL

6
Architecture - REST
  • REpresentational State Transfer
  • Identify resources with URIs
  • Access with limited set of verbs
  • Read - GET
  • Write - PUT
  • Invoke - POST
  • Transfer resources as XML documents
  • Stateless

7
Architecture - Contracts
  • Typing/Semantics
  • Contract list of URIs to template objects (is
    attribute)
  • Prototype "inheritance"
  • Mixins - multiple "inheritance"
  • Tagging Semantic Web
  • Taxonomy standard contracts
  • Folksonomy vendor/user contracts

8
Architecture - Extendibility
  • Embrace vendor specific extensions!
  • Easy to mix together standard and vendor
    contracts
  • Philosophically like Java/C
  • Small fixed grammar (obj model/XML)
  • Standard libraries (spec)
  • Vendor libraries (everything else)

9
Architecture Protocol Bindings
  • HTTP
  • Read - GET
  • Write - PUT
  • Invoke POST
  • SOAP
  • Wrap read, write, invoke inside SOAP envelope
  • XML Schema
  • WSDL
  • Security
  • More
  • Email (SMTP, POP3)
  • Messaging (MQ, JMS)

10
Human Web (WWW)
  • Assign every document a URL
  • Wire documents together with URLs
  • Standard document formats HTML, GIF, JPEG, SVG
  • Semantics work in progress
  • Search Google

11
M2M Web
  • Assign every device an IP address and URL
  • Assign every piece of data and service in a
    device a URL
  • Wire data together via URLs
  • Standard format oBIX documents
  • Semantics oBIX contracts
  • Search Google?

12
Standard Contracts
  • Normalization
  • Watches
  • Points
  • Histories
  • Alarming

13
Watches
  • Subscription
  • Client makes watch via WatchService
  • Add/Remove URIs to watch
  • Client polls server for changes
  • Leased

14
Points Point
  • Normalized Points
  • obixBoolPoint
  • obixRealPoint
  • obixEnumPoint
  • obixStrPoint
  • ltobj href"obixPoint"gt
  • ltobj name"value"/gt
  • ltobj name"status" is"obixStatus"/gt
  • ltabstime name"timestamp" null"true"/gt
  • lt/objgt

15
Points - Status
  • ltobj href"obixStatus"gt
  • ltbool name"overridden" val"false" /gt
  • ltbool name"disabled" val"false" /gt
  • ltbool name"fault" val"false" /gt
  • ltbool name"down" val"false" /gt
  • ltbool name"inAlarm" val"false" /gt
  • ltbool name"unackedAlarm" val"false" /gt
  • ltbool name"historyStart" val"false" /gt
  • ltbool name"historyEnd" val"false" /gt
  • lt/objgt

16
History
  • obixHistory
  • History.query
  • History.rollup

17
Alarming
  • obixAlarm
  • obixStatefulAlarm
  • obixAckAlarm
  • obixAlarmSubject

18
Java oBIX Toolkit
  • Open source Public Domain
  • Obj API
  • XML Encoder/Decoder
  • ObixSession
  • Obixc
  • Swing Tool
  • http//sourceforge.net/projects/obix

19
More Information
  • http//obix.org/
  • http//sourceforge.net/projects/obix
Write a Comment
User Comments (0)
About PowerShow.com