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.