IIC Journal of Innovation 5th Edition | Page 85

A Practical Guide to Using the Industrial Internet Connectivity Framework
standard ” per the IICF guidelines , because it has no standard type system . Without a type system , it cannot offer a standard ability to interoperate at the “ syntactic ” datastructure level , leaving all data interpretation to the application .
Nonetheless , MQTT enjoys significant awareness . Because of its simplicity , simple questions about your system will help determine if it is appropriate :
1 . Do you think of your application as data collection ?
2 . Is there little device-to-device communications ? 3 . Is interoperability not a consideration ? 4 . Do you have many small devices ? 5 . Is software a minor challenge ?
Again , if you answer three or more of these “ yes ,” you should look at MQTT . The reasons :
1 . The first “ T ” in MQTT stands for “ Telemetry ,” or data collection at a distance . This is its main use case .
2 . MQTT is designed as a hub-and-spoke design that requires a broker . It does not support direct inter-device communications . Choosing MQTT for device-to-device communications is awkward .
3 . Without a type system , MQTT applications are tightly coupled – they must all be aware of the data format . The only way to build interoperability is to implement a way to share types in user code . As a result , most of all MQTT applications are standalone systems . MQTT also does not help with system evolution ; version compatibility between components must be provided by the applications .
4 . MQTT is by far the simplest technology considered here . If you have many small devices that are simply connected , simple software can handle your challenge .
5 . MQTT offers little to ease software development . There is only one QoS setting ( reliability ). There are no defined services . It offers no data or device modeling . You are therefore going to have to write all of the software from scratch ; that is only practical if you have a simple software challenge .
Comparisons and Overlaps
Comparing these technologies highlights the stark differences and non-overlapping nature of connectivity approaches .
For instance , OPC UA is object oriented ( OO ), while DDS is data centric . Those are diametric opposites . The OO mantra is “ encapsulate data , expose methods .” Data centricity is all about exposing data and there are no user-defined methods . The only methods are defined by the standard .
OO systems work like a sequential programming language . You “ call a method ” on a remote server , it returns . Then you call the next . It is simple and intuitive for getting and setting values . However , it is difficult to call many methods in parallel . The new OPC UA “ pub / sub ” functionality retains this flavor . Applications fundamentally interact with active remote peers . The paradigm is sequential reading and writing device values or streams , organized as a larger “ address space .”
IIC Journal of Innovation - 83 -