Erweiterungen
Extensions erweitern die Engine-Funktionalität zur Laufzeit. Sie werden beim Start aus dem extensions/-Verzeichnis geladen.
Extension-System
Jede Extension erhält beim Laden ein Engine-Objekt, über das sie sich registrieren kann:
Extension-Typen
| Typ | Registrierung | Beschreibung |
|---|---|---|
| Event Middleware | registerEventMiddleware() | Beobachtet und modifiziert Engine-Events. Kann die Prozessausführung beeinflussen. |
| Custom Service Task | registerCustomServiceTask() | Registriert eigene Service-Task-Implementierungen für bestimmte Topics. |
| Custom HTTP Route | registerHttpRoute() | Fügt eigene REST-Endpunkte zur Engine hinzu. |
| User Task Assignment | registerUserTaskAssignmentResolver() | Definiert Logik zur automatischen Zuweisung von User Tasks. |
| Custom Event Bus | registerCustomEventBus() | Ersetzt den internen EventAggregator durch einen externen Message-Broker (z.B. RabbitMQ). |
Verfügbare Erweiterungen
| Extension | Beschreibung |
|---|---|
| Error Handling | Globale Fehlerbehandlung mit automatischem Fehlerprozess |
| HTTP Service Task | HTTP-Aufrufe als BPMN Service Task |
| Mail Service | E-Mail-Versand aus Prozessen |
| Monitoring | Metriken-Export (Prometheus, Grafana, DataDog, InfluxDB) |
| User Task Assignment | Erweiterte User Task Zuweisung |
| Notification Handler | Benachrichtigungen aus Prozessen |
| RabbitMQ | Anbindung an RabbitMQ Message-Broker |
| MassTransit | Service-Bus-Kommunikation (RabbitMQ, MQTT, Azure Service Bus) |
| MCP | Model Context Protocol Integration |
Eigene Extensions entwickeln
Ein einfaches Beispiel finden Sie in der Dokumentation: