Connecting IoT to Legacy Systems
Few developers are lucky enough to get assigned to “greenfield” projects they’re starting from scratch. Nearly always, projects are “brownfield” and require some level of integration with existing systems.
Nowhere is this truer than with the Internet of Things, which often involves trying to integrate a variety of hardware devices—some of which were never intended to communicate digitally—with legacy software. That integration is one of IoT’s biggest challenges. Half the cost of implementing IoT solutions in the near future will be spent integrating the various components with each other and with back-end systems, according to Benoit Lheureux, a research vice president at analyst firm Gartner. “It is vital to understand integration is a crucial IoT competency,” he writes in the Gartner note, “5 Steps to Address IoT Integration Challenges.”
One company that’s been thinking about legacy integration for a long time is Open Automation Software, of Lakewood, Colo. The company’s products were originally designed to be the development interface to Microsoft’s Visual Studio and connect to a variety of databases using open formats, says Ken Eldridge, president and CEO.
One integration technique Eldridge recommends is to use the Message Queueing Telemetry Transport (MQTT) protocol to get data into and out of the IoT devices. MQTT is a simple, proven, standards-based protocol that runs on top of the TCP/IP stack. It's lightweight and intended for constrained devices, such as supervisory control and data acquisition systems, as well as low-bandwidth, high-latency, or unreliable networks.
“MQTT is probably the most popular way to get IoT solutions to talk to legacy applications,” Eldridge states, adding that there are a number of MQTT brokers on the market. “That’s where we fit, in the middle.”
Another potential solution is the Open Platform Communication Unified Architecture, a machine-to-machine interchange protocol for industrial automation developed by the OPC Foundation in 2008.
More generally, organizations can use an application programming interface (API) layer, according to Ian Fairclough, vice president of services, office of the CTO, EMEA at MuleSoft: “At present, legacy systems communicate in myriad ways, making it difficult for organizations to consume the data created in a standardized fashion,” he says. “The most effective way to overcome these challenges is to deploy IoT in a modular fashion, with a flexible integration layer between devices, data, and the overall IT ecosystem. This can best be achieved using APIs to build an application network. Underpinned by APIs, application networks enable applications, data, and devices to be plugged in and out, without negative knock-on effects on other devices or data transmissions.”
In situations where IoT sensors are in remote locations, Eldridge also recommends looking to edge processing as opposed to relying on the cloud, especially if reliable network connectivity isn’t guaranteed. “Microsoft has recognized that running as an edge solution is important,” he says. “If you’re just pushing data to the cloud, you can lose it, unless store-and-forward is built in.”
Edge processing also is more likely to produce more reliable results, because you might not be sure how old the sensor’s data is. “If you’re pushing it to the cloud and pulling it back down, was it from 10 minutes ago or one second ago? Having the data hosted as close to the IoT device as possible gives the best data accuracy,” Eldridge says. “You know if the data is good, live, and accurate." In addition, he continues, edge processing makes it easier to detect intermittent data spikes. “For example, if pressure goes way high and then drops, you might just see the first and last reading and miss the high-pressure event”—and miss an emergency condition.
Edge processing can also reduce the amount of data transfers IoT sensors require by transferring data only by exception, Eldridge adds.
Finally, Eldridge suggests looking for ways to use industry-standard APIs rather than proprietary ones. “What does take a lot of support time is customers with their own interfaces and [their] own tools,” he says. “Teach them to use Visual Studio or web interfaces.”
Sharon Fisher is a Kuna, Idaho-based freelance technology writer. She likes explaining things and going to meetings.