why obix
Download
Skip this Video
Download Presentation
Why oBIX?

Loading in 2 Seconds...

play fullscreen
1 / 19

Why oBIX? - PowerPoint PPT Presentation


  • 114 Views
  • Uploaded on

Why oBIX?. XML standard Enterprise friendly protocol High fidelity. Architecture. Object Model: modeling XML Syntax: serialization URLs: naming REST: fits into web architecture Contracts: semantics Extendibility: philosophy Protocol Bindings: networking.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Why oBIX?' - marci


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
why obix
Why oBIX?
  • XML standard
  • Enterprise friendly protocol
  • High fidelity
architecture
Architecture
  • Object Model: modeling
  • XML Syntax: serialization
  • URLs: naming
  • REST: fits into web architecture
  • Contracts: semantics
  • Extendibility: philosophy
  • Protocol Bindings: networking
architecture xml syntax
Architecture – XML Syntax

<obj href="http://myhome/thermostat/">

<objname="spaceTemp"is="obix:RealPoint …">

<real name="value"val="73.1"/>

</obj>

<obj name="setpoint"is="obix:RealPoint …">

<real name="value"val="74"/>

</obj>

<str name="description"val="In Living Room"/>

</obj>

architecture uris
Architecture - URIs
  • Uniform/Universal Resource Identifier
  • AKA: URLs
  • Naming for WWW
  • Relative URLs
  • Assigning everything with a URL
architecture rest
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
architecture contracts
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
architecture extendibility
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)
architecture protocol bindings
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)
human web www
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
m2m web
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?
standard contracts
Standard Contracts
  • Normalization
  • Watches
  • Points
  • Histories
  • Alarming
watches
Watches
  • Subscription
  • Client makes watch via WatchService
  • Add/Remove URIs to watch
  • Client polls server for changes
  • Leased
points point
Points – Point
  • Normalized Points:
    • obix:BoolPoint
    • obix:RealPoint
    • obix:EnumPoint
    • obix:StrPoint

<obj href="obix:Point">

<obj name="value"/>

<obj name="status"is="obix:Status"/>

<abstime name="timestamp"null="true"/>

</obj>

points status
Points - Status

<obj href="obix:Status">

<bool name="overridden"val="false" />

<bool name="disabled"val="false" />

<bool name="fault"val="false" />

<bool name="down"val="false" />

<bool name="inAlarm"val="false" />

<bool name="unackedAlarm"val="false" />

<bool name="historyStart"val="false" />

<bool name="historyEnd"val="false" />

</obj>

history
History
  • obix:History
  • History.query
  • History.rollup
alarming
Alarming
  • obix:Alarm
  • obix:StatefulAlarm
  • obix:AckAlarm
  • obix:AlarmSubject
java obix toolkit
Java oBIX Toolkit
  • Open source – Public Domain
  • Obj API
  • XML Encoder/Decoder
  • ObixSession
  • Obixc
  • Swing Tool
  • http://sourceforge.net/projects/obix
more information
More Information
  • http://obix.org/
  • http://sourceforge.net/projects/obix
ad