Author: Aaron Hansen, Tridium, Inc., oBIX XML Standards Committee Chair
The oBIX (Open Building Information Exchange) standard for network services includes a large number of specific features, and if it is not yet publicly available, it will soon be. The oBIX (Open Building Information Exchange) standard for network services includes many specific features, and if it is not yet publicly available, it will be soon. In any case, the oBIX standard, promoted by the OASIS open standards consortium, is unique among other network services standards. I am sure that focusing on its unique features will help to develop interest in this standard, and I hope that this will attract you to participate in the standardization process.
The oBIX standard allows integrators to connect systems such as access control systems to enterprise systems and link them to, for example, the operators who service them. While this is done today using data points, trend charts, and alerts, it is expected that these requirements will change rapidly. So oBIX is much more than just a way to describe data points, trends, and alerts. It is an extensible model for describing other models. oBIX allows automation vendors to fully describe their systems, as well as identify non-standard data and find new ways to use it.
Extensibility is built into the oBIX standard through the use of the concept of a “convention.” A convention is a list of all the conditions and patterns that a complex data set conforms to. Conventions are used to describe standardized structures such as measurement points, trends, and alerts, as well as to describe data generated by proprietary automation systems offered by their vendors. The beauty of using conventions is that new conventions can be introduced without affecting the core schema of the oBIX standard.
In typical web services for business applications, introducing new data structures requires creating new schema documents. This is a nightmare for new version developers. Existing tools cannot handle schemas they do not know, and therefore ignore non-standard data. With the oBIX standard, system vendors and standards developers can define conventions, and even if the client does not know how to deal with the new conventions, it can still use the original data they contain. In this way, all data becomes valid, and tools no longer ignore non-standard data.
The oBIX standard is also unique because it is agnostic when it comes to establishing relationships. Not only does it have a relationship with SOAP, allowing oBIX to interact with WS-* (a web services stack), but because it uses HTTP for communication, it makes oBIX compatible with the REST (Representational State Transfer) architecture. This is the principle on which the modern Internet is based. Although it is not a standard in the strict sense of the word, it is best positioned as a set of standards, the use of which has made modern web technologies successful.
Examples of such standards are HTTP, URL, XML, and HTML, which oBIX is built on. It defines objects by their URLs, represents the state of those objects in XML, and sends data about the objects over HTTP, the protocol used to transmit HTML pages. oBIX servers can be accessed by web browsers, and can therefore be indexed by search engines, connect to other web pages, and interact at a basic level with any other major web technology.
Have you heard of Applied JavaScript & XML (AJAX)? AJAX can be best described as dynamic web pages that make requests in the background and automatically update themselves. These web pages with complex content behave like standalone applications, but don’t require special browser plugins to display them. Google Maps is a great example of this technology, so if you haven’t seen it yet, you should definitely check it out. RESTfulness is important because it allows you to build real-time interfaces as easily as you would a regular web page. This is a huge benefit – it makes it easy to create complex interfaces that are independent of the underlying system.
RESTfulness also means that events, such as alerts and changes to tracked values, are delivered just like they would on the regular web.
Consider, for example, e-mail. Most e-mail users believe that messages they send magically appear on the recipient's screen. But the recipient of e-mail is a client program that periodically checks the mail server for new incoming messages. The details of the data transfer process should not concern the end user. RSS (Really Simple Syndication) technology, used to deliver online news and link online portals, is also based on the client polling specified servers. Thus, when using oBIX to register events, the client simply notifies the server of the events it is interested in, and then periodically polls the server for new events. If there are none, the server does not send any response messages to the client. This «elegant» solution made it possible to bypass many complex issues related to cross-platform hardware and software, which allowed such technologies to gain a dominant position in modern networks.
And finally, since oBIX is very convenient for modeling, it can be used in other ways that are not related to integrating the operation of system elements in real time.
I am referring to the possibility of using oBIX to describe various devices. In our company, we have developed our own proprietary XML schema designed to describe various devices used in our products. We create XML documents for these devices, which are then transformed by a special compiler that automatically creates the necessary software blocks for our products.
In the future, we plan to switch to using oBIX to create device descriptions, offering our partners to do the same. After all, then it will be easy for us to exchange device descriptions in an open, portable format suitable for automatic reading.
I hope that I have interested you, because I am sure that if you spend some more time studying the oBIX standard, you will realize what its real potential is for creating interfaces between various commercial systems and their individual components. By the way, it is not too late for you to join the OASIS technical committee developing the oBIX standard and make a significant contribution to this common and important cause.
Additional information on the oBIX standard can be found at: http://oasis-open.org/committees/obix
Based on materials from the AutomatedBuildings website |