Prosys OPC UA Java SDK 2.0.0

This is a new major release of the SDK, which contains several major changes and new features. Existing applications built against SDK 1.x will require modification work to get compiled with this new version. See below for migration notes.

Feature Highlights

New features

The SDK is based on the new 1.02 version of the Java Stack. This conforms to the OPC UA 1.02 specifications.

Main new features of the stack are support for HTTPS protocol and SecurityProfile.BASIC256SHA256 security profile. The stack also enables alternative security libraries, instead of the fixed Bouncy Castle. This was done using standard Java APIs (JCE) instead of Bouncy Castle's API (meaning Bouncy Castle is now just another security provider).

The stack is now using the standard Java Cryptography Extension (JCE) framework for enabling the selection of security library that is used (via SecurityProvider). The main consequence is that since the standard security policy in the JCE allows a maximum of 128-bit encryption algorithms, you must install the "JCE Unlimited Strength Jurisdiction Policy Files" into the JRE to enable 256- bit security. The downloads are available for JRE6, JRE7 and JRE8.

The SDK has also been taken through the Compliance Test Tool and it passes all the tests except for a few cases. We will continue improving the compliance still to get a fully compliant SDK.

The SDK now includes a code generation tool which generates Java classes from types defined in NodeSet2.xml files. The generated code contains getters and setters for child variables and objects. Methods can be implemented and called. Custom structures and enumerations can be used. Generated code can be used on both client- and server-side, although only getters are implemented on the client-side.

New types include the FileType, which enables File Transfer over OPC UA. The SDK introduces a FileNodeManager and FileSyncClient for working with those. See the Server Tutorial for more about that.

Migration Guide

See the Migration Guide for more information on how to accommodate your applications to the new SDK.

The tutorials have also been updated to reflect current functionality.

OPC Foundation Java Stack changes

Known issues: Interoperability with the .NET and C stack is still work in progress, especially regarding the HTTPS protocol and SecurityProfile.BASIC256SHA256

Library Changes

The stack is now depending on more libraries. You can include them in your application as you need them:

Changes to both SDK Client and Server

Changes to SDK Client

Changes to SDK Server

Code Generation

The code generator is found from the codegen directory. See the accompanying (and/or Tutorial) for instructions on how to use it. The SDK now contains generated Java classes for the UA standard types in the Java package The old types in have been removed from use as they are not directly compatible with the new SDK architecture. (If you need them, make a request)

Server Type Instantiation

The generated types are used with the NodeBuilder, which can be used in context of a NodeManagerUaNode

Changes to the Sample applications