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
  • Introduction
  • Architecture
  • How to: Get Started
  • Application Installation
  • Version History
  • Prerequisites
  • Troubleshooting
  • See also

Was this helpful?

Edit on GitHub
  1. Reactive Communication

Walk-through ReferenceApplication

PreviousGetting Started TutorialNextReferenceApplication Utilities

Last updated 2 years ago

Was this helpful?

Introduction

The topics contained in the document are intended to give you quick exposure to the OOI Reactive Application network-based data exchange programming experience. Working through this tutorial gives you an introductory understanding of the steps required to customize existing OOI Reactive Application.

This project is aimed at implementation of an example of the OOI Reactive Application supporting producer and consumer roles simultaneously. The purpose of the ReferenceApplication is to demonstrate the concepts and architecture of the reactive networking application implementation, rather than to necessarily provide a realistic scenario for its use. For more extensive examples, see the .

The ReferenceApplication hosts parts offering Producer and Consumer functionality. Both roles are implemented as independent threads that have a common graphical user interface (GUI) for diagnostic and configuration purpose.

The Producer sends messages containing the fields defined in the configuration file using UDP communication stack. The values are simulated. The Consumer is configured to receive these messages from the UDP protocol stack. The Consumerto correctly decode the messages must have configuration defining the same set of fields. The data is encoded using Variant encoding.

The detailed description of the Consumer is covered by the document . The detailed description of the Producer is covered by the document .

Each role uses independent configuration file. The detailed description of the configuration maintenance is captured in the document .

Architecture

The diagram below presents main parts making up the ReferenceApplication - an example application compliant with the Object Oriented Internet concept.

  • ReferenceApplication: Reactive Networking of Semantic-Data Library WPF GUI layer - it exposes the startup entry point to the runtime environment.

  • DataLogger: is an example of the Consumer part of the ReferenceApplication.

  • SimulatorInteroperabilityTest: Producer implementation of a data generator to be used for testing purpose.

  • UDPMessageHandler: proprietary UDP IMessageHandlerFactory implementation.

  • Encoding: IEncodingFactory functionality implementation limited to encoding simple data types for the testing purpose only.

  • ReferenceApplication.Core: this library provides an implementation of a core functionality required by the ReferenceApplication and all its components that are helpful in writing well-structured and maintainable applications.

How to: Get Started

Application Installation

Version History

Prerequisites

By design, thi library depends on a logger functionality implementing the interface


UAOOI.Common.Infrastructure.Diagnostic.ITraceSource

If the CommonServiceLocator is not available a default logger (do nothing) is used.

Troubleshooting

The log file UANetworkingReferenceApplication.log captures output messages from some public methods of the Socket, TcpListener, TcpClient, and Dns classes. To find the log file location click the Actions.Open Configuration folder menu entry.

See also

SemanticData: Reactive Networking of Semantic-Data Library library based on .

The application is located on the GitHub at and maintained as the project Networking.ReferenceApplication of the solution UAObjectOrientedInternet.sln.

The current binary release containing ready to use application is available on the repository page. Download and run the downloaded .exe file to unzip the content to selected folder. Now you may run the application file UAOOI.Networking.ReferenceApplication.exe to get started.

Detailed description is available in file

defined in the UAOOI.Common.Infrastructure package. It is used to trace the behavior of libraries at run-time. To get an instance implementing this interface the CommonServiceLocator is used. The functionality required by the CommonServiceLocator has to be provided by the hosting application. Usually, it is provided by the composition container that is built at the application bootstrap stage. To get more visit this library home page .

For the diagnostic purpose, the application supports network transfer tracing that provides access to information about method invocations and network traffic generated by the application. This feature is useful for debugging applications under development as well as for analyzing deployed applications. The output provided by network tracing is customizable to support different usage scenarios at development time and in the production environment. Traces are to publish specific messages that are generated during application execution. To learn more about a configuration of the tracing visit the documentation at .

OPC UA Part 14 Pub/Sub
OPC-UA-OOI
Releases
ReadMe.txt
Microsoft.Practices.ServiceLocation at GitHub
Network Tracing in the .NET Framework
Microsoft.Practices.ServiceLocation at GitHub
Network Tracing in the .NET Framework
Getting Started Tutorial
Semantic-Data Processing Architecture
ReferenceApplication Consumer - Data Logger
ReferenceApplication Producer - Interoperability Test Data Generator
UA Data Networking Configuration
ReferenceApplication Architecture 4.0.0