0% found this document useful (0 votes)
155 views20 pages

Toby Considine 9871141READ

The document discusses oBIX, an open standard for machine-to-machine communication. It outlines oBIX's architecture, including its object model represented in XML, use of URIs for naming, contracts for semantics, and extensibility philosophy. Standard contracts are defined for points, watches, histories, and alarming. The document notes that oBIX is slated for public review and early adopters are beginning to deploy it.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
155 views20 pages

Toby Considine 9871141READ

The document discusses oBIX, an open standard for machine-to-machine communication. It outlines oBIX's architecture, including its object model represented in XML, use of URIs for naming, contracts for semantics, and extensibility philosophy. Standard contracts are defined for points, watches, histories, and alarming. The document notes that oBIX is slated for public review and early adopters are beginning to deploy it.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

oBIX a Work In Process Creeping toward Public Review

Why oBIX? XML standard Enterprise friendly protocol High fidelity

Architecture Object Model: modeling XML Syntax: serialization URLs: naming Contracts: semantics Extendibility: philosophy Protocol Bindings: networking

Architecture Object Model

Architecture XML Syntax


<obj href="http://myhome/thermostat/"> <obj name="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 Uniform/Universal Resource Identifier AKA: URLs Naming for WWW Relative URLs Assigning everything with a URL

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 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

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) Assign every document a URL Wire documents together with URLs Standard document formats: HTML, GIF, JPEG, SVG Semantics: work in progress Search: Google / OWL

10

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

11

Standard Contracts Normalization Watches Points Histories Alarming

12

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

13

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>

14

Points - Status
<obj href="obix:Status"> <bool name="overridden" <bool name="disabled" <bool name="fault" <bool name="down" <bool name="inAlarm" <bool name="unackedAlarm" <bool name="historyStart" <bool name="historyEnd" </obj>

val="false" val="false" val="false" val="false" val="false" val="false" val="false" val="false"

/> /> /> /> /> /> /> />

15

History obix:History History.query History.rollup

16

Alarming obix:Alarm obix:StatefulAlarm obix:AckAlarm obix:AlarmSubject

17

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

18

Projected Mileposts oBIX goes to Public Review this month Transition to least restrictive IP policy offered under OASIS. Initial planning for components begins Continued deployment of oBIX by early adopters

19

More Information http://obix.org/ http://sourceforge.net/projects/obix

20

You might also like