Skip to Content
EngineErweiterungenÜbersicht

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

TypRegistrierungBeschreibung
Event MiddlewareregisterEventMiddleware()Beobachtet und modifiziert Engine-Events. Kann die Prozessausführung beeinflussen.
Custom Service TaskregisterCustomServiceTask()Registriert eigene Service-Task-Implementierungen für bestimmte Topics.
Custom HTTP RouteregisterHttpRoute()Fügt eigene REST-Endpunkte zur Engine hinzu.
User Task AssignmentregisterUserTaskAssignmentResolver()Definiert Logik zur automatischen Zuweisung von User Tasks.
Custom Event BusregisterCustomEventBus()Ersetzt den internen EventAggregator durch einen externen Message-Broker (z.B. RabbitMQ).

Verfügbare Erweiterungen

Service Tasks

ExtensionBeschreibung
Mail ServiceE-Mail-Versand (SMTP) aus Prozessen als Custom Service Task

Messaging

ExtensionBeschreibung
RabbitMQ-MessagebusEngine-Messagebus über RabbitMQ (AMQP)
MQTTEngine-Messagebus über MQTT (v5)
Azure Service BusEngine-Messagebus über Azure Service Bus
HTTP-MessagebusSignal-/Message-Transport über HTTP (in- und outbound)

Fehlerbehandlung, Logging & Monitoring

ExtensionBeschreibung
Error HandlingGlobale Fehlerbehandlung mit automatischem Fehlerprozess
LoggingEngine-Events über AMQP/RabbitMQ ausleiten
MonitoringMonitoring-API, Prometheus-Metriken und weitere Backends (Datadog, InfluxDB, …)

Benachrichtigung & Zuweisung (Core-Hooks)

ExtensionBeschreibung
Notification HandlerBenachrichtigungen aus Prozessen
User Task AssignmentErweiterte User-Task-Zuweisung

Nativ statt Extension

Einige Funktionen waren früher Extensions und sind inzwischen fest in die Engine integriert. Die jeweilige Extension wird dadurch abgelöst — nutze die native Variante:

FunktionNative DokumentationStatus der Extension
HTTP Service TaskBPMN-Element in der Engine (Felder url, method, body, contentType, authorization, headers)abgelöst — seit Engine v20.x wieder nativ
MCP-Server/engine/mcp (mcp.enabled)wird abgelöst — native Variante verwenden

Für neue Projekte immer die native Variante verwenden. Die entsprechenden Extensions (http_service_task, mcp) werden nicht mehr als Erweiterungen dokumentiert.

Eigene Extensions entwickeln

Ein einfaches Beispiel finden Sie in der Dokumentation:

Simple Sample Extension →