.NET Based OPC UA Client/Server SDK

The Unified Automation Server SDK implements the common elements of the OPC UA specification and provides APIs that allow users to add their own functionality. These APIs fall into two categories: the SDK APIs and the Toolkit APIs.

The first level, the OPC UA Server SDK, implements all common code necessary for an OPC UA Server and manages communication connection infrastructure like Sessions and Subscriptions.

The SDK APIs are interfaces like NodeManager and IOManager for information integration and generally map directly on the OPC UA defined services for access to product specific information.

The Toolkit APIs are based on a standard implementation for the SDK interfaces and require that the user creates subclasses of the toolkit defined classes. The Toolkit layer operates on an in memory model representing the product specific information. The different layers are shown in the following diagram.


The main API interface classes are shown in the following diagram.


The classes in light blue are the base SDK classes. These classes can be used in user application code but are not changed or subclassed. The classes in orange are classes that can be extended by user applications. Every application built with the SDK must have a subclass of ServerManager which creates the NodeManagers used in the application.

The set of interfaces shown in the diagram represent the SDK APIs. These interfaces can be implemented on classes that provide the application specific logic. These interfaces are implemented by the standard BaseNodeManager class which forms the Toolkit API.