BPMN-Elemente
Die ProcessCube® Engine unterstützt eine umfassende Palette von BPMN 2.0 Elementen.
Unterstützte Elemente
| Kategorie | Elemente |
|---|---|
| Activities | UserTask, ServiceTask, ScriptTask, ManualTask, ExternalTask, CallActivity, SubProcess, SendTask, ReceiveTask, BusinessRuleTask, UntypedTask |
| Gateways | Exclusive, Parallel (Split/Join), Inclusive (Split/Join), Event-Based |
| Start Events | None, Message, Signal, Timer, Error |
| End Events | None, Error, Message, Signal, Terminate, Escalation |
| Intermediate Catch | Message, Signal, Timer, Link, Conditional |
| Intermediate Throw | Message, Signal, Link, Escalation |
| Boundary Events | Error, Message, Signal, Timer, Conditional, Escalation |
Handler-System
Jedes BPMN-Element wird durch einen spezialisierten Handler verarbeitet. Die FlowNodeHandlerFactory wählt anhand des bpmnType und eventType den richtigen Handler.
Activities
Alle Activity-Typen (UserTask, ServiceTask, ScriptTask, ManualTask, ExternalTask, CallActivity, SubProcess, SendTask, ReceiveTask, BusinessRuleTask, UntypedTask) werden durch den ActivityHandler verarbeitet.
Gateways
| Gateway | Verhalten |
|---|---|
| Exclusive Gateway | Wertet Bedingungen aus und folgt genau einem Pfad |
| Parallel Gateway (Split) | Dupliziert den Token — jeder ausgehende Pfad erhaelt eine Kopie |
| Parallel Gateway (Join) | Wartet bis alle eingehenden Token angekommen sind |
| Inclusive Gateway (Split) | Folgt allen Pfaden deren Bedingung erfuellt ist |
| Inclusive Gateway (Join) | Wartet auf alle aktiven eingehenden Pfade |
| Event-Based Gateway | Wartet auf das erste eintretende Event |
Start Events
| Event-Typ | Beschreibung |
|---|---|
| None | Standard-Start, wird manuell oder per API ausgeloest |
| Message | Startet bei Empfang einer bestimmten Message |
| Signal | Startet bei Empfang eines bestimmten Signals (Broadcast) |
| Timer | Startet zeitgesteuert (Cron, Datum, Intervall) |
| Error | Startet bei einem Fehler in einem Event-SubProcess |
End Events
| Event-Typ | Beschreibung |
|---|---|
| None | Standard-Ende, Prozess wird normal beendet |
| Error | Loest einen BPMN-Fehler aus (kann von Boundary Events gefangen werden) |
| Message | Sendet eine Message beim Beenden |
| Signal | Sendet ein Signal beim Beenden (Broadcast) |
| Terminate | Beendet die gesamte Prozessinstanz sofort |
| Escalation | Loest eine Eskalation aus |
Boundary Events
Boundary Events sind an Activities angeheftet und reagieren auf Ereignisse waehrend der Ausfuehrung:
| Event-Typ | Beschreibung |
|---|---|
| Error | Faengt BPMN-Fehler der Activity ab |
| Message | Reagiert auf eine eingehende Message |
| Signal | Reagiert auf ein eingehendes Signal |
| Timer | Reagiert nach einer bestimmten Zeit oder zu einem Zeitpunkt |
| Conditional | Reagiert wenn eine Bedingung erfuellt ist |
| Escalation | Faengt Eskalationen ab |
Boundary Events koennen unterbrechend (interrupting) oder nicht-unterbrechend (non-interrupting) sein. Unterbrechende Events beenden die Activity, nicht-unterbrechende laufen parallel weiter.