After 5 years of development UA is about to be released. The 1.01 version for the UA core specifications (Parts 1 through 8) should be posted in a couple weeks. The IEC 62541 Working Group has just approved the committee draft which means UA is well on the way to becoming an IEC specification. There are 20 or more UA products under development by early adopters and some are publically released (e.g. Siemens Simatic NET, Iconics Genesis64, Certec Atvise Scada, Unified Automation UA Expert).
UA consists of 14 different documents which, at first glance, suggests that implementing UA could be a challenging task. Fortunately, appearances are deceiving because many of the features described in UA are information models built on the core services and only need to be implemented by applications that support the type of information in question. If you only look at the core services of UA there are only 20 methods which, when implemented, will provide all of the features of the COM DA, AE and HDA specifications. In fact, from a software developer or project manager perspective, implementing UA is less complicated than implementing an application that supports the COM DA, AE and HDA specifications because the common base services such as Browsing and Subscribing only need to be implemented once in UA.
For this reason, I am starting a series of blog posts which will walk developers through the basics of implementing UA. The blog posts will cover different technical topics and will allow someone to start implementing a UA application without needing to read the core specifications cover to cover. The posts will be accompanied with .NET sample code which will not depend on any of the SDKs provided by the OPC Foundation and will be available to all members.
Note that these tutorials assume the reader is familiar with Microsoft's C# language, the Windows Communication Foundation (WCF) and Web Services.
For those of you who want to get started right away the complete sample is available for download here.