Object-Oriented Internet
  • Executive Summary
  • Table of Content
  • Introduction
    • Introduction to Object-Oriented Internet
    • Introduction to Complex Data Processing
    • OPC Unified Architecture
    • OPC UA Main Technology Features
  • Semantic-Data Processing
    • Semantic-Data Processing Architecture
    • Address Space and Address Space Model
    • UA Information Model - Concept
      • Standard Information Model
    • Information Models Development
      • Adopting Companion Standard Models - Analyzer Devices Integration
      • Companion Specification - Information Model for Analyzers
      • ADI Information Model Adoption
      • ADI Model Deployment
      • Address Space Model Life-cycle
      • Design and Deployment Support
    • Address Space Management Implementation
    • Address Space Prototyping Tool (asp.exe)
      • UAModelDesignExport Library
  • Internet of Things (IoT) Archetype
    • Semantic-Data Message Centric Communication
    • Internet of Things (IoT) Communication
  • Reactive Communication
    • UA Part 14: PubSub Main Technology Features
    • Reactive Networking of Semantic-Data Library
      • Underlying Transport over UDP
      • Underlying Transport over MQTT
      • Underlying Transport over AMQP
      • Underlying Transport over Ethernet
      • DataSet and Communication Channel Association
      • Encoding Library
    • Getting Started Tutorial
    • Walk-through ReferenceApplication
      • ReferenceApplication Utilities
      • Azure Gateway DataRepository
      • ReferenceApplication Consumer - Data Logger
      • ReferenceApplication Producer - Interoperability Test Data Generator
      • ReferenceApplication Producer - Boilers Set Simulator
  • Configuration
    • Configuration - Executive Summary
      • Reactive Networking (RxNetworking) Configuration
      • DataBinding library
  • Global Data Discovery
    • Concept
    • Domain Model
  • References
    • See also
Powered by GitBook
On this page
  • Getting Started
  • Current release
  • Contributing
  • Running tests
  • See also

Was this helpful?

Edit on GitHub
  1. Reactive Communication
  2. Reactive Networking of Semantic-Data Library

Encoding Library

PreviousDataSet and Communication Channel AssociationNextGetting Started Tutorial

Last updated 2 years ago

Was this helpful?

Getting Started

This library is a loosely coupled part of the ReferenceApplication described in the section . The main purpose of this library is the interoperability testing and diagnostic.

It provides UAOOI.Networking.SemanticData.IEncodingFactory limited implementation in the class EncodingFactoryBinarySimple. Using this implementation the library can encode/decode only simple data types. The ReferenceApplication uses implementation of this class for late binding to inject dependency on the encoding functionality.

The implementation of the UAOOI.Networking.SemanticData.Encoding.IUADecoder interface is provided by the UABinaryDecoderImplementation. The implementation of the UAOOI.Networking.SemanticData.Encoding.IUAEncoder interface is provided in the UABinaryEncoderImplementation;

This UpdateValueConverter method is responsible to lookup a dictionary containing value converters and if any assigns it to IBinding.Converter property. This method doesn't support this functionality and left the property unassigned.

This library may be easily replaced by a custom one - change the composition contract in:

  • UAOOI.Networking.DataLogger.LoggerManagementSetup

  • UAOOI.Networking.SimulatorInteroperabilityTest.SimulatorDataManagementSetup

Current release

This library has been released as the NuGet package .

Main purpose of this release is to support implementation of the interoperability tests defined by the OPC Foundation. In the production environment, you may simply replace this library by a custom one providing unlimited encoding functionality.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Consider expanding functionality in this library by implementing the methods in classes: UABinaryDecoderImplementation and UABinaryEncoderImplementation.

Running tests

The library is not Unit Tested.

See also

Reference Application Graphical User Interface
UAOOI.Networking.Encoding
Reference Application Graphical User Interface
Reference Application Consumer - Data Logger
Reference Application Producer - Interoperability Test Data Generator