Skip to content

OPC UA Service Oriented Architecture

Mariusz edited this page Apr 23, 2015 · 3 revisions

At the very beginning of a new solution development, we must address a question about its fundamental paradigms and architecture. Observing continuous evolution of the IT domain, it seems that finding a solution that will guarantee an unlimited lifetime is a real challenge. However, decupling the solution from any base technology increases the chance of its surviving the disappearance of the base technology from the market. Fortunately, as mentioned above, there are many options on how to get applications interconnected over the Internet. Developing services and deploying them using Service Oriented Architecture (SOA) is the best way to utilize IT systems to meet this challenge. A service differs from an object or a procedure because it is defined by messages that it exchanges with other services. SOA defines the way in which services are deployed and managed. Adopting of the SOA approach increases reuse, lowers overall cost, and improves the ability to rapidly change and evolve systems, whether old or new.

To make systems interoperable, any even brilliant idea is not enough - a data transfer technology is needed, however – when defining data exchange in context of messages – we do not need to bother about the different technologies used by the participants as long as they can absorb the messages.

Today, an ideal platform for the SOA concept implementation is Web Service technologies. They represent the most widely adopted distributed computing standards in industry history. Web Services are a set of standards based on XML (eXtensible Markup Language) and developed by W3C (World Wide Web Consortium) [World Wide Web Consortium (W3C)] (http://www.w3.org). Those standards are generally marked with a WS-* symbol. Because the WS-* standards are developed without any initial assumption concerning the underlying system platform they are implemented on, they therefore must precisely define what must be on the "wire".

The WS-* standards are the basic foundation for OPC UA but, using them alone, would not be enough to reach the expected data throughput performance in industrial applications. To promote scalability, the OPC UA suite of protocols, therefore, expands the WS-* standards by defining a few proprietary ones that can be used alternatively. OPC UA messages may be encoded as an XML text or in binary format for efficiency purposes. They may be transferred using multiple underlying transports, for example TCP or SOAP over HTTP. Clients and servers that support multiple transports and encodings will allow end users to make decisions about tradeoffs between performance and Web Services compatibility at the time of deployment, rather than having these tradeoffs determined by the OPC vendor at the time of product definition. This approach makes it possible to experiment with more application-centric solutions than the text-centric Web Services offers.

Clone this wiki locally