Zum Inhalt

Process Template Editor

Modellierung mit Correctness by Construction Prinzip

Im Gegensatz zu anderen Systemen, werden Prozessgraphen in AristaFlow nicht nur durch das Zeichnen von Knoten und Kanten erstellt, sondern gleichzeitig auf die Korrektheit hin überprüft. Durch die Anwendung eines wohl definierten Satzes an Änderungsoperationen werden Fehler wie Verklemmungen oder nicht erreichbare Knoten automatisch ausgeschlossen. Zusätzlich zur Kontrolflussprüfung gibt es noch die Datenflussprüfung, die sicherstellt, dass der Informationsfluss zwischen den Prozessschritten fehlerfrei abläuft. Der Process Template Editor lässt abhängig von der gewählten Markierung im Prozessgraph nur bestimmte Änderungsoperationen zur Auswahl zu. Die grüne Färbung markiert den Anfang, die blaue das Ende des Bereichs für die Operationen. Dadurch werden kontextabhängig nur solche Änderungen zugelassen, die einen konsistenten Prozessgraphen wieder in einen neuen konsistenten Graphen überführen. Dieses Konstruktionsprinzip wird als Correctness by Construction bezeichnet. Darüber hinaus überprüft der Process Template Editor das erstellte Prozessmodell (Template) durch die Prozessvorlagenverwaltung auf Korrektheit, so dass nur syntaktisch korrekte Modelle auf den Server hochgeladen werden können.

Allgemeine Herangehensweise

Die gesamte Modellierung eines Prozesses inklusive Aktivitäten- und Bearbeiterzuweisung findet im Process Template Editor statt, d.h. Sie bestimmen mit diesem Editor wer welche Aufgaben in welcher Reihenfolge auszuführen hat und welche Informationen dabei aufgenommen oder weitergegeben werden sollen. Dafür müssen Sie aber die Bearbeiter in einem anderen Tool Org Model Editor anlegen und die auszuführenden Aufgaben aus dem Activity Repository Browser im mittleren Tab im Navigator des Process Template Editors (oben links im Editor) zuweisen (siehe das Bild im nächsten Kapitel).

Zuerst überlegen Sie sich vor der Modellierung eines Prozesses folgende Punkte:

  • Welche Schritte soll der Prozess durchlaufen
  • Welche Entscheidungen und Wiederholungen gibt es
  • Welche Informationen in welchen Schritten werden benötigt oder erzeugt
  • Welche Rollen (Mitarbeiter) sind am Prozessablauf beteiligt.

Übersicht Process Template Editor

Starten Sie zuerst den AristaFlow Server dann den Process Template Editor. Genauere Informationen zum Starten von Process Template Editor finden Sie unter Tools starten.

Im Folgenden erhalten Sie einen Überblick über die Funktionalitäten von Process Template Editor.

  • Mit Hilfe von Änderungsoperationen kann man den Kontrolfluss des Prozesses als ein gerichteter Graph abbilden.
  • Ein Graph kann Verzweigungen enthalten, an denen Entscheidungen getroffen werden, welcher Pfad als nächstes zu nehmen ist. Für diese Entscheidungen werden Daten benötigt, die in bestimmten Prozessschritten wiederum mit Hilfe von Änderungsoperationen erzeugt werden.
  • Daten werden als Datenelemente dargestellt, die von Prozesschritten geschrieben oder gelesen werden. (Änderungsoperationen → Datenmanipulation)
  • Die auszuführenden Aktivitäten werden als Plug and Play Anwendungen an die entsprechenden Prozessschritte eingebunden (Mittlerer Tab im Navigator → Activity Repository)
  • Die Bearbeiter der Prozessschritte werden aus einem in OrgModelEditor definierten Organisationsmodell angebunden. (Eigenschaften → Properties → Basics )
  • Mehrere Funktionen wie Zeitmanagement oder Eskalation zur Vorgehensweise beim Erledigen von Aufgaben festgelegt. (Eigenschaften → Properties → Scheduling )
  • Schließlich wird der Prozess im Test Client getestet.

Die erstellten Prozessvorlagen können als lokale Template-Dateien gespeichert oder nach Deployment beim Server versioniert verwaltet werden.(Eigenschaften → Prozessvorlagenverwaltung)

Prozessgraph zeichnen

Zur Modellierung eines Prozesses anhand eines Beispiels schauen Sie in Prozessschritte modellieren im Urlaubsantragstutorial.

  • Die Modellierung beginnt mit einem leeren Graphen. Am Anfang enthält er nur Start- und Endknoten.

    Hinweis

    Mit Rechtsklick auf die Prozessansicht (weiße Fläche im Editor Fenster) können Sie über "Display Options" zwischen ADEPT und BPMN-Symbols für die Darstellung wechseln.

  • Änderungen werden über Änderungsoperationen vorgenommen, wobei die momentan selektierte Knoten die Verfügbarkeit der Operation bestimmt z.B. Knoten einfügen...

  • Zuerst wählen Sie den Bereich für die Änderung aus; den Anfang mit Vorbereich, das Ende mit Nachbereich
  • Dann wählen Sie die Änderungsoperation aus
  • viele Änderungen sind auch über Kontextmenü möglich
    → Rechtsklick auf einen Prozessschritt oder auf einem Pfeil zwischen Prozessschritten, …
    → ... öffnet ein Menü, das kontextsensitiv mögliche Änderungen anbietet (z.B. neuen Schritt an dieser Stelle einfügen)
  • Die Eigenschaften der einzelnen Knoten können über Properties View angepasst werden.
    → Schritt mit einer beliebigen Auswahl selektieren
    → „Properties“ (Eigenschaften) Ansicht aktivieren
    → Wert anpassen

    Der neue Wert wird mit bzw. bei Verlassen des Feldes übernommen. Dies funktioniert auch mit Datenelementen und -kanten.

Alternativen, Schleifen und Parallelität (XOR, LOOP, AND)

  • Der Ablauf von Prozessschritten ist nicht immer sequentiell. Neben Sequenzen können auch alternative und parallele Sequenzen sowie Schleifen modelliert werden.
  • Alternative im Prozessverlauf
    Die Prozessdaten bestimmen den Verlauf des Prozesses. Sollen manche Schritte bzw. Schrittabfolgen nur unter bestimmten Bedingungen durchgeführt werden, wird das mit XOR-Block modelliert. Zum Beispiel: Urlaubseintrag nur bei erfolgter Freigabe

    Hier wird entweder Schritt A, B oder C ausgeführt.
    Beliebig viele Zweige und Schritte können hinzugefügt werden.
  • Wiederholungen im Prozessverlauf
    Sollen manche Schritte bzw. Schrittfolgen in bestimmten Fällen wiederholt werden, wird dies mit LOOP-Block modelliert.
    Zum Beispiel: Bei Ablehnung den Antrag ändern und erneut um Freigabe bitten

    Hier wird Schritt A wiederholt.
    Beliebig viele Schritte können wiederholt werden.
  • Parallelität im Prozessverlauf
    Gleichzeitige Durchführung von voneinander unabhängigen Schritten wird als AND-Block modelliert.
    Hier werden Schritte A, B und C gleichzeitig ausgeführt.
    Beliebig viele Zweige und Schritte können gleichzeitig ausgeführt werden.
  • Entscheidungen werden an zwei Verzweigungen dieser Blöcke getroffen, nämlich am Beginn eines XOR-Blocks oder am Ende eines LOOP-Blocks.
    Diese Entscheidungen müssen mit Hilfe mehrerer Daten gefällt werden.
    Bei der Modellierung ist jeder mögliche Fall zu beachten, es muss immer ein Folgeschritt eindeutig ausgewählt werden.
    Für eine korrekte Modellierung wird der Benutzer durch Wizard geleitet.

  • Einfügen von Blöcken
    Mit verschiedenen Änderungsoperationen können Sie alle möglichen Blöcke einfügen, indem Sie Block-Start und -Ende selektieren

    • Block zwischen Knoten einfügen → Alternative einfügen
    • Teil des Prozesses mit einem Block umgeben → Umgebende Alternative
    • Neuen Zweig zwischen zwei Blockknoten einfügen → Zweig einfügen

Prozessdaten

Zur Modellierung der Prozessdaten anhand eines Beispiels schauen Sie in Datenelemente modellieren im Urlaubsantragstutorial.

  • Daten werden in Datenelementen (Variablen) gespeichert, indem sie einen Namen und Typ zugewiesen bekommen.
  • Einfügen von Datenelementen über Änderungsoperation oder über die Ansicht Data Elements (rechts unten im Editor)
    Create New Data Element über die Toolbar der Ansicht. Hier können auch einige Eigenschaften der Datenelemente direkt geändert werden.
  • Prozessschritte können Datenelemente schreiben oder lesen
  • Lesen und Schreiben von Datenelementen über Selektion und Änderungsoperation
  • Zugriff auf Datenelemente kann graphisch mit Pfeilen dargestellt werden

    „Urlaubsantrag ausfüllen“ schreibt „Urlaubsanfang“ und „Urlaubsende“
    „Urlaubsantrag prüfen“ liest diese Daten ein

  • Es können mehrere Lese- / Schreibzugriffe auf einmal geändert werden Bei der Selektion die „Strg“- / „Ctrl“-Taste gedrückt halten
    Mehrere Datenelemente als Vorbereich + ein Knoten als Nachbereich → lesen mehrerer Datenelemente

  • Datenflussprüfung: Es wird überprüft, ob Daten genau dann vorhanden sind, wenn sie von einem Schritt benötigt werden.
    AristaFlow BPM Suite prüft den Datenfluss und meldet Probleme im Tab „Prüfbericht“ (gleiche Stelle wie „Properties“-View)
    Wichtiges Element für robuste Prozesssteuerung

Optionale Daten

Wenn ein Datenelement nicht geschrieben worden ist, kann es auch nicht gelesen werden. Das ist beispielsweise bei freiwilligen Angaben der Fall. Damit ein Lesezugriff auf ein noch nicht geschriebenes Datenelement keinen Fehler auslöst oder Schreibzugriff auf ein Datenelement freiwillig stattfinden kann, machen Sie die Datenzugriffe optional.
Optionale Datenkanten können über die Änderungsoperation „Datenmanipulation“ oder „Properties“ bzw. Kontextmenü einer selektierten Datenkante erstellt werden.

  • Wählen Sie den Vor- und Nachbereich und wählen Sie die Änderungsoperation Optionalität der Datenkante ändern.
  • Selektieren Sie die Datenkante und machen Sie einen Rechtsklick oder setzen Sie Optional auf true unter PropertiesBasics.
Verfügbare Datentypen
Typ Werte Beispiel
STRING Zeichenkette „Text“
INTEGER Ganzzahl 4711
DATE Datum 21.12.2018 13:30:04
BOOLEAN Wahr / Falsch false
FLOAT Fließkommazahl 47,114711
URI Ressource file:/c:/MyTable.xls
USERDEFINED
  • USERDEFINED: Benutzerdefinierter Typ
    Zusätzliches Feld: Bezeichnung für den Typ
    Verwendung: Binärdaten beliebiger Größe
    Beispiel: Dokumente, Bilder, PDF-Dateien, …

Aktivitäten aus dem Activity Repository einbinden

ARISTAFLOW bietet mit dem ARISTAFLOW-Activity Repository ein mächtiges Tool um nahezu beliebige Aktivitäten, Funktionen und Services in einen Prozess zu integrieren. Die passende Anwendung wird aus dem Activity Repository per Drag'n'Drop auf den gewünschten Knoten im Prozess eingebaut. Je nach Typ der Anwendung können durch Wizard-Seiten die Eigenschaften (Name, Beschreibung) der Aktivität geändert oder die Parameter (Datenelemente) als Eingabe bzw. Ausgabe der Aktivität zugeordnet werden. Alle Anwendungen sind wiederverwendbar und werden laufend erweitert.

Überblick vorhandene Aktivitäten

  1. Interaktive Aktivitäten mit Oberfläche
    Diese Aktivitäten erfordern Benutzerinteraktion wie bei Formularen. Es sind verschiedene Arten von Formularen verfügbar.

    • WebForm mit Formular Designer
    • User Form für Benutzerformulare
    • Generated Form mit Bildern für schnelles Prototyping
  2. Automatische Aktivitäten
    Diese Aktivitäten werden nach der Modellierung durch den Automatic Client ausgeführt.

    • Datenbankanbindung (beliebige SQL-Datenbanken): de.aristaflow.db.SQL
    • Aufruf von Binaries (z.B. EXE-Dateien): de.aristaflow.exe.EXE
    • Aufruf von Java-Methoden: de.aristaflow.java.StaticJavaCall
    • Email-Versand: de.aristaflow.mail.SendMail
    • FILERO Batch(Integration von FILERO, ein Enterprise-Information-Management-System): de.aristaflow.filero.FILEROBatch
    • Zugriff Organisationsmodell: de.aristaflow.omaccess.OrgModelAccessComponent
    • Prozesssteuerung (z.B. für Fehlerbehandlung): de.aristaflow.systemtools.ProcessInteractionComponent
    • XOR-Prädikate: de.aristaflow.rules.XOR
    • Ausführung Scripte: de.aristaflow.tools.Scripting
    • Datei-Operationen: de.aristaflow.tools.FileIO
    • FTP, SFTP Upload : de.aristaflow.tools.net.FTP, de.aristaflow.tools.net.SFTP
    • HTTP-Anfragen (GET, POST): de.aristaflow.tools.net.HTTP
    • Text-Formatierung mit Prozessvariablen (String-Formatierung): de.aristaflow.tools.StringFormat
    • Warten für eine bestimmte Zeit, auf einen Zeitpunkt: de.aristaflow.tools.Wait
    • Auswerten von XPath-Ausdrücken: de.aristaflow.xml.XPath
    • XML-Transformationen mittels XSLT: de.aristaflow.xml.XSLT
    • ...

User Form

Endbenutzerformulare ( User Form) können wie folgt in einen Prozessschritt eingebunden werden:
Aktivität User Form per Drag'n'Drop auf den gewünschten Knoten ziehen und loslassen. Diese Aktivität ist für alle interaktiven Schritte zu empfehlen. Im Urlaubsantragstutorial können Sie die Aktivitätenzuweisung anhand eines Beispiels nachvollziehen.

  1. In der ersten Wirzardseite Aktivität benennen und beschreiben.
  2. Danach Ein- und Ausgabeparameter mappen:
    • Modellierter Datenfluss wird als Parameter übernommen → für jeden lesenden/schreibenden Zugriff wird beim Plug and Play ein Eingabe- bzw. Ausgabeparamater erzeugt.
    • Ein- und Ausgabeparameter überprüfen und gegebenfalls ergänzen.
      Eingabeparameter sind die Datenelemente, die im Formular angezeigt werden.
      Ausgabeparameter sind die Datenelemente, die der Benutzer schreibt.

XOR Predicate

Die Entscheidung am Anfang eines XOR-Blocks wird von Automatic Client durchgeführt. Dafür muss aber die Aktivität XOR Predicate eingebunden und wie folgt modelliert werden:

  • Die passende Aktivität XOR Predicate befindet sich im Activity Repository Browser unter de.aristaflow.rules.XOR und wird auf den XOR-Knoten eingebettet.
  • Danach können Eigenschaften im Wizard angepasst werden.
    Mindestens ein Inputparameter ist für eine Entscheidung notwendig. Als Outputparameter benutzt das System standardmäßig Decision.
  • Für jedes Enscheidungsparameter wird eine Dimension benötigt. Um eine Dimension einzufügen, doppelklicken Sie auf die Variablen unten in der Liste.
  • Alle möglichen Werte für dieses Parameter werden eingegeben. Wählen Sie Add all um die Werte für die Dimension automatisch zu vervollständigen. Oder klicken Sie auf Add predicate, um die Werte selber auszuwählen.
  • Jedem Prädikat wird eine EntscheidungsID zugewiesen. Wählen Sie ein Prädikat aus und klicken Sie auf die Schaltfläche Add Auto, um automatisch eine ID zu erstellen, oder geben Sie Ihre eigene ID in das Eingabefeld ein und wählen Sie Set.
  • Diese EntscheidungsIDs werden mit den ausgehenden Kanten des XOR-Knotens verknüpft. Wählen Sie die Entscheidungs-ID und die Kante aus und verbinden Sie sie, indem Sie auf die Pfeilschaltfläche in der Mitte des Assistentenfensters klicken.
    Nähere Informationen zur Anpassung von XOR Predicate erhalten Sie unter Urlaubsantrag Aktivitäten zuweisen.

Ausführung im Test Client

Test Client erlaubt die lokale Ausführung von Prozessen ohne das Template auf den AristaFlow Server hochladen zu müssen. Es ist ein wichtiges Hilfsmittel um zu prüfen, wie das Schaltverhalten des Prozesses ist und ob jeder Schritt die erwarteten Daten bekommt. Dabei werden die eingebundene Anwendungen auch getestet, jedoch ohne Berücksichtigung des zugeordneten Bearbeiters. Denn bei der Ausführung im Test Client wird jeder Schritt vom Modellierer (auch die Schritte von automaticclient) explizit gestartet und ausgeführt. Der Test Client ermöglicht eine vorzeitige Ausführung des Prozesses ohne vollständige Modellierung.
Im Urlaubsantragstutorial sehen Sie, wie eine Prozessvorlage schrittweise getestet wird.

Voraussetzungen zum Testen einer Prozessvorlage:

  • Entscheidungen für Blöcke (XOR,LOOP) müssen modelliert sein
  • Prüfungen Execution on Test Client müssen erfolgreich abgeschlossen werden
  • Auswahl der Prüfungen über die Toolbar des Process Template Editors möglich.

Zum Starten des Test Clients klicken Sie auf Run Template oben im Editor. Nähere Informationen finden Sie in Installation and Configuration -> Tools starten.

Übersicht Test Client

Anbindung Organisationsmodell

Staff Assignment Rule

Die Bearbeiterzuweisung an die Prozessschritte erfolgt durch bestimmte Regeln. Die Wizardseiten für diese Zuweisung sind über Knoteneigenschaften oder Plug-and-Play-Wizard erreichbar. Eine schrittweise Durchführung von Staff Assignment Rule erhalten Sie unter Urlaubsantragstutorial.

  • Einfacher Klick auf Knoten → Properties Ansicht → Basics → Staff Assignment → Klick auf Edit...
  • Doppelklick auf Knoten Staff Assignment Rule → Klick auf Edit...
    Staff Assignment Rule

Die Zuordnung kann wie folgt aus dem definierten Organisationsmodell im Assisted Policy Editing Tab ausgewählt oder manuell in den Manual Policy Editing Tab eingegeben werden.

Bearbeiterzuordnung - Assisted

In diesem Tab können Sie die Bearbeiter nach OrgUnits, OrgPositions sowie nach Benutzernamen (Agents) oder Rollen aus der Liste auswählen. Sie können auch Abhängigkeiten zwischen Prozessschritten bei der Wahl des Bearbeiters berücksichtigen. Die Zuweisung erfolgt durch die Pfeilschaltfläche in der Mitte des Assistentenfensters. Für mehr Info sehen Sie Bearbeiter zuweisen


Für Bearbeiterregel mit Prozessbezug wählen Sie Conditions Tab. Bei der Ausführung einer Prozessinstanz wird für jeden Schritt die Bearbeiter-ID und seine OrgPosition-ID intern festgehalten. Damit ist es möglich für einen späteren Schritt als Bearbeiter z.B. den Vorgesetzten des vorigen Bearbeiters zu beauftragen.

Als Bearbeiter für die Entscheidungen bei XOR oder LOOP Block muss automaticclient zugewiesen werden.

Bearbeiterzuordnung - Manual

Im Tab Manual Policy Editing können Sie die Bearbeiterformel von Hand eingeben.

Verwendung von Auto start

Mit der Aktivierung von Auto start wird der Prozessschritt automatisch im Client des Benutzers gestartet. Diese Funktion ist zwar für alle Prozessschritte verfügbar, jedoch nur bei bestimmten abhängigen Bearbeiterregeln. Beim ersten Schritt ist das der Fall, wenn der Instanzstarter der Bearbeiter ist. Das wird erreicht, indem man im SAR-Dialog als Agent ID InstanceInitiator auswählt. Bei Autostart in anderen Schritten muss die Abhängigkeit NodePerforming-AgentID also der Bearbeiter des vorherigen Schritts zugewiesen werden.