The UA SDK is a C++ library that supports you in writing portable C++ OPC UA Servers. The UA SDK actually consists of two SDKs, a Server SDK and a Client SDK. Both use the same UA Base Library which does all the C++ encapsulation of the raw ANSI C types that are defined in the OPC UA Communication Stack by the OPC Foundation.
The SDK simplifies the UA stack APIs, implements common UA functionality needed in most or all UA applications, provides base functionality and helper functions, implements the security handling and provides samples for common use cases. The C++ OPC UA Server SDK provides a C++ class library used to develop OPC UA Servers providing a standard interface to vendor specific systems. The OPC UA Server is normally used to describe the available information from a vendor system and to provide access to the data for external systems in a standardized way.
To make the implementation of C++ based OPC UA Servers as easy as possible, the SDK
implements all common UA functionality as reference implementation,
defines interfaces to integrate the vendor system data into the OPC UA Server,
provides base and helper classes implementing often used functionality for a vendor system integration,
provides wrapper classes for all system functionality and OPC UA structures,
provides sample implementations and make files for Windows and Linux,
and provides UA stack platform layers for Windows and Linux.
As an additional feature the SDK itself is platform independent and depends only on the OPC UA ANSI C Stack and its platform layer and the crypto API defined by the stack. There is no dependency on other libraries than the OPC UA ANSI C Stack and its dependencies. The figure shows the main modules of the SDK and the integration into a server application.