UAOOI.Configuration.Networking 2.0.4-Echo

OPC UA Object Oriented Internet (UAOOI) UAOOI.Configuration.Networking library is dedicated to create a plug-in aimed at provisioning
     configuration of any application based on OPC UA Information Model.
     It is part of the project supporting OPC UA Object Oriented Internet paradigm.

This is a prerelease version of UAOOI.Configuration.Networking.
There is a newer version of this package available.
See the version list below for details.
Install-Package UAOOI.Configuration.Networking -Version 2.0.4-Echo
dotnet add package UAOOI.Configuration.Networking --version 2.0.4-Echo
<PackageReference Include="UAOOI.Configuration.Networking" Version="2.0.4-Echo" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add UAOOI.Configuration.Networking --version 2.0.4-Echo
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: UAOOI.Configuration.Networking, 2.0.4-Echo"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install UAOOI.Configuration.Networking as a Cake Addin
#addin nuget:?package=UAOOI.Configuration.Networking&version=2.0.4-Echo&prerelease

// Install UAOOI.Configuration.Networking as a Cake Tool
#tool nuget:?package=UAOOI.Configuration.Networking&version=2.0.4-Echo&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

UA Data Networking Configuration

Introduction

This library contains types that supports the configuration management of application implementing the paradigm described in OPC UA Data Processing Outside the Server. The configuration may be read to or write from the xml or json files. By design this library may be used to support variety kinds of applications at design and run time.

The project seems to be very important prototyping workspace to answer the question how far we can go with the configuration (design time approach) in context of the following problems we have:

  1. Message content definition, i.e. items selected to be distributed (or fields, variables, values, etc. – nor sure about terminology)
  2. Metadata distribution – preparation of the consumer to be able to decode the messages,
  3. Privileges/Permissions management in context of the distributed data as the primary resource (subject) for any OPC UA data processing application and in context of the message handlers as the data access communication channels (infrastructure).
  4. Security tokens distribution to support all scenarios mentioned in 3 above.

Let me know if it works for you and if not how to converge proposed solution and your expectations. Examples how to use the library you can find in the Unit Tests aimed to test selected scenarios.

Run time

By design it is a plug-in or using modern terminology application composition part of the library described in Networking of SemanticData Library and at run time it can be used as the primary source of configuration for any standalone OPC UA Data Application and OPC UA Server supporting PubSub role.

In this case the application configuration may:

  • be derived from the proposed one
  • be expanded by the proposed one

The proposed solution supports also possibility to handle the configuration change event at run time, but this option is not tested and its implementation may change in new releases.

Design time

I hope the interface is ready to fulfill the following design time scenarios allowing for configuration in context of selected OPC Information Model/Address Space:

  1. Plug in to a modeler (UA Information Model design tool) as the configuration editor tool (preferred for me) - now it is compatible with the Address Space Model Designer
  2. OPC UA Server as an local editor – using server local GUI, Address Space and the UANetworkingConfiguration plug-in (in this case OPC UA server is just modeler)
  3. OPC UA Client as an editor - using client local GUI/UANetworkingConfiguration on the client side, and remote access to the Address Space
  4. OPC UA Server as a remote editor – using custom configuration Information Model/UANetworkingConfiguration plug-in on the server side, and generic configuration OPC UA Clint as the remote configuration tool,
  5. OPC UA Server as a remote dedicated editor – using PubSub Information Model/UANetworkingConfiguration plug-in on the server side, and dedicated (configuration editor GUI) PubSub configuration OPC UA Clint as the remote configuration tool (let me stress it is the only scenario using PubSub Information Model) – it is rather run time approach.

It is my opinion, but options 4 and 5 are only theoretically possible, because in real installations OPC server is untouchable artifact, but in a lab it is just Modeler and cannot be used as run time configuration tool.

It is good opportunity to review your requirements (if you have any) against the proposed solution.

Configuration content

The detailed description of the configuration files content is captured in the documentation at: ConfigurationData.

The XML schema of the configuration files is available at: ConfigurationData.xsd. Intentionally data producers and consumers use the same schema for configuration files. It makes it easier to harmonize these roles configuration and supports two roles in one application.

UA Data Networking Configuration

Introduction

This library contains types that supports the configuration management of application implementing the paradigm described in OPC UA Data Processing Outside the Server. The configuration may be read to or write from the xml or json files. By design this library may be used to support variety kinds of applications at design and run time.

The project seems to be very important prototyping workspace to answer the question how far we can go with the configuration (design time approach) in context of the following problems we have:

  1. Message content definition, i.e. items selected to be distributed (or fields, variables, values, etc. – nor sure about terminology)
  2. Metadata distribution – preparation of the consumer to be able to decode the messages,
  3. Privileges/Permissions management in context of the distributed data as the primary resource (subject) for any OPC UA data processing application and in context of the message handlers as the data access communication channels (infrastructure).
  4. Security tokens distribution to support all scenarios mentioned in 3 above.

Let me know if it works for you and if not how to converge proposed solution and your expectations. Examples how to use the library you can find in the Unit Tests aimed to test selected scenarios.

Run time

By design it is a plug-in or using modern terminology application composition part of the library described in Networking of SemanticData Library and at run time it can be used as the primary source of configuration for any standalone OPC UA Data Application and OPC UA Server supporting PubSub role.

In this case the application configuration may:

  • be derived from the proposed one
  • be expanded by the proposed one

The proposed solution supports also possibility to handle the configuration change event at run time, but this option is not tested and its implementation may change in new releases.

Design time

I hope the interface is ready to fulfill the following design time scenarios allowing for configuration in context of selected OPC Information Model/Address Space:

  1. Plug in to a modeler (UA Information Model design tool) as the configuration editor tool (preferred for me) - now it is compatible with the Address Space Model Designer
  2. OPC UA Server as an local editor – using server local GUI, Address Space and the UANetworkingConfiguration plug-in (in this case OPC UA server is just modeler)
  3. OPC UA Client as an editor - using client local GUI/UANetworkingConfiguration on the client side, and remote access to the Address Space
  4. OPC UA Server as a remote editor – using custom configuration Information Model/UANetworkingConfiguration plug-in on the server side, and generic configuration OPC UA Clint as the remote configuration tool,
  5. OPC UA Server as a remote dedicated editor – using PubSub Information Model/UANetworkingConfiguration plug-in on the server side, and dedicated (configuration editor GUI) PubSub configuration OPC UA Clint as the remote configuration tool (let me stress it is the only scenario using PubSub Information Model) – it is rather run time approach.

It is my opinion, but options 4 and 5 are only theoretically possible, because in real installations OPC server is untouchable artifact, but in a lab it is just Modeler and cannot be used as run time configuration tool.

It is good opportunity to review your requirements (if you have any) against the proposed solution.

Configuration content

The detailed description of the configuration files content is captured in the documentation at: ConfigurationData.

The XML schema of the configuration files is available at: ConfigurationData.xsd. Intentionally data producers and consumers use the same schema for configuration files. It makes it easier to harmonize these roles configuration and supports two roles in one application.

Release Notes

It is working prerelease

Dependencies

This package has no dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on UAOOI.Configuration.Networking:

Package Downloads
UAOOI.Networking.SemanticData
SemanticData Reactive Networking library based on OPC UA Part 14 Pub/Sub
UAOOI.Configuration.DataBindings
OPC UA Object Oriented Internet (UAOOI) DataBindings library is dedicated to create a plug-in aimed at editing of the configuration of any application based on OPC UA Information Model. It allows also to add data binding to the configuration. It is part of the project supporting OPC UA Object Oriented Internet paradigm.
UAOOI.Networking.Encoding
This part provides implementation of the IEncodingFactory to lookup a dictionary containing value converters. The interface is used for late binding to inject dependency on the external library. This library provides IEncodingFactory functionality limited to encoding simple data types only for the testing purpose only.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
4.0.1 690 2/1/2019
3.0.5 712 3/31/2018
2.0.4-Echo 566 1/27/2018
2.0.3-Delta 749 7/17/2016