XML-DA .NET Server Toolkit

The XML-DA .NET Server Toolkit for C# and VB.NET is a .Net web service with an XML-DA V1.01 compliant generic server and a .Net assembly with the application specific device handler.   read more...
For evaluation downloads, quotes, purchase orders or credit card purchases, add the item to the shopping cart and go thru checkout.
Evaluation License
The Evaluation License grants the non-exclusive right to use the software for evaluation and testing purposes only. The software is time restricted to run for only 30 minutes at a time. Please read the license agreement.
Price: $0.00
Standard Edition, Single Developer License
The Single Developer License grants one user the non-exclusive right to use the software. The license includes a subscription for 90 days. Please read the license agreement.
Price: $1,195.00
Professional Edition, Single Developer License
The Single Developer License grants one user the non-exclusive right to use the software. The license includes a subscription for 90 days. Please read the license agreement.
Price: $1,995.00
Standard Edition, Company Site License
The Standard Edition Company Site License grants multiple users at one development location the non-exclusive right to use the software. The license includes a subscription for 90 days. Please read the license agreement.
Price: $2,895.00
Professional Edition, Company Site License
The Professional Edition Company Site License grants multiple users at one development location the non-exclusive right to use the software. The license includes a subscription for 90 days. Please read the license agreement.
Price: $4,995.00

XML-DA .NET Server Toolkit      Product DescriptionReference ManualVersion Log

OPC XML server toolkit for C# and VB.NET

OPC XML DA Server Development Toolkit for C# and VB.NET

The XML DA .NET Server SDK (XDASrv) implements the OPC Foundations OPC XML-DA specification version 1.0.1 in a generic server .NET assembly that is provided in versions for ASP.NET2 and WCF (the Windows Communication Foundation).
The application specific server part is in a .NET plug-in assembly. It handles the device access and is developed using Visual Basic .NET, C# or any .NET compatible compiler. The interface between the customization component and the generic server part is simple yet flexible enough to suit most applications.

XML-DA Server Toolkit Features
  • The generic server is provided as an ASP.NET2 and WCF service with all XML DA defined features.
  • Customization in a separate .NET Assembly that can be coded with VB.Net, C# or any .NET supported compiler. The OPC XML DA server uses the same customization component interface as the DANSrv OPC DA server toolkit, making it possible to use the server customization plug-in for XML DA and OPC DA servers.
  • The project documentation is integrated into the Visual Studio help system and offers context sensitive help.
  • The Visual Studio project wizard creates a functional server with the features selected in the wizard dialog.
  • Tools for simple deployment.
  • Standard Edition and Professional Edition with additional performance optimization features for servers with ten thousands of items.
  • Developer license with one time fee, no run-time licenses required.
  • The license includes an Updates/Support subscription for 90 days.


Why use OPC XML DA? OPC XML provides the foundation for multi-platform interoperability because it is based on XML instead of the Windows specific DCOM. It simplifies sharing and exchange of data amongst the various levels of the plant hierarchy (low level devices and up to enterprise systems), and to a wider range of platforms. DCOM with it's problematic configuration issues can be eliminated from the solution while only well established standards are used. XML DA is slower than the DCOM based OPC DA and TCP based proprietary tunneling solutions but is actually fast enough for most applications.
Unlike previous OPC data access specifications, the OPC XML-DA specification describes data exchange in an environment which assumes no persistent connection between the client and the server. This makes it suitable for a much wider range of communication systems. The Windows Communication Foundation (WCF) adds a lot of flexibility. WCF application are compatible with established web services and between WCF client/servers the communication can be configured either high performance or high security.


WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation) offers a highly flexible communication infrastructure for web services. WCF clients and servers can be configured for communication bindings such as:

  • Basic HTTP for ASP.NET compatibility
  • Secure communication with X.509 certificates
  • TCP for high performance binary communication

XML DA servers based on the .NET3 (WCF) version of XDASrv can be accessed either as ASP.NET2 web service or from .NET3 (WCF) clients as a WCF server.
WCF based XML DA clients can be created with the Advosol XMLDA.NET client component product.

XML DA Server Development

All web service and XML DA client interface handling are done in the generic server. This is a .Net web assembly provided in versions for ASP.NET1.1, ASP.NET2 and WCF. The WCF version can be used in either IIS, WAS or self-hosted XML DA servers.
The server developer only has to create a .Net assembly as a plug-in with the device access methods. This plug-in assembly can be used with all generic server versions. A server can be developed by implementing as little as three methods. Additional methods can be implemented to support additional features or to optimize performance.
Visual Studio project wizards create a functional server with the features selected in the wizard dialog. The custom specific device access code is embedded into the created plug-in module methods.
Another approach is to use one of the sample servers as the starting point.

Visual Studio Project Wizard

The wizards create a web service project with small sample code according the selections in the user dialog.


Professional Edition features
The XDASrv Server Toolkit is available in a Standard and a Professional edition. The main features added in the Professional Edition are:

  • Dynamic address space with items added when they are first accessed by a client.
    This feature is important in servers that handle 'devices' with a huge number of items, such as e.g. a database.
  • The item refresh can be based on the current client usage and the client sampling rate definitions.
    Performance can be optimized by reducing the device communication.
  • ConfigBuilder utility and class for the handling of XML server configuration files.


Provided Sample Servers

  • Simple
    This is a simple server with a few items, statically defined within the code.
    A simulation thread increments the item values and updates the server cache.
    Write calls write the item value into the simulation buffer, forcing the incrementing to continue from the written value.
  • Properties
    This sample works as the 'Simple' sample and additionally defines an handles custom item properties.
  • Dynamic
    This sample is very similar to the 'Properties' sample but implements a dynamic item address space.
    At startup no items are defined in the generic server. All items are added dynamically when they are first accessed by a client. The browse mode is set to virtual and the client browse calls are handled in this sample. The return the items that could be added to the server cache.
    For the client this handling is invisible. It appears identical to the 'Properties' sample.
    The XDARap Professional Edition is required because the Standard Edition does not support virtual browsing.
  • ConfigBuilder
    This sample loads the item configuration from the file CfgSample.xml and creates the defined items at startup.
    The XML file can be modified with the ConfigBuilder application. The new configuration used when the server is restarted. No compilation is required.
    The sample does embed the XML file to show this possibility. To use the embedded file the sample has to be modified to use the LoadEmbedded() method in place of LoadFromExeDir(). The method call is in the code as comment.
  • 20kItem
    This sample defines 20000 items at startup and updates the first 1000 items every 100ms.
    It should give an impression of the performance and can be used as the base for a custom benchmark application.
    On a 2GHz Pentium the startup takes about 2 seconds and the CPU load is around 6%.
  • TCPDevice
    This sample uses a TCP socket on port 6500 for device communication. For tests a Device simulator console application is provided.
    The IP address is initialized as localhost, allowing both applications to run on the same computer.
    At startup the DeviceSimulator sends a line with item names and the server creates these items in it's address space. The DeviceSimulator then periodically increments the item values and sends lines with the values of all items. The server customization reads these lines and updates the server cache. Items written by a client are sent to the DeviceSimulator, which displays them.
  • WCF Remoting
    The server plug-in assembly uses a WCF connection to communicate with another .NET application. Using the NamedPipe binding such a connection is highly efficient.
  • Self-Hosted
    This sample shows how a .NET3 (WCF) XML DA server can be hosted in a Windows Forms application.



  • ConfigBuilder
    The ConfigBuilder Tool creates and changes XML files with item configuration definitions.
    The XML configuration file can be used in the customization module to create the item address space of the server.
    This tool is available only in the Toolkit Professional Edition.
  • Test Client
    All XML DA defined methods can be called interactively. The server item address space is displayed in a tree structure for easy item selection. In the Browse tab is a dialog to browse the server step-by-step.
    This test client is built with the XMLDA.NET component and can also access OPC DA servers through the internal OPC DA gateway. The test client is also provided in a version for WCF.
  • Error Code Lookup
    The OPC error codes and OPC related Windows error codes are explained.
  • MakeIISVDir
    This utility simplifies the deployment of web services. Any directory can be defined as a web application directory. MakeIISVDir can be used interactively or in batch mode to automate the deployment process. Just copy the application files and run MakeIISVDir in the target directory. Then the XML DA server is accessible at that location under the URL http://localhost/appDir/OpcXmlDaServer.asmx



  • Windows 7 (or newer) or Windows Server 2003 (or newer) 
  • .NET 4.x
  • IIS V7 or newer
  • Visual Studio 2010 or newer with C# or VB.NET