6.1 Gründe |
|||||
Drei Gründe sind es, die dazu führen, dass Ereignisgesteuerte Prozessketten (d.h. Geschäftsprozesse) miteinander verknüpft werden müssen: |
|||||
|
|||||
Diese Verknüpfung von Geschäftsprozessen erfolgt mithilfe sog. Prozesswegweiser, die wie folgt grafisch dargestellt werden: |
Prozesswegweiser |
||||
|
|||||
Das Grafiksymbol setzt sich somit aus dem Ereignis- und dem Funktionssymbol zusammen. |
|||||
6.2 Aufrufende und aufgerufene EPK |
|||||
Prozesswegweiser setzen immer zwei Ereignisgesteuerte Prozessketten in Beziehung. Eine (die aufrufende EPK), in der ein Prozesswegweiser den Aufruf eines anderen Geschäftsprozesses signalisiert und eine andere (die aufgerufene EPK), wo ein Prozesswegweiser anzeigt, dass die jeweilige Ereignisgesteuerte Prozesskette (bzw. ein bestimmter Teil von ihr) aufgerufen wird. Die Regeln für diese Verweistechnik sind wie folgt (vgl. auch die folgende Abbildung): |
|||||
|
|||||
Hier im Beispiel [Anmerkung] geht es um einen Geschäftsprozess Kundenanfragebearbeitung. Irgendwo in diesem Prozess ergibt sich nach dem Ereignis Kalkulation ist durchzuführen die Notwendigkeit, den Geschäftsprozess Kalkulationsdurchführung anzustoßen. Durch den Prozesswegweiser wird auf diesen verwiesen. Im Geschäftsprozess Kalkulationsdurchführung wird das Ereignis Kalkulation ist durchzuführen wiederholt und der Prozess fortgesetzt. Davor wird noch der aufrufende Geschäftsprozess angegeben. |
|||||
|
|||||
|
|||||
Prozesswegweiser stehen somit typischerweise am Anfang und am Ende eines Prozesses und ersetzen dann die Start- und Endereignisse. |
|||||
6.3 Angehängt und Eingefügt |
|||||
Ein Subprozess [Anmerkung] wie der obige, dessen Prozesswegweiser am Ende eines Kontrollflusszweiges steht, soll angehängter Subprozess genannt werden. Von ihm aus erfolgt also kein „Rücksprung“ in den aufrufenden Geschäftsprozess. |
Angehängter Subprozess |
||||
Oftmals trifft man in Ereignisgesteuerten Prozessketten allerdings auch die Situation an, dass der aufrufende Prozesswegweiser mitten im Kontrollfluss steht (vgl. die folgende Abbildung). Solche Subprozesse sollen eingefügte Subprozesse genannt werden. |
Eingefügter Subprozess |
||||
Diese an Unterprogrammtechniken erinnernde Struktur muss dann entsprechend dem obigen gelöst werden. Der Aufruf erfolgt genauso, aber am Ende des aufgerufenen Prozesszweiges muß sozusagen zurückgesprungen werden in die aufrufende Ereignisgesteuerte Prozesskette, was durch ein weiteres Einfügen eines Prozesswegweiser angedeutet wird. |
|||||
In der folgenden Abbildung steht in der aufrufenden Ereignisgesteuerten Prozesskette der Prozesswegweiser zum Prozess B zwischen den beiden Ereignissen X und Y. Nachdem X eingetreten ist, wird Prozess B aufgerufen. Am Ende dieses Prozesses B findet sich nach einem Ereignis, das die Beendigung des eigentlichen Geschäftsprozesses signalisiert (hier Y) – sozusagen für den Rücksprung – ein weiterer Prozesswegweiser, durch den der Rücksprung erfolgt. Das Durchlaufen des Geschäftsprozesses B wird in der Ereignisgesteuerten Prozesskette A durch Wiederholung des Ereignisses Y manifestiert. |
Eingefügter |
||||
Auch wenn jetzt hier die Terminologie der Programmiersprachen verwendet wurde, darf nicht angenommen werden, dass diese semi-formale Sprache den Formalisierungsgrad von Programmiersprachen erreicht. Dies ist nicht so und dies wäre auch nicht sinnvoll. |
|||||
So einfach dieses Konzept erscheint, so viele Probleme kann es in der Praxis machen. Meist in Zusammenhang mit dem Versuch, die Darstellung der Ereignisgesteuerten Prozessketten grafisch zu optimieren. Dabei wird versucht, gleichartige Abschnitte in Subprozesse zu tun, damit sie nur einmal eingefügt werden müssen und von beliebig anderen aufgerufen werden können. Dies ist auch richtig, sollte aber nicht übertrieben und vor allem nicht in mehreren Ebenen gemacht werden. Dabei geht die Übersichtlichkeit schnell verloren, die Reduktion der Komplexität an der einen Stelle wird durch eine Erhöhung an anderer Stelle bezahlt. |
Falle |
||||
Selbstverständlich dürfen auch nicht Schleifen (Geschäftsprozess A ruft B auf, B ruft C auf und C wiederum A) bzw. rekursive Aufrufe (Geschäftsprozess A ruft A auf) auf diese Weise modelliert werden. Beides ergibt hier keinen Sinn, da Geschäftsprozesse menschliches Handeln widerspiegeln. |
Keine Schleifen |
||||
|
|||||
|
|||||