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.