Skip to content

Platform Architecture

Distributed Microservice Design

InteriaLib runs as a distributed system of 4 coordinated servers, all working together within and alongside the WinCC OA runtime. We designed this architecture to bridge the gap between WinCC OA's traditional synchronous model and modern web-based tooling.

graph TD
    subgraph WinCC_OA["WinCC OA Runtime"]
        EWO["14 EWO Widgets"]
        XML["80+ XML Panels"]
        DP["DP System"]
        REST["REST API Server<br/>port 8080 · 60+ endpoints · 5 domains"]
        EWO --> REST
        XML --> REST
        DP --> REST
    end

    REST --> GW["Application Gateway<br/>port 3000 · Proxy + UI"]
    REST --> ME["Manual Engine<br/>port 8083"]
    REST --> KG["Knowledge Graph API<br/>port 8090"]
    REST --> TE["Tutorial Engine<br/>Python"]

    GW --> ED["3 Visual Node Editors"]
    ME --> PG["PostgreSQL<br/>12 tables"]
    KG --> N4["Neo4j Graph"]

    style WinCC_OA fill:#1a1a2e,stroke:#4a6fa5,stroke-width:2px,color:#fff
    style REST fill:#4a6fa5,stroke:#fff,color:#fff
    style GW fill:#2d6a4f,stroke:#fff,color:#fff
    style ME fill:#7b2d8e,stroke:#fff,color:#fff
    style KG fill:#e07b39,stroke:#fff,color:#fff
    style TE fill:#2196f3,stroke:#fff,color:#fff
    style ED fill:#2d6a4f,stroke:#b7e4c7,color:#fff
    style PG fill:#7b2d8e,stroke:#d4a5e0,color:#fff
    style N4 fill:#e07b39,stroke:#f5c28a,color:#fff
    style EWO fill:#334155,stroke:#94a3b8,color:#fff
    style XML fill:#334155,stroke:#94a3b8,color:#fff
    style DP fill:#334155,stroke:#94a3b8,color:#fff

Design Philosophy

Centralized Intelligence, Distributed Execution.

Every module in InteriaLib is designed to both produce and consume shared knowledge. When a menu item is created in the node editor, the knowledge graph indexes it, the manual engine documents it, and the tutorial system can guide users to it — all automatically.

Why 4 Servers?

Managing multiple backend services (REST API, databases, AI engine, documentation) from a single monolithic process would create complexity and fragility. We built a lightweight Application Gateway (port 3000) that unifies everything — routing requests to the right backend, serving all visual editors, and providing a consistent API surface. This single architectural decision unlocked the entire web-based tooling ecosystem.

The REST API Layer

The core REST API on port 8080 exposes 60+ endpoints organized into 5 domains:

Domain Endpoints Purpose
Datapoints 12 Read/write real-time process data
Menu 6 Menu structure CRUD and navigation
PARA 18 Datapoint type management and configuration
Manual 15 Documentation generation and versioning
Plants 25+ Plant hierarchy, discovery, sequences, conditions

Every visual editor, every viewer, and every automated process communicates through this unified API layer — creating a single, consistent interface to the entire WinCC OA system.