Reference Architectures and Open Group Standards for the Internet of Things – The Open Group Internet of Things Standards
This chapter describes The Open Group published standards that are relevant to the IoT, and discusses their use in IoT architectures, in the context of the IoT reference architectures.
The Open Group has published two IoT standards, and a Semantic Interoperability standard that is appropriate for use in connection with the Internet of Things, although it has more general applicability:
- The Open Messaging Interface (O-MI), an Open Group Internet of Things (IoT) Standard
- The Open Data Format (O-DF), an Open Group Internet of Things (IoT) Standard
- The Open Data Element Framework (O-DEF)
In terms of the Architecture Continuum, these standards would be referenced in specific architectures that might be derived from the generic reference architectures that are compared in this White Paper.
The O-MI fulfills the same purpose in the IoT standards as HTTP does for the Internet. Typical examples of exchanged data are sensor readings, alarm or lifecycle events, requests for historical data, notifications about availability of new data, changes to existing data, etc. Just as HTTP can be used for transporting payloads in other formats as well as HTML, O-MI can be used for transporting payloads in almost any format. XML might currently be the most common text-based payload format, but others – such as JSON, CSV, etc. – may also be used. A defining characteristic of O-MI is that O-MI nodes do not have predefined roles, as it follows a peer-to-peer communications model.
Overview of O-MI
Key features of O-MI include the following.
- O-MI messages can be transported using most lower-level protocols, including protocols such as HTTP, SOAP, SMTP, files on mass storage media such as USB sticks, text messages on mobile phones, etc.
- O-MI has three possible operations: read, write, and cancel.
- O-MI nodes can request current and historical data with an immediate response.
- O-MI nodes can send data to each other at any time.
- Subscriptions can be made for deferred retrieval of data from other O-MI nodes.
- An O-MI message can transport actual information using any text-based format (standardized, proprietary, …) that can be embedded in XML.
- All requests and responses can specify a time-to-live.
- Synchronous communication between nodes is possible: a response message can include a new request, which is useful, for example, in control applications, and also provides a possibility to perform client-initiated communication with nodes that are located behind firewalls or Network Address Translators (NATs).
- Nodes can publish and discover data sources, services, and metadata,
- A request can specify a list of target O-MI nodes: the receiving node(s) are then responsible for re-routing the request to the target nodes.
The O-MI is clearly relevant to the Communications viewpoints of the Draft ISO IoT RA, RAMI 4.0, and the Web of Things, and to the communications aspects of the Implementation viewpoint of the IIRA.
In the terminology of the Draft ISO IoT RA or the IIRA, the primary use of the O-MI is likely to be in access networks that connect devices to services and applications. Today, the devices are usually connected to gateways by proximity networks, and use of O-MI would be between the gateways and the services or applications. There is a reference implementation of O-MI that can act as a gateway. When devices are more capable, and are able to support the O-MI protocol, it could also be used in the proximity networks, or to connect the devices to services and applications directly. It might, today or in the future, also be used in a services network that interconnects services and applications, particularly where the services and applications are strongly device-oriented. (See Draft ISO IoT RA Communication View and IIRA Implementation Viewpoint.)
O-MI fits within the Transfer layer of the Web of Things Communications Stack.
O-MI was originally designed for use in product lifecycle management applications. As discussed under Industry Architectures and Models for Characteristics, the particular characteristics of a use-case may be more important for modeling purposes than the vertical industry to which the use-case belongs. This applies also to choice of communications protocol. O-MI can be used in most situations. Characteristics that particularly indicate its use include:
- Intermittent connectivity
- Mixture of low-level communications protocols
- Decentralized operation (mesh rather than star topologies)
- Horizontal integration between solution components
The O-DF represents information about things in a standardized way that can be understood and exchanged by all information systems that manage IoT-related data. In the IoT, information about a product or a “Thing” is often distributed over many different devices, systems, and organizations. The O-DF can be used for publishing the available data using ordinary Uniform Resource Locator (URL) addresses. O-DF structures can also be used for requesting and sending published data between systems, notably when used together with the O-MI Standard.
Overview of O-DF
The O-DF is specified using XML Schema. It allows the creation of information structures that are similar to those of objects and properties in object-oriented programming. It is thereby generic enough for the representation of any object and information that is needed for information exchange in domains such as the IoT, lifecycle information management, etc.
An O-DF structure is a hierarchy with an Objects element as its top element, as shown in the figure below. The Objects element can contain any number of Object sub-elements. Object elements are identified by at least one id sub-element. An Object may also have an optional description sub-element. Object elements usually have properties, which are sub-elements called InfoItem, as well as Object sub-elements. The resulting Object tree can contain any number of levels.
The O-DF is intended to be used for expressing information about any identifiable object (product, service, human, …). How the information is communicated is not a part of the standard. The communication media might be a file sent as an email attachment, on a USB stick, or any other kind of media. O-DF content can also be sent using REST-based services, SOAP, Java Message Service (JMS), the O-MI, and other kinds of messaging protocols. The O-DF can be used as a query and response format in such messaging. For instance, the O-MI specifies that a read request with an O-DF structure should be responded to with the next level in the hierarchy shown in the figure above. As an example, a request with only an Objects element should return an O-DF response with the list of Object elements available, including at least the compulsory attributes and sub-elements (notably at least one id element).
The O-DF is relevant to the Information and Communications viewpoints of the Draft ISO IoT RA, RAMI 4.0, and the Web of Things, and to the Information and Communications aspects of the Implementation viewpoint of the IIRA.
In the terminology of the Draft ISO IoT RA or the IIRA, the primary communications use of the O-DF is likely to be (as for O-MI) in access networks that connect devices to services and applications, and it can also be used in proximity networks with capable devices, and in service networks that interconnect services and applications. It can be used for the payloads of O-MI messages, or with other messaging protocols. O-DF fits within the Things layer of the Web of Things Communications Stack.
The O-DF can be used for data records within gateways, services, and applications. It might logically be used in the manifest of a RAMI 4.0 administration shell, but it is not identified as a standard for this purpose by Platform Industrie 4.0. It could be used for formal machine-readable descriptions (following the W3C XML standard) of things in the Web of Things.
The O-DEF enables basic units of data to be classified, so that equivalences and similarities between them can be determined easily. This simplifies the development of interface software and contributes to improved management and organization of data. While it may have other applications, the O-DEF is primarily intended for deployment within extended enterprises, and by groups of collaborating enterprises.
Overview of O-DEF
The O-DEF consists of an index and a method for using it to classify data elements. Following this method, a practitioner can tag a data element by assigning a name and numeric identifier to it according to its meaning.
The index is federated. It consists of a core index and a collection of plugins. A plugin can be developed by a standards organization, by a body of specialists in a particular area, by a user enterprise, or by a group of user enterprises.
The core index is structured as a set of trees of object classes, roles, and properties. A plugin can be structured in a similar way, or can be unstructured. Sets of definitions developed by other standards bodies and industry bodies can thus readily be used within the O-DEF as plugins.
The core index, and each plugin, is potentially infinitely extensible. The initial version of the index is defined in the O-DEF Standard. It will be contained in separate XML/RDF files that are accessible on the web, have the structure defined in the O-DEF Standard, and can be added to over time.
A data element represents information about some thing – its object. It is classified according to:
- Its object class: the kind of thing that the object is.
- Its role: the function that the object has.
- Its property: the kind of information about the object that it represents.
This classification takes account of the meaning of the data element but not its representation. For example, a piece of text can be represented using different character encodings. This difference is ignored when the data element is classified.
The classification determines the data element concept of the data element (see ISO/IEC 11179). Each data element concept has an O-DEF identifier, name, and description. They are derived by combining the identifiers, names, and descriptions of data element’s object class, role, and property. The resulting identifier and name can be used to tag the data element.
The core index, and each plugin, has a main description file with a persistent URL. The core index is represented in XML/RDF syntax. Plugins can also use this syntax, but need not do so.
The O-DEF is relevant to the Information and Communications viewpoints of the Draft ISO IoT RA, RAMI 4.0, and the Web of Things, and to the Information and Communications aspects of the Implementation viewpoint of the IIRA.
The O-DEF fits within the Things layer of the Web of Things Communications Stack. It can be used for metadata that tags data in a machine-interpretable way:
- Object classes describe what kind of a thing it is (e.g., a temperature sensor, or a refrigerator containing a temperature sensor).
- Roles describe what function the thing has (e.g., for a refrigerator, domestic food store, or medical supplies store).
- Properties describe the thing (e.g., the temperature within the refrigerator).
The O-DEF can be used in any of the kinds of communications network identified by the Draft ISO IoT RA and the IIRA. Semantic annotation of data is useful in communications between services and applications, as well as in communications with devices.
It can be used with O-DF data structures, or with other data structures. The Internet of Things and Semantic Interoperability Work Groups of the Open Platform 3.0 Forum are jointly developing recommendations for its use with O-DF.
Work is proceeding in the Open Platform 3.0 Forum of The Open Group to build on the three standards described in this chapter.
The Internet of Things Work Group of the Forum is exploring deployment scenarios for the IoT standards, particularly in connection with the bIoTope Project, and considering a further standard specific to product lifecycle management.
The Semantic Interoperability Work Group of the Forum is exploring deployment scenarios for the O-DEF, and identifying plugins based on standard vocabularies.
The two work groups are jointly investigating semantic models for the IoT, and the use of O-DEF tagging in O-DF data structures.