Architectural breakdown, performance specifications, decoupled SignalR model, cross-platform capabilities, and enterprise protocol integration.
Uniflow is a high-performance, industrial-grade middleware platform designed to bridge the gap between diverse hardware protocols, enterprise software, and cloud ecosystems. It runs as a cross-platform service on Windows, Linux, and ARM64, providing a robust, scalable, and secure "connective tissue" for mission-critical data orchestration.
Uniflow solves protocol fragmentation by providing a unified data normalization layer and a powerful, low-latency visual rule engine. It enables real-time logic execution, cross-protocol translation, and centralized telemetry monitoring without custom coding for every integration.
Uniflow utilizes a decoupled, independent client-server architecture powered by SignalR over WebSockets. This maximizes engine stability, execution performance, remote scalability, and ease of multi-node management.
| Component | Responsibility | Technology Stack |
|---|---|---|
| Uniflow Service | Headless background engine executing device polling, data normalization, and graph rule evaluation. Can run as multiple standalone nodes across network hosts. | .NET 8.0, C#, Windows Service / Linux systemd daemon |
| Uniflow Independent GUI | Fluent administration UI for visual graph design, source creation, and live telemetry monitoring. Connects seamlessly to single or multiple remote Service instances. | .NET 8.0, Fluent UI / WinForms Shell, WebView2 (D3.js Topology Engine) |
| Network / IPC Layer | High-speed communication bridge between GUI clients and Service instances, enabling local IPC or secure remote network administration. | SignalR (WebSockets / RPC Commands & Real-Time Push Streams) |
+-------------------------------------------------------------------+
| Uniflow Independent Administration GUI |
| +-------------------+ +-------------------+ +---------------+ |
| | WinForms/WPF UI | | Topology View | | Rule & Source | |
| | Fluent Shell | | | | Configuration | |
| +-------------------+ +-------------------+ +---------------+ |
| | |
| SignalR Client Manager |
+-------------------------------------------------------------------+
||
SignalR WebSockets (RPC & Push)
||
+-------------------------------------------------------------------+
| Uniflow Background Service (Instance N) |
| +------------------+ +-------------------+ +-----------------+ |
| | SignalR Hub | | Rule Runtime Coord| | Storage Registry| |
| +------------------+ +-------------------+ +-----------------+ |
| | |
| Plugin Manager (ALC Sandbox) |
| +--------------+---------------+--------------+ |
| | | | | |
| Modbus/OPC UA MQTT/Cloud SNMP/Network VMS/Security |
+-------------------------------------------------------------------+
The decoupled GUI and Service engine communicate over SignalR WebSockets, allowing transparent local or remote network connections:
Rather than relying on a monolithic adapter codebase, Uniflow uses a dynamically loaded Plugin
Architecture. Each protocol adapter (Modbus, OPC UA, SNMP, MQTT, File Access, ONVIF, etc.)
is built as an independent assembly isolated within custom .NET AssemblyLoadContext
sandboxes.
Every incoming telemetry signal—regardless of whether it originates from a Modbus PLC register, an SNMP OID, an MQTT JSON payload, or an Avigilon VMS alarm—is normalized into a strongly typed format. This allows visual rules to process data generically without protocol-specific branching.
Plugins support dynamic address space browsing out of the box. Users can discover OPC UA node trees, query SNMP MIB OID structures, browse local and network file paths, or inspect Modbus address maps directly from the UI visual catalog.
The Uniflow rule engine evaluates logic as a visual Directed Acyclic Graph (DAG):
While the execution coordinator dispatches independent workloads across .NET ThreadPool threads in parallel, rules bound to the same triggering event are executed in a strict, user-configurable priority order. This prevents race conditions and ensures predictable system behavior.
Cooldown (ms) and Debounce (ms) controls to prevent hammering
physical PLCs or external APIs with rapid control bursts.To bridge legacy industrial hardware with modern cloud endpoints, Uniflow includes dynamic JSON object
processing nodes. The engine automatically flattens deeply nested JSON structures into strongly typed
visual properties, supporting full JSONPath expression extraction and canvas-level JSON
serialization/deserialization.
Security is built directly into Uniflow's protocol implementations to ensure compliance with enterprise and critical infrastructure standards:
| Protocol Layer | Security Mechanisms Implemented |
|---|---|
| SNMP v3 | User-based Security Model (USM) with SHA-256 authentication and AES-256 privacy encryption. |
| OPC UA | Certificate-based client/server authentication with Sign & Encrypt transport layer security (Basic256Sha256 / Aes128_Sha256_RsaOaep). |
| MQTT / IoT | TLS 1.2 and TLS 1.3 transport security with X.509 client certificate authentication. |
| SignalR IPC | Encrypted WebSockets with JWT token authentication for remote GUI connection management. |
Uniflow's independent GUI provides a live view of system topology using a high-performance **D3.js graph engine** embedded inside a **WebView2** host container:
Uniflow supports two primary deployment topologies, which can be deployed individually or combined in enterprise environments:
Translates data in real time between incompatible protocols and system layers without requiring an intermediate database or SCADA host.
Example: Converting Modbus PLC holding registers to MQTT JSON payloads and publishing them directly to AWS IoT SiteWise or Azure IoT Hub.
Ingests telemetry from dozens of disparate hardware sources, normalizes the data, and exposes the aggregated dataset under a single standard interface.
Example: Collecting telemetry from SNMP network switches, Serial sensors, and HTTP endpoints, and hosting all points under a centralized OPC UA Server node space for a master SCADA system.
Uniflow provides native out-of-the-box support for over 29 industrial, IT, IoT, building automation, and physical security plugins:
| Category | Supported Plugins | Primary Capabilities |
|---|---|---|
| Industrial Automation | Modbus TCP (Client & Server), OPC UA (Client & Server), CAN Bus | Register polling/hosting, node browsing, raw CAN frame parsing with Vector .DBC
files. |
| Building Automation | BACnet Agent, BACnet Walker | BACnet IP device discovery, object property reading, and BACnet service hosting. |
| Networking & IT | SNMP (Walker & Agent v2c/v3), HTTP Client, WebHook Server, TCP Client, Signal Generator | OID polling, trap receiving, REST API integration, webhook ingestion, raw TCP socket bridging. |
| IoT & Cloud | MQTT Client (Pub/Sub) | TLS encrypted telemetry streaming, topic subscription, payload formatting. |
| Physical Security / VMS | Avigilon VMS, Milestone VMS, Hexagon Lidar, SIA Receiver, SIA Agent | VMS alarm/motion event ingestion, PTZ trigger control, Lidar perimeter tripwire detection, SIA alarm receiver processing. |
| Storage & Databases | DBLink (SQL Server, MySQL, SQLite, PostgreSQL), File Access, FTP Client | Database query/insert execution, local file read/write, automated remote FTP file transfers. |
| Hardware & Peripherals | Serial Port (RS-232/RS-485), Image Processors, Bluetooth BLE, Kisan CM, Scheduler | Direct COM port data streaming, optical image processing, BLE beacon scanning, cron/time-based scheduled automation. |