Package: BPMN2Workflow
BPMN ist eine Spezifikation zur Beschreibung von Prozessen. Auf Basis solcher Definitionen kann mit diesem Modul ein Workflow erstellt werden, der die entsprechenden Aufgaben enthält. Der BPMN-Prozess muss bestimmte Bedingungen erfüllen, damit die Generierung eines Workflows funktioniert.
Bezeichnung
- Name
pm.ImportBPMN
- Aliase
CreateBPMN, CreateFromBPMN, pm.PackageCreateBPMN
Konfiguration
Gruppe: Ausgabe
Objekt für strukturierte Dokumentation (structured-docu
)
Wenn angegeben, dann werden die Informationen in der strukturierten Dokumentation des Objektes gespeichert
strukturierte Dokumentation zuvor leeren (structured-docu-reset
)
Wenn gesetzt, dann wird die strukturierte Dokumentation des Objektes zuvor geleert
Name der strukturierten Dokumentation (structured-docu-name
)
Definiert den Namen des Reiters der strukturierten Dokumentation, die verwendet werden soll. Ist der Wert leer, dann wird die Erste genutzt.
Gruppe: Optionen
Modus (mode
)
Is gibt zwei Modi. Der erste klont die Vorlagen und schreibt die Eingabeparameter in die Objekt-Variablen. Der zweite verwemdet die Vorlagen als Actions und bindet diese direkt in den Workflow ein. Die Parameter werden als Vorgabewerte für die PromtSets gesetzt.
Mögliche Werte: Klone (
clone
), Actions (action
)
Package (package
)
Name des Package
BPMN-Datei (bpmn-file
)
Name der BPMN-Datei, die die Spezifikation des Workflows enthält
b4A Expression für Objektnamen (object-name-expression
)
Definiert die b4A Expression für die Erzeugung der Objektnamen
Standard Workflow-Name (default-workflow-name
)
Wenn die BPMN-Definition keinen Namen für den Prozess enthält, dann wird dieser Wert für den Workflow-Namen genutzt
Aufgabenstatus (task-state
)
Zu verwendender Aufgabenstatus für den Nachfolger
Mögliche Werte: ANY_ABEND (
ANY_ABEND
), ANY_ABEND_EXCEPT_FAULT (ANY_ABEND_EXCEPT_FAULT
), ANY_EXCEPT_FAULT (ANY_EXCEPT_FAULT
), ANY_OK (ANY_OK
), ANY_OK_OR_UNBLOCKED (ANY_OK_OR_UNBLOCKED
), ANY_SKIPPED (ANY_SKIPPED
), ENDED_CANCEL (ENDED_CANCEL
), ENDED_EMPTY (ENDED_EMPTY
), ENDED_ESCALATED (ENDED_ESCALATED
), ENDED_INACTIVE (ENDED_INACTIVE
), ENDED_INACTIVE_MANUAL (ENDED_INACTIVE_MANUAL
), ENDED_NOT_OK (ENDED_NOT_OK
), ENDED_NOT_OK_SYNC (ENDED_NOT_OK_SYNC
), ENDED_OK (ENDED_OK
), ENDED_OK_OR_EMPTY (ENDED_OK_OR_EMPTY
), ENDED_OK_OR_INACTIV (ENDED_OK_OR_INACTIV
), ENDED_OK_OR_UNBLOCKED (ENDED_OK_OR_UNBLOCKED
), ENDED_SKIPPED (ENDED_SKIPPED
), ENDED_SKIPPED_CONDITIONS (ENDED_SKIPPED_CONDITIONS
), ENDED_SKIPPED_SYNC (ENDED_SKIPPED_SYNC
), ENDED_TIMEOUT (ENDED_TIMEOUT
), ENDED_TRUNCATE (ENDED_TRUNCATE
), ENDED_UNDEFINED (ENDED_UNDEFINED
), ENDED_VANISHED (ENDED_VANISHED
), FAULT_ALREADY_RUNNING (FAULT_ALREADY_RUNNING
), FAULT_NO_HOST (FAULT_NO_HOST
), FAULT_OTHER (FAULT_OTHER
), USER_100_200 (USER_100_200
), USER_147 (USER_147
), USER_201_299 (USER_201_299
), USER_300 (USER_300
), USER_500_600 (USER_500_600
)
Beschreibung
BPMN (Business Process Modelling Notation) ist eine Spezifikation für Geschäftsprozesse. Enthalten ist einmal der logische Aufbau des Prozesses sowie eine Beschreibung einer grafischen Darstellung. Mit diesem Modul wird eine Funktion zur Verfügung gestellt, die es ermöglicht aus solchen Definitionen Workflows zu erstellen. Verwendet wird hierfür nur die logische Definition des Prozesses. Damit dies möglich ist müssen die BPMN-Definitionen einige Regeln einhalten. Diese werden im Folgenden beschrieben.
Bei der Umsetzung der BPMN-Definition werden die einzelnen Aufgaben in ausführbare Objekte in der Automic Automation® Plattform umgesetzt. Jede der Aufgabe basiert auf einer Automic Automation Engine®-Vorlage, die an der Aufgabe in der BPMN-Definition vermerkt werden muss. Für die Umsetzung ist es notwendig, dass die Aufgaben in der Definition bestimmte Attribute besitzen. Eine korrekte Definition einer Aufgabe sieht beispielsweise wie folgt aus.
<bpmn:serviceTask id="Task_08uxnpb" name="Generates SAP report 1 (variant 1)" camunda:modelerTemplate="de.bestblu.automic.SapReportTask">
<bpmn:documentation>Generates the SAP report1 that will be transfered to a Windows share</bpmn:documentation>
<bpmn:extensionElements>
<camunda:inputOutput>
<camunda:inputParameter name="REPORT">report1</camunda:inputParameter>
<camunda:inputParameter name="VARIANT">variant1</camunda:inputParameter>
<camunda:inputParameter name="SAP_COPY_VARIANT">true</camunda:inputParameter>
</camunda:inputOutput>
<camunda:properties>
<camunda:property name="##TEMPLATE" value="BEST4AUTOMIC.BPMN.SAP_REPORT" />
<camunda:property name="##NAME" value="%(REPORT)_%(VARIANT)" />
<camunda:property name="$$SCHEDULE_CALE" value="MON_TO_FRI" />
<camunda:property name="$$SCHEDULE_TIME" value="08:00" />
</camunda:properties>
</bpmn:extensionElements>
<bpmn:incoming>SequenceFlow_0fhtdte</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_0n0l2bj</bpmn:outgoing>
<bpmn:outgoing>SequenceFlow_1xs1spy</bpmn:outgoing>
</bpmn:serviceTask>
Jede Aufgabe wird durch ein Element ServiceTask oder Task repräsentiert. Das Attribut id muss eindeutig sein, da es zur Verknüpfung der Aufgaben genutzt wird. Dieses Verfahren entspricht dem BPMN 2.0 Standard.
Wie die Abbildung der Aufgaben im Einzelnen erfolgt hängt vom gewählten Modus ab. Die Details werden im Folgenden beschrieben.
Klonen
In diesem Modus werden die angegebenen Vorlagen kopiert um daraus die Aufgaben für den Workflow zu erstellen. Die Attribute werden in das kopierte Objekt geschrieben. Die Vorlagen müssen als Objekt-Vorlagen in dem jeweiligen Mandant registriert sein (UC_OBJECT_TEMPLATE). Dabei muss der Name der Vorlage und nicht der Objekt-Name in dem BPMN-Dokument angegeben werden (entspricht dem key in der Variable).
Das Attribut name wird als Titel des Objektes genutzt und sollte daher angegeben werden. Das Kind-Element documentation ist optional. Existiert es wird die Dokumentation in das Objekt übernommen.
Wichtige Details stehen in dem Kind-Element extensionElements und den darunter enthaltenen Elementen inputOutput sowie properties. Im Element inputOutput werden die Parameter für die Aufgabe definiert. Aus jedem inputParameter wird eine Objekt-Variable erzeugt. Mit dem Attribut name wird der Name der Variable definiert. Beispielsweise wird aus dem Parameter REPORT die Variable &REPORT#. Die property Elemente definieren Informationen, die für die Erstellung des Objektes notwendig sind. Mit der Eigenschaft ##TEMPLATE wird die AE-Vorlage definiert, die für die Erstellung genutzt wird. Hier können die Standardvorlagen-Objekte genutzt werden oder eigene. Eigene Vorlagen werden hier in der Regel genutzt, da diese entsprechende Funktionen implementieren können, die die Parameter auswerten. Mit der Eigenschaft ##NAME wird ein Muster definiert, dass Teil des Objektnames wird.
Der gesamte Objektname wird aus der Eigenschaft ##NAME und der Option b4A Expression für Objektnamen zusammengesetzt. Beide Werte enthalten b4A Expressions (siehe b4A Expressions). Für den Teil aus der Option b4A Expression für Objektnamen stehen folgende Attribute zur Verfügung:
package
object_type
object_name
Der Wert des Attributs object_name wird durch den Wert der Eigenschaft ##NAME bestimmt. Für die b4A Expression stehen alle inputParameter Elemente als Attribute zur Verfügung. Der Ausdruck %(REPORT)_%(VARIANT) aus dem Beispiel wird somit zu REPORT1_VARIANT1 (Kleinbuchstaben werden dabei durch Großbuchstaben ersetzt).
property Elemente, deren Name mit ‚$$‘ anfängt, werden als benutzerdefinierte Eigenschaften bezeichnet. Diese werden für die Erzeugung des Workflows nicht benötigt. Diese können genutzt werden um kundenspezifische Informationen in die Automic Automation Engine® zu übertragen. Wird die Funktion zum Speichern der BPMN-Definition in einer strukturierten Dokumentation genutzt, dann werden diese Eigenschaften unter dem Knoten CustmAttributes als Attribute gespeichert. Dabei wird die Präfix ‚$$‘ zuvor entfernt.
In den Werten der Eigenschaften (property) und den Eingabeparametern (inputParameter) können die Werte der anderen Parameter integriert werden in dem diese über b4A Expressions referenziert werden. Beispielsweise könnte eine Eigenschaft VARIANT_COPY_NAME auf den Wert %(REPORT)_%(VARIANT)_COPY gesetzt werden.
Actions
In diesem Modus werden die Vorlagen nicht kopiert sondern direkt als Aufgaben in den Workflow eingebunden. Die Attribute werden per Vorgabewerte in die PromptSets der Aufgaben gehängt. Diese Technik entspricht dem Verfahren der Automic Action Packs. Daher müssen diese Vorlagen auch nicht als Automic Automation Engine®-Vorlagen registriert werden, sondern als Actions unterhalb des Ordners PACKAGES/ACTIONS einen Verweis besitzen.
Strukturierte Dokumentation
Optional kann der erzeugte Workflow mit den Attributen aus der BPMN-Datei in einer strukturierten Dokumentation eines Objektes gespeichert werden. Das folgende Bild zeigt ein Beispiel dazu.