Technosoftware AG

C++ OPC UA Server SDK

Purchase Product Download Evaluation
OPC UA Server and Client SDK Structure

The UA SDK is a C++ library that supports you in writing portable C++ OPC UA Servers and Clients. 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 (http://www.opcfoundation.org).

A 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 standard 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 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 to other libraries than the OPC UA Ansi C Stack and its dependencies.

Portability is guaranted by a concept of portability layers. The rest of the code is generic code that is independent of the operating system and can be reused without any changes. The UA Communication Stack has a portability layer that encapsulates already the most important operating system calls like Sockets, Semaphores, Mutexes, Threads, etc. The Ua Base Library is built on top of this UA Stack and does not need any further portability layer. The same applies for the software layers built on top of the UA Base Library.

The additional base modules UA PKI Library and UA XML Library are further abstraction layers that encapsulate special software components. We use the Open Source projects OpenSSL and LibXML2 to implement that functionality, because it's good software, it's ported already to several operating systems and they don't have restrictive licenses like the GPL. But if your company polices don't allow to use any Open Source for whatever reason it's possible to change this without a need to change anything else in the upper layers of the SDK or your application. Aside from simplifying the usage of this libraries this was main reason why we encapsulated this functionality with our own interface and don't use the Open Source code directly in our SDKs.

Supported OPC UA Profiles (C++ based OPC UA Server SDK Basic):
  • Standard UA Server
  • DataAccess Server Facet
Supported OPC UA Profiles (C++ based OPC UA Server SDK Professional):
  • Standard UA Server
  • DataAccess Server Facet
  • Basic Event Subscription Server Facet
  • Complex Type Server Facet (under development)
  • Method Server Facet
  • Node Manager Server Facet
  • Auditing Server Facet (under development)
  • Client Redundancy Server Facet (under development)
  • Historical Access
  • Programs (under development)
  • Alarms&Conditions (under development)
Supported Platforms:
  • Microsoft Windows XP, Windows Vista™ (x86, 32bit)
  • Ubuntu Linux (x86, 32bit)
  • Microsoft Visual Studio 6
  • Microsoft Visual Studio 2005 SP1 (C++)
  • Microsoft Visual Studio 2008 SP1 (C++)
  • gcc 4.x
Known Also To Work, Available on Request:
  • Microsoft Windows XP, Windows Vista™ (x86, 64bit)
  • Gentoo Linux (x86, 64bit)
  • Open Solaris (x86)
  • Euros 3.20 (RTOS) (ARM9)
  • Microsoft eMbedded Visual Studio C++ 4.0

C++ based OPC UA Server SDK Basic

with 10 Support Incidents
with 1 year Updates

Developer Maintenance (*)
without Source Code Contact Us Contact Us

C++ based OPC UA Server SDK Professional

with 10 Support Incidents
with 1 year Updates

Developer Maintenance (*)
without Source Code Contact Us Contact Us
with full Source Code Contact Us Contact Us

(*) Active Maintenance Packages entitle customers access to all releases for the products owned for a period of 1 year. A Maintenance Package is only available for owners of an original license.

License Type

Please see here to get more information about the available license types.

Evaluation

Contact Us if you wish to get more information and access to an evaluation, or send us an Email to: This e-mail address is being protected from spambots. You need JavaScript enabled to view it

 
You are here: Home OPC UA UA Server Development C++ UA Server SDK

OPC Xi Development