Table of Contents

KNet for OPC (KNetOPC) powered by OPC-UA

KNet for OPC (KNetOPC): OPC-UA suite for Apache Kafka™

Connect your OPC-UA infrastructure to Apache Kafka™ — without writing a single line of broker code.

KNet for OPC (KNetOPC) is a production-ready OPC-UA suite for Apache Kafka™ that turns any OPC-UA server into a real-time event stream. It ships as standard Kafka Connect plugins, integrates into your existing Kafka infrastructure in minutes, and gives .NET teams a direct path from industrial data to strongly-typed application code — with no custom consumer plumbing required.

Note

KNet for OPC (KNetOPC) is built on KNet: a comprehensive .NET suite for Apache Kafka™ that provides direct access to all Apache Kafka™ APIs — Producer, Consumer, Admin, Streams, Connect, and KRaft backend support. KNetOPC uses KNet client-side features, which communicate with the broker exclusively through the Kafka wire protocol and are therefore compatible with any broker that implements it — see Backend compatibility below.


What KNetOPC provides

KNetOPC is composed of four components that can be deployed independently or combined into a complete OT/IT integration pipeline:

Component What it does
Source Connector Subscribes to any OPC-UA server and streams change notifications into one or more Kafka topics — with configurable encoding (JSON, XML, Binary), per-node topic routing, and multi-task parallelism.
Sink Connector Receives commands from a Kafka topic, executes them on an OPC-UA server (Read, Write, Call, and more), and publishes the response to a separate reply topic — enabling full request/response interaction with the OPC-UA server over Kafka.
Predicates Filter change notifications at the connector level — before they reach the broker — using built-in OPC-UA–aware conditions (status code, value range, staleness). No broker-side filtering required.
KEFCore integration An optional transformation layer that converts OPC-UA source records into the format consumed by KEFCore — the Entity Framework Core provider for Apache Kafka™. .NET developers can then query live OPC-UA data using standard LINQ, with no Kafka consumer code.
Client library The NuGet package MASES.KNet.OPC.Client provides two complementary classes: KNetOPCSinkClient (implements ISessionClient over the Sink connector for request/response OPC-UA operations) and KNetOPCSourceClient (consumes MonitoredItemNotification records from the Source connector topic). Together they cover the full OPC-UA interaction model over Kafka.

Who KNetOPC is for

OT/IT architects and integration engineers get a standards-based bridge between their OPC-UA plant floor and the enterprise event backbone — deployed as a Kafka Connect plugin, managed through the standard Connect REST API, and compatible with any Kafka-protocol broker.

.NET development teams get an optional higher-level layer: with KEFCore integration, OPC-UA data becomes a typed EF Core data source. Combined with ASP.NET Core SignalR, the same pipeline can drive live dashboards and real-time UIs directly from plant data, with no additional middleware.


Backend compatibility

KNetOPC uses the official Apache Kafka™ Java client packages directly through KNet client-side features. Client-side features — Producer, Consumer, Admin Client, Kafka Streams, KNet Streams SDK, KNet Connect SDK — communicate with the broker exclusively through the Kafka wire protocol and are therefore compatible with any broker that implements it, not only Apache Kafka™ itself.

This means KNetOPC works out of the box with: Redpanda, Amazon MSK, Confluent Platform / Cloud, Aiven for Apache Kafka™, IBM Event Streams, WarpStream, AutoMQ, and others — no vendor lock-in.

See Supported Backends for the full compatibility matrix.


Compatibility

The table below shows the supported combinations of Apache Kafka™ version, coordinator mode, Kafka Connect deployment mode, and .NET runtime.

Apache Kafka™ Coordinator Connect mode .NET runtime KEFCore integration
3.9.x ZooKeeper Standalone, Distributed .NET 8, .NET 10, .NET Framework .NET 8, .NET 10
3.9.x KRaft Standalone, Distributed .NET 8, .NET 10, .NET Framework .NET 8, .NET 10
4.x.x KRaft only Standalone, Distributed .NET 8, .NET 10, .NET Framework .NET 8, .NET 10
Note

Apache Kafka™ 4.x removes ZooKeeper entirely. KRaft is the only supported coordinator mode from Kafka 4.0 onwards.

Note

KEFCore integration requires .NET 8 or .NET 10. .NET Framework is supported for the connectors and predicates only.


Professional support

MASES Group can support your team at every stage of an OPC-UA / Kafka integration project — from architecture design to production deployment. See Professional support for the full range of services available.


Documentation


Runtime engine

KNetOPC uses KNet, and therefore JCOBridge with its features, to run the JVM™ and CLR/CoreCLR in the same process — insulated from each other, communicating exclusively through JNI with no code injection and no extra network hop.

This architecture gives KNetOPC direct access to every Apache Kafka™ Java API — Producer, Consumer, Streams, Connect — exposed in idiomatic C# style. Bug fixes and new features from upstream Apache Kafka™ Java clients are available immediately, without a re-validation cycle.

Note

JCOBridge 2.6.* can be used for free without any obligations. A commercial license must be purchased — or the software uninstalled — if you derive direct or indirect income from its usage.

JCOBridge resources: Release notes · Community Edition · Commercial Edition

Latest release: JCOBridge nuget


KAFKA is a registered trademark of The Apache Software Foundation. KNet has no affiliation with and is not endorsed by The Apache Software Foundation.

MASES s.r.l. is corporate member of OPC Foundation