BPMN-Modellstruktur der Engine
Diese Seite beschreibt das geparste BPMN-Modell. Es legt fest, welche Activities, Events und Gateways die Engine ausführt. Wenn du eine Anwendung entwickelst, beginne mit Engine-Daten für Clients: Dort stehen die tatsächlichen Aufrufe, Antworten und Laufzeitinstanzen.
Vom Modell zur laufenden Instanz
BPMN-XML im Studio
↓ Parser
Prozessmodell mit FlowNodes
↓ Ausführung
ProcessInstance und FlowNodeInstance
↓ Client-Abfrage
Antwort für deine AnwendungEine UserTask im Prozessmodell und eine UserTaskInstance in einer Client-Antwort sind verschiedene Daten. Die erste beschreibt die modellierte Aufgabe. Die zweite beschreibt eine konkrete Aufgabe, die gerade auf Eingaben wartet; siehe User Tasks anzeigen und abschließen.
Gemeinsame Modellstruktur
BaseElement (id, documentation, extensionElements)
└─ FlowNode (bpmnType, name, incoming, outgoing)
├─ Activity (z. B. UserTask, ServiceTask, SubProcess)
├─ Event (Start, Ende, Catch, Throw, Boundary)
└─ Gateway (Exclusive, Parallel, Inclusive, Event-Based)bpmnType stammt vom BPMN-Element, beispielsweise bpmn:UserTask. incoming und outgoing enthalten die IDs der Sequence Flows; fehlen sie im XML, setzt der Parser leere Listen. extensionElements enthält zusätzliche Modellangaben. Diese Eigenschaften werden beim Lesen des BPMN-Modells benötigt, nicht beim Ausfüllen einer User Task.
Bei Events sind Position und Ereignisart getrennt: bpmnType kann bpmn:IntermediateCatchEvent sein, während eventType messageEvent bezeichnet. Die BPMN-Elemente erklären das Verhalten der unterstützten Kombinationen.
Beispiel: Message-Start-Event
<bpmn:message id="Message_Order" name="BestellungEingegangen" />
<bpmn:startEvent id="Start_Order" name="Bestellung empfangen">
<bpmn:messageEventDefinition messageRef="Message_Order" />
</bpmn:startEvent>Der Parser erzeugt daraus einen FlowNode mit bpmnType: 'bpmn:StartEvent', eventType: 'messageEvent' und einer messageEventDefinition für die referenzierte Message. Für das Auslösen einer Nachricht im Client ist dagegen Nachrichten und Signale senden relevant.
Typdefinitionen im Quellcode
Die vollständigen Modelltypen liegen im Engine-SDK unter ProcessModel/Model. Der Parser bestimmt, welche Werte tatsächlich aus dem XML übernommen oder ergänzt werden. Für API-Antworten und Laufzeitdaten gelten die DataModels .