Why Use OPC UA Instead of RESTful Interface

OPC UA instead of RESTful Interface

Did you know that there’s a new battleground where manufacturers are bleeding time and money? It’s software interfaces. Manufacturers face a complex jigsaw puzzle of software standards used by devices and applications that are largely incompatible and difficult to cohesively assemble; Application Programming Interfaces (APIs), IO Network Interfaces and Web Services, especially HTTP with a Restful interface.  And of course, there are those out there who will only give up their obsolete OPC drivers when it’s pulled from their cold, dead hands.

This mish-mash of interfaces means that even though everything is largely on Ethernet, nothing meshes together easily. What often happens is that people who need the data create secondary, parallel applications and systems – often undocumented and unsupported – to work around what’s in place. More time lost, more information lost, costs rising – it’s a nightmare.

One of the more popular mechanisms to interface applications is Web Services. It’s sometimes helpful to think of Web Services as merely some kind of API wrapped in HTTP. HTTP is the low-level communication service that supports much of what we do every day on the Internet. HTTP provides the basic service functionality (Get and Put) that moves generic data between two Internet systems without knowing anything at all about what it is moving.

A very popular architecture style to use with HTTP is RESTful. RESTful is a stateless mechanism for accessing resources at a destination node using the basic GET and PUT services of HTTP. It is stateless and completely generic, built for performance, reliability and the ability to access the kinds of information found on the Internet; XML and JSON objects.

Another way to standardize application interfaces is OPC UA, the successor to OPC (Open Process Control). It provides more open transports, better security, and a more complete information model than the original OPC (OPC Classic). UA provides a very flexible and adaptable mechanism for moving data between the kinds of controls, monitoring devices and sensors that interact with real-world data and enterprise type systems.

OPC UA is an open architecture standard way for applications, controllers, sensors and other devices to interact. Data in an OPC UA device is discoverable. A client device can browse another OPC UA device to learn what data is available, its name, format, and properties (meta-data characteristics). Once data required by an application is identified, it can be read, written or scheduled for transfer at some chosen frequency.

UA uses scalable platforms, multiple security models, multiple transport layers and a sophisticated information model to allow the smallest dedicated controller to freely interact with complex, high -end server applications. UA can communicate anything from simple downtime status to massive amounts of highly complex plant-wide information.

The Information Model is the foundation of OPC UA (My book on OPC UA). An Information Model is nothing more than a logical representation applied to a physical process. An OPC UA Information Model can represent something as tiny as a screw, a component of a process like a pump, or something as complex and large as an entire filling machine. The Information Model is simply a structure that defines the component, devoid of any information on how process variables or meta-data within that structure are accessed.

A prevalent question among manufacturing developers is “What’s the advantage of OPC UA over a RESTful interface?” RESTful’s weakness is that data is usually transferred as XML and JSON files devoid of type data and meta-data. There is no standardized mechanism for a client to obtain data schemas describing these files, access common services (Start Pump, Execute Recipe…etc.) or schedule data file transfers. RESTful is simple and straightforward at the expense of functionality.

Unlike RESTful, OPC UA provides more robust transports, encodings, security mechanisms, services, and information modeling capabilities. OPC UA provides a more complete device data model and data values that, unlike ASCII files transferred by RESTful architectures, retain their original data type, precision, and accuracy.

OPC UA is the right choice for valuable manufacturing applications that need superior data modeling, precise data representations, an extensive services infrastructure, and flexibility over the long term.