OPC UA Middleware Architecture

Industrial-Grade Design

Architecture-first implementation of IEC 62541, driven by OPC UA information modeling.

OPC UA Middleware Architecture Overview

The OPC UA middleware architecture implemented in OOUAMiddleware is designed for long-term industrial scalability, strict IEC 62541 compliance, and semantic information modeling. OPC UA enables interoperability at scale — but only when implementations preserve architectural consistency. In real industrial deployments, interoperability fails when systems rely on shortcuts, hard-coded structures or ad-hoc data mapping.
OpenOpcUa is built with an architecture-first philosophy: strict alignment with IEC 62541, clear separation between information modeling and application logic, and a runtime designed to evolve without structural redesign. This architecture is designed to support complete industrial OPC UA platforms integrating modeling, connectivity, data acquisition, and historical storage within a unified execution core.

OPC UA Middleware Architecture Overview Layered overview showing semantic modeling, runtime core, extension interfaces, and industrial integration. Information Modeling Domain Model (UML / Method) NodeSet XML / Companion Specs Explicit semantics & constraints Auditable, evolvable structure Model drives AddressSpace OOUA Runtime Core IEC 62541 service compliance SecureChannel & Sessions Subscriptions & Monitoring AddressSpace execution engine Stable execution layer Industrial Extensibility Modular add-ins via VPI / VFI VPI / VFI extension interfaces without breaking core integrity Industrial connectivity modules Archiving / integration back-ends Clear separation: Domain Model ↔ Runtime Engine ↔ Extensions

A clear separation between modeling, runtime execution, and controlled industrial extensibility (VPI/VFI).

This architecture is implemented in OOUAMiddleware.

Information Modeling Drives Runtime Behavior

OOUAMiddleware adapts to industrial domain requirements through OPC UA information modeling. Domain-specific semantic structures are defined using standardized information models, either based on official OPC Foundation Companion Specifications or produced through a structured modeling methodology.
These models become the primary driver of the AddressSpace and govern how data is exposed, validated, extended and maintained over time.

NodeSet-Driven Dynamic Modeling

Instead of hard-coding business structures into the server, OpenOpcUa relies on NodeSet definitions to instantiate and evolve the AddressSpace dynamically. This approach ensures that the semantic structure remains explicit, auditable and compliant — while keeping application logic independent of the OPC UA core.

Model NodeSet and Deployment NodeSet loaded by the Runtime A Model NodeSet (types) is instantiated into a Deployment NodeSet (instances). The Runtime loads both to materialize and execute the AddressSpace. Model NodeSet → Deployment NodeSet → Runtime execution Differentiator: the Runtime loads Model NodeSets + Deployment NodeSets to execute the AddressSpace (no compile step). Model NodeSet (Types) Information Model, types & semantics • Companion Specifications • Constraints • Auditable type definitions Deployment NodeSet (Instances) Concrete objects, nodes & references • Instantiated graphs • Site specifics • Evolves without recompiling Instantiate (from Types) Runtime Loads Model NodeSets + Deployment NodeSets • NodeSet loader • AddressSpace materialization • IEC 62541 services • Stable execution & integrity loaded loaded Unlike SDK-centric approaches, the AddressSpace is runtime-driven from loaded NodeSets (types + instances).

The Runtime loads Model NodeSets (types) and Deployment NodeSets (instances) to materialize and execute the AddressSpace — without a compile step.

Clear Separation Between Domain Model and Runtime Engine

The architecture enforces a strict separation between the domain model and the runtime execution engine. The semantic model defines industrial structure, relationships, and constraints, while the runtime core ensures service compliance, performance, security, and session management. This separation is fundamental in a robust OPC UA middleware architecture: it allows the industrial logic to evolve independently from the communication stack. By decoupling semantic modeling from runtime services, OOUAMiddleware guarantees maintainability, architectural clarity, and long-term scalability in complex industrial environments. Data acquisition and historical persistence are architecturally integrated components of the middleware, not external add-ons.

NodeSet and Companion Specifications Integration

A core strength of this OPC UA middleware architecture lies in its native integration of NodeSet-based information modeling. Industrial systems rarely operate with generic data structures; they rely on domain-specific semantic models defined either through proprietary methodologies or official OPC Foundation Companion Specifications. OOUAMiddleware dynamically instantiates AddressSpace structures from NodeSet XML definitions, ensuring strict alignment with IEC 62541 modeling principles. This allows the platform to support industry standards such as PackML, Machine Tools, Robotics, or Energy models without altering the core runtime. The result is a semantically consistent and evolution-ready industrial information model.

Modular Extensibility Without Breaking Compliance

Industrial environments demand extension points: connectivity, archiving, domain rules and integration patterns. OpenOpcUa provides a modular add-in architecture (VPI / VFI) to extend functionality while preserving core consistency and long-term maintainability.
This modular approach keeps the runtime stable while enabling controlled evolution of industrial capabilities. The architecture allows structured integration of industrial communication drivers and data interfaces without fragmenting the middleware core.

Modular Extension Through VPI and VFI Mechanisms

Industrial environments demand adaptability. OOUAMiddleware implements a modular extension system based on VPI (Virtual Process Interface) and VFI (Virtual Function Interface) mechanisms. These allow the integration of data acquisition modules, protocol connectors, archiving systems, or business-specific processing layers without modifying the core engine. This modular approach ensures that the OPC UA middleware architecture remains stable while evolving functionally. Instead of embedding industrial logic into the communication layer, extensions are cleanly encapsulated, preserving structural coherence and compliance with IEC 62541 principles.

Modular Extension via VPI and VFI VPI for protocol extensions, VFI for archival back-ends, with Lua scripting inside the core. Modular Extensibility Without Breaking Compliance OOUACoreServer • IEC 62541 services • Security / Sessions • Subscriptions • AddressSpace engine Lua engine VPI Virtual Protocol Interface VFI Virtual File Interface Connectivity Modules Protocol drivers / adapters Domain Extensions Business logic via VPI add-ins Archiving Back-ends SQL / files / pipelines Extensions are encapsulated — runtime core integrity preserved

VPI and VFI provide explicit extension ports, while the OOUACoreServer keeps IEC 62541 service integrity — Lua enables evolutive domain behavior.


According to the OPC Foundation, OPC UA provides a platform-independent service-oriented architecture for industrial interoperability.

Built for Industrial Constraints

  • Long lifecycle deployments
  • Runtime stability and deterministic behavior
  • Scalable AddressSpace and subscriptions
  • Redundancy and resilience patterns
  • Security aligned with the OPC UA model

Difference Between an SDK and a True OPC UA Middleware Architecture

Unlike lightweight SDKs that primarily expose APIs to implement OPC UA communication, an OPC UA middleware architecture provides a complete, structured execution environment. An SDK typically focuses on protocol access — encoding, decoding, services, sessions — leaving architectural decisions, information modeling, lifecycle management, and scalability entirely to the developer. In contrast, OOUAMiddleware integrates modeling, runtime services, extensibility mechanisms, and industrial robustness within a coherent architectural framework. It is not a toolkit; it is a fully structured middleware layer designed to support long-term industrial deployments without structural redesign.

Through this architecture, OpenOpcUa enables the construction of full industrial OPC UA platforms while preserving strict architectural integrity and long-term maintainability.

Discuss an Architecture Baseline

If you are defining a domain-specific model, integrating Companion Specifications or designing a multi-system OPC UA architecture, a structured technical discussion helps preserve semantic consistency and long-term interoperability.

Technical Sponsorship