Skip to Content
EngineArchitektur

Architektur

Die Engine folgt einer strikten Schichtenarchitektur. Jede Schicht kommuniziert nur mit der direkt darunterliegenden Schicht.

Schichtenarchitektur

Schicht-Beschreibungen

SchichtVerantwortung
EngineServerExpress-App, Socket.IO, Middleware-Stack, CORS, Security-Header
RouterRouting-Konfiguration, Worker-Prozess-Management
APIREST-Controller (HTTP-Endpunkte), API-Services (Geschaeftslogik-Delegation)
CoreBPMN-Element-Handler, Prozessausfuehrung, Event-Handling
InfrastrukturDatenbank-Adapter, Event-System, Extension-Loading, Auth

Request-Flow

Ein HTTP-Request durchlaeuft den Middleware-Stack und wird an den zustaendigen Worker-Prozess delegiert:

Worker-Prozesse

Die Engine trennt Lese- und Schreiboperationen in separate Worker-Prozesse fuer bessere Performance und Isolation:

Der Runtime Worker verarbeitet alle schreibenden Operationen (Prozess starten, Task abschliessen). Der Query Worker verarbeitet alle lesenden Operationen (Prozessinstanzen auflisten, Details abrufen).

Event-System

Der EventAggregator ist das zentrale Kommunikationssystem der Engine. Er verteilt Events In-Process ueber ein Pub/Sub-System.

Event-Patterns

PatternMethodeBeschreibung
Work QueuepublishToWorkQueue()Competing Consumers — nur ein Subscriber erhaelt die Nachricht
Topic mit Routing KeypublishToTopicWithRoutingKey()Pub/Sub mit Routing — Nachrichten werden nach Key gefiltert
BroadcastpublishToBroadcast()Alle Subscriber erhalten die Nachricht
InternalpublishInternal()Immer In-Process