Architektur
Die Engine folgt einer strikten Schichtenarchitektur. Jede Schicht kommuniziert nur mit der direkt darunterliegenden Schicht.
Schichtenarchitektur
Schicht-Beschreibungen
| Schicht | Verantwortung |
|---|---|
| EngineServer | Express-App, Socket.IO, Middleware-Stack, CORS, Security-Header |
| Router | Routing-Konfiguration, Worker-Prozess-Management |
| API | REST-Controller (HTTP-Endpunkte), API-Services (Geschaeftslogik-Delegation) |
| Core | BPMN-Element-Handler, Prozessausfuehrung, Event-Handling |
| Infrastruktur | Datenbank-Adapter, Event-System, Extension-Loading, Auth |
Event-System
Der EventAggregator ist das zentrale Kommunikationssystem der Engine. Er verteilt Events In-Process ueber ein Pub/Sub-System.
Event-Patterns
| Pattern | Methode | Beschreibung |
|---|---|---|
| Work Queue | publishToWorkQueue() | Competing Consumers — nur ein Subscriber erhaelt die Nachricht |
| Topic mit Routing Key | publishToTopicWithRoutingKey() | Pub/Sub mit Routing — Nachrichten werden nach Key gefiltert |
| Broadcast | publishToBroadcast() | Alle Subscriber erhalten die Nachricht |
| Internal | publishInternal() | Immer In-Process |