Erstellen eines exemplarischen Prozesses in einer BPMN-Datei
Für den Einstieg in das Modellieren eigener Prozesse ist es hilfreich, wenn Sie zunächst einen einfachen Prozess beispielhaft erstellen. Voraussetzung für das Modellieren eigener Prozesse sind eingerichtete Benutzerrollen. Außerdem benötigen Sie einen Text- oder BPMN-Editor mit XML-Ansicht und ein Tool zum Aufrufen einer REST-API.
Ein einfacher Prozess sieht beispielsweise so aus:
![]() |
Erstellen Sie zum Modellieren Ihres eigenen Prozesses zunächst folgendes Grundgerüst in Ihrer BPMN-Datei:
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" targetNamespace="" exporter="d.velop process modeler"> <process> <startEvent /> <sequenceFlow /> <userTask /> <sequenceFlow /> <endEvent /> </process> </definitions>
Diesem Grundgerüst fügen Sie die einzelnen Prozesselemente hinzu.
Hinzufügen des Prozesselements
Das BPMN-Element process ist eine Kapsel um den gesamten Prozess. Fügen Sie dem BPMN-Element die Eigenschaften id, name und isExcecutable hinzu.
<process id="hello_world_process" name="Hello World Process" isExecutable="true">
Erläuterung der Eigenschaften
id: Die Eigenschaft wird als eindeutiger Bezeichner für den Prozess verwendet.
name: Die Eigenschaft wird als Anzeigename in den Benutzeroberflächen verwendet.
isExecutable: Die Eigenschaft muss den Wert true enthalten, damit der Prozess gestartet werden kann.
Hinzufügen eines Start- und Endereignisses
Die BPMN-Elemente startEvent und endEvent werden als Markierungen verwendet, die anzeigen, wo der Prozess beginnt und wo er endet. Fügen Sie den BPMN-Elementen jeweils die Eigenschaft id hinzu.
<startEvent id="start" /> <endEvent id="end" />
Hinzufügen einer Benutzeraktivität
Das BPMN-Element userTask stellt eine Benutzeraktivität im Prozess dar. Bei Eingang in diese Aktivität wird einem oder mehreren Benutzern eine Aufgabe zugestellt. Fügen Sie dem BPMN-Element die Eigenschaften id, name und camunda:candidateUsers hinzu.
<userTask id="task_hello_world" name="Hello World" camunda:candidateUsers="${variables.get('dv_initiator')}" />
Erläuterung der Eigenschaften
id: Die Eigenschaft dient als Bezeichner der Aktivität im BPMN-Modell und wird bei der Verbindung durch Sequenzflüsse verwendet.
name: Die Eigenschaft wird der Aufgabe als Betreff hinzugefügt.
camunda:candidateUsers: Die Eigenschaft bezieht sich auf die Person, die die Aufgabe bearbeiten soll. In der BPMN-Datei wird mit dem Ausdruck ${variables.get("dv_initiator")} eine Variable verwendet. Die Variable dv_initiator verweist immer auf die Person, die den Prozess gestartet hat. Diese Aufgabe wird also immer der Person zugestellt, die den Prozess startet.
Hinzufügen von Sequenzflüssen
Verbinden Sie die einzelnen Prozesselemente, um einen Ablauf zu erstellen. Zum Verbinden der Prozesselemente verwenden Sie das BPMN-Element sequenceFlow. Fügen Sie dem BPMN-Element die Eigenschaften id, sourceRef und targetRef hinzu.
Die beispielhafte Konfiguration in der BPMN-Datei zeigt, wie Sie das Startereignis mit der Benutzeraktivität verbinden und die Benutzeraktivität mit dem Endereignis verknüpfen:
<sequenceFlow id="s1" sourceRef="start" targetRef="task_hello_world" /> <sequenceFlow id="s2" sourceRef="task_hello_world" targetRef="end" />
Erläuterung der Eigenschaften
id: Die Eigenschaft ist ein eindeutiger Bezeichner für den Sequenzfluss innerhalb des BPMN-Modells.
sourceRef: Die Eigenschaft verweist auf den Ausgangspunkt des Sequenzflusses.
targetRef: Die Eigenschaft verweist auf das Ziel des Sequenzflusses. In dieser Eigenschaft tragen Sie die Bezeichner der zu verbindenden Elemente ein.
Nachdem Sie die einzelnen Prozesselemente hinzugefügt haben, sieht die BPMN-Datei folgendermaßen aus:
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" targetNamespace="" exporter="d.velop process modeler"> <process id="hello_world_process" name="Hello World Process" isExecutable="true"> <startEvent id="start" /> <sequenceFlow id="s1" sourceRef="start" targetRef="task_hello_world" /> <userTask id="task_hello_world" name="Hello World" camunda:candidateUsers="${variables.get('dv_initiator')}" /> <sequenceFlow id="s2" sourceRef="task_hello_world" targetRef="end" /> <endEvent id="end" /> </process> </definitions>
Hinzufügen von grafischen Informationen
Wenn Sie Ihren erstellten Prozess in einem Diagramm anzeigen möchten, können Sie der BPMN-Datei grafische Informationen hinzufügen. Diese grafischen Informationen legen die Größe des Diagramms und die Position der einzelnen Elemente fest. Die grafischen Informationen fügen Sie mithilfe des BPMN-Elements bmpndi:BPMNDiagram hinzu.
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" targetNamespace="" exporter="d.velop process modeler"> <process id="hello_world_process" name="Hello World Process" isExecutable="true"> <startEvent id="start" /> <sequenceFlow id="s1" sourceRef="start" targetRef="task_hello_world" /> <userTask id="task_hello_world" name="Hello World" camunda:candidateUsers="${variables.get('dv_initiator')}" /> <sequenceFlow id="s2" sourceRef="task_hello_world" targetRef="end" /> <endEvent id="end" /> </process> <!-- Diagram information --> <bpmndi:BPMNDiagram id="BPMNDiagram_1"> <bpmndi:BPMNPlane id="BPMNPlane" bpmnElement="hello_world_process"> <bpmndi:BPMNShape id="start_di" bpmnElement="start"> <dc:Bounds x="173" y="102" width="36" height="36" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="s1_di" bpmnElement="s1"> <di:waypoint x="209" y="120" /> <di:waypoint x="259" y="120" /> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="task_hello_world_di" bpmnElement="task_hello_world"> <dc:Bounds x="259" y="80" width="100" height="80" /> </bpmndi:BPMNShape> <bpmndi:BPMNEdge id="s2_di" bpmnElement="s2"> <di:waypoint x="359" y="120" /> <di:waypoint x="409" y="120" /> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id="end_di" bpmnElement="end"> <dc:Bounds x="409" y="102" width="36" height="36" /> </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram> </definitions>