Client-Server Model
Having a distributed nature, OPC UA works in both client-server model and, more recently, in publish-subscribe model.
For Client-Server communication the full range of information model access is available via services and in doing so follows the design paradigm of service-oriented architecture (SOA), with which a service provider receive requests, processes them and sends the results back with the response. These interactions can be done with different levels of security, reliability, and performance.
Publish-Subscribe (Pub/Sub), provides an alternative mechanism for data and event notification. While in Client-Server communication each notification is for a single client with guaranteed delivery, Pub/Sub has been optimized for many-to-many configurations. With Pub/Sub, OPC UA applications do not directly exchange requests and responses. Instead, publishers send messages to a Message Oriented Middleware, without knowledge of what, if any, subscribers there may be. Similarly, subscribers express interest in specific types of data, and process messages that contain this data, without a need to know where it originated from.