Navigating IIoT Protocols: Comparing DDS and MQTT
The convergence of Operational Technology (OT) and Informational Technology (IT) has become a strategic imperative for organizations aiming to unlock...
RTI is the world’s largest DDS supplier and Connext is the most trusted software framework for critical systems.
|
From downloads to Hello World, we've got you covered. Find all of the tutorials, documentation, peer conversations and inspiration you need to get started using Connext today.
RTI provides a broad range of technical and high-level resources designed to assist in understanding industry applications, the RTI Connext product line and its underlying data-centric technology.
RTI is the largest software framework company for autonomous systems. The company’s RTI Connext product enables intelligent architecture by sharing information in real time, making large applications work together as one.
8 min read
Dave Seltz
:
August 13, 2020
In 2018, I posted a blog titled “When is Open Source the Right Solution?” This question is still relevant, but as everyone knows, a lot can change in two years. Since then, RTI Connext® DDS has gained many new features, as have open source versions of DDS. I thought it would be a good idea to update that blog with more recent information for 2020 and share it with you here.
The Object Management Group® (OMG®) Data Distribution Service™ (DDS) standard is what is called an "open standard." This means that the standard is publicly available and provides a normative reference to help guarantee consistency, portability and interoperability, regardless of the DDS vendor. An open standard is not the same thing as software that is open source. Open source software is computer software made available with its source code. Open source software may be shared, modified and distributed, usually under an open source license. The DDS standard is an open standard and has open source implementations available. There are many commercial distributions that are available as well, of which the most widely-used is RTI Connext DDS.
So, what should you consider when deciding between an open source DDS solution compared to a commercial solution?
When deciding between open source DDS and commercial DDS software, it's important to determine the DDS features that you need, then compare them to the features available with the DDS release you want to use. If you aren't certain of what you will need as your project evolves, you should consider software that supports the complete DDS API.
For example, here are some of the standard OMG DDS capabilities that RTI Connext DDS supports that are not commonly found in open source distributions:
In addition, here are some of the enhanced (non-standard) capabilities that RTI Connext DDS supports, which are also not commonly found in open source distributions. These capabilities include:
Generally speaking, commercial DDS implementations are more full-featured and more robust than open source versions. This is because they have a larger number of engineers dedicated full-time to development and testing. For instance, Connext DDS Professional has over 50 engineers working full-time on development, in addition to 25 full-time support engineers, plus services and training engineers.
When considering which software is best for you, it's important to determine overall interoperability between your system and other data types. Do you need to interface with web pages? Do you want to integrate with a relational database? Some of these key services are not generally available with open source DDS. But Connext DDS does offer these capabilities and more by providing the following Application Components and Services:
You will also want to determine what development tools are available for the DDS implementation you are considering. Quite often, DDS is used in large inter-connected systems that can be quite complex. Having the right tools available to debug these systems is crucial, which is why Connext DDS includes the following DDS implementation tools:
Security is a concern in every connected system today. You need to ensure that the DDS software you choose supports the DDS Security standard and also has TLS or DTLS transports readily available. Since 2015, RTI Connext DDS has supported the DDS-Security standard. Connext DDS also has a secure WAN transport that includes TLS and DTLS support. You can read more about RTI Connext DDS Secure here.
Does your application need some form of certification? It is time consuming and expensive to certify software, and the more code there is, the harder it is to do. RTI Connext DDS Cert provides complete certification evidence for your system. It supports a subset of the DDS standard API and has been certified to DO178C level A certification. You can read more about Connext DDS Cert here.
Probably the most important factor in determining whether open source DDS is a good fit is the robustness of the implementation. Arguably, the best way for software to prove itself is in actual customer applications. A good measurement is to assess how many commercial deployments are running the version of DDS software that you are considering. When an implementation has been successfully implemented over and over again, you know that it can do the job. Connext DDS has been field-tested, proven and used in more than 1,500 different projects and in over 1 million devices to date. Some of the complex, mission-critical applications that currently rely on Connext DDS include:
Another consideration is how well the software is tested. What is the quality of the DDS release that you are entrusting your product lifecycle to? RTI testing includes extensive automated testing and rigorous training and reviews, as well as extensive issue tracking and management. In addition, the RTI IIoT Testing Lab is the industry’s largest, most complete lab facility, featuring:
There are a number of vital considerations to take into account for platform support. For example: What is the target architecture, operating system and compiler you are going to use? Does the DDS implementation you are considering support the language(s) you want to use? Also, how often and how quickly do new architectures and OS versions get supported? It’s important to ensure the platform you want to use is supported. If it is not supported, what services are available to create that platform and support it?
If support for a certain platform is not available, open source DDS can be rebuilt to provide the support needed. Open source DDS comes with source code and instructions on how to rebuild the source.
For a faster go-to-market cycle, Connext DDS supports the largest number of platforms in the industry without the need for custom code. Connext DDS also allows customers to build their own libraries, which are primarily used for testing purposes. Whenever you are building your own DDS libraries, it is not always straightforward, and you have to consider what testing has already been done.
Some open source DDS implementations are available as a free download. In the short term, they cost less than a commercial DDS implementation.
Over time, however, the cost of using open source DDS may increase if you need access to support or specific features. Open source DDS is supported by an open source community, which eliminates any license fees or support fees. However, you must either rely on community support or pay another company for support. As a result, your open source DDS could cost more in the long run, due to missing features that you will need to build, plus additional developer resources, increased development time and additional support costs.
How important is fast, reliable support? It’s a valid comparison to weigh the cost of a commercial DDS license versus the loaded cost of an engineer per year, and to determine your upfront costs vs. costs over the lifetime of the project.
In choosing your DDS software, you need to consider how quickly you can get your system to market with each of the DDS options. If the DDS implementation you want to use does not have the capabilities, support or services you need, or just does not work as expected, can you afford the extra months to get it operational? How would delays affect your ability to deliver on time? In other words, just how important is getting your product out on time?
It is critical to understand what support is available through your DDS vendor in case you run into problems. Open source DDS provides support through online user groups, as well as through third parties for a fee. If you plan on hiring a third-party for support, you need to determine if the support engineers are dedicated to just one implementation or if they support several different products. What is their escalation policy if you run into critical problems?
RTI understands that connectivity software is a mission-critical part of your application, and we treat customer support with the seriousness that it deserves. Our support engineers are exceptionally qualified: They are experts at designing, debugging and implementing distributed real-time and embedded systems. With support centers in the U.S. and Europe, RTI’s DDS support engineers can be reached almost 24/7. In addition, Connext DDS support engineers are co-located with, and have direct access to, development engineering resources should a critical issue arise.
RTI also provides a rich online library for Connext DDS features and tools, as well as a rich list of online resources such as the Connext DDS community, instructional videos, case & code examples, online training and documentation.
Choosing DDS to build and run your distributed system, may be a relatively easy decision. Evaluating and choosing the right DDS solution - open source or commercial software - will depend on your specific requirements. To determine the best option for your project, we invite you to answer the following questions:
If you answered with an emphatic “yes” to any of these questions, you are likely working on a complex product with time-to-market objectives that need to be rock solid, well-supported and future-proof. To discuss your unique requirements for your DDS project, please contact your RTI representative.
About the Author
David Seltz is a Field Application Engineer for Real-Time Innovations supporting customers in the New England area. David has been in the embedded industry for over 32 years working in engineering and sales roles. Previous to his work at RTI, David was the world-wide FAE manager for Wind River Systems. David holds a Bachelor of Science degree in computer engineering from Lehigh University, and a Master of Science degree in computer engineering from the University of Massachusetts.
The convergence of Operational Technology (OT) and Informational Technology (IT) has become a strategic imperative for organizations aiming to unlock...
A Comparison of DDS, TLS and DTLS Security Standards
Meet New RTI Team Member Marcos Rivera! Work environments around the globe have changed as a result of the recent pandemic, and the structure of...