OPC Unified Architecture (OPC UA)


OPC Unified Architecture (OPC UA) is a machine to machine communication protocol for industrial automation developed by the OPC Foundation. Distinguishing characteristics are:

Focus on communicating with industrial equipment and systems for data collection and control

Open - freely available and implementable under GPL 2.0 license

Cross-platform - not tied to one operating system or programming language

Service-oriented architecture (SOA)

Inherent complexity - the specification consists in 14 documents totalizing 1250 pages

Robust security

Integral information model, which is the foundation of the infrastructure necessary for information integration where vendors and organizations can model their complex data into an OPC UA namespace to take advantage of the rich service-oriented architecture of OPC UA. There are over 35 collaborations with the OPC Foundation currently.

Key industries include pharmaceutical, oil and gas, building automation, industrial robotics, security, manufacturing and process control.


OPC UA supports two protocols.

This is visible to application programmers only via changes to the URL. The binary protocol is opc.tcp://Server and http://Server is for Web Service. Otherwise OPC UA works completely transparent to the API.

The binary protocol offers the best performance/least overhead, takes minimum resources (no XML Parser, SOAP and HTTP required, which is important for embedded devices), offers best interoperability (binary is explicitly specified and allows fewer degrees of freedom during implementation) and uses a single arbitrarily choosable TCP port for communication easing tunneling or easy enablement through a firewall.

The Web Service (SOAP) protocol is best supported from available tools, e.g., from Java or .NET environments, and is firewall-friendly, using standard HTTP(S) ports.

Binary is supported by all implementations, while only .NET implementation supports SOAP.