Prozess-Instanzen auf der Allisa Plattform können miteinander verknüpft werden. Eine Verknüpfung dient dazu, fachliche Zugehörigkeiten zu repräsentieren und auf Daten von verknüpften Prozessen zuzugreifen.
Zum Beispiel kann es bei einer Job-Portal-Lösung sinnvoll sein, alle Bewerbungen einer Stellenausschreibung mit der Stellenausschreibung zu verknüpfen, sodass in der Prozess-Instanz der Stellenausschreibung, die jeweiligen Bewerbungen in einer Liste angezeigt werden können.
Ein weiterer Nutzen von Verknüpfungen ist, auf Daten eines verknüpften Prozesses zuzugreifen. Dies verhindert, dass Daten redundant gespeichert werden müssen und ermöglicht eine flexiblere Datenstruktur.
Verknüpfungstypen werden im Konfigurationsbereich unter "Verknüpfungstypen" konfiguriert.
Der obenstehende Screenshot zeigt die Verknüpfungstypen eines "Issue"-Prozesses. Der "Issue" Prozess wird im Kontext der Software-Entwicklung als ein "Anliegen" bezeichnet und bezieht sich in diesem Beispiel auf einen Software-Fehler oder eine Anforderung and die Software. Hier sieht man den Namen des Verknüpfungstypes, sowie den Verbindungstyp und die Referenz (1). Hier wurden beispielhaft verschiedene Verbindungstypen ausgewählt. Darunter wird die Beschreibung angezeigt (2).
Im Verlauf des "Issue"-Prozesses werden Personen mit dem Issue verknüpft. Die Person, die das Issue erfasst hat, wird mit dem "Initiator" Verknüpfungstyp verknüpft. Auf gleiche Art und Weise werden die Personen, welche die Umsetzung des Issues bearbeiten oder testen, entsprechend mit dem "Bearbeiter" oder "Tester" Verknüpfungstyp verknüpft.
Unter "Verknüpfungstypen" im Konfigurationsbereich kann mit dem Button "Verknüpfungstyp anlegen" ein neuer Verknüpfungstyp erstellt werden.
Jeder Verknüpfungstyp besitzt einen Namen und eine Beschreibung (1, 2). Der Verbindungstyp legt die (3) Beziehung zwischen verknüpften Prozessen fest fest. Der Referenz-Name (4) dient dazu, den Verknüpfungstyp systemweit eindeutig zu identifizieren. Unter Verknüpfungsdaten (4) werden die möglichen Datensätze definiert, die eine Verknüpfung von diesem Typ speichern kann.
Jeder Verknüpfungstyp besitzt einen Verbindungstyp. Der Verbindungstyp gibt das Verhalten des Verknüpfungstyps vor. Der Verbindungstyp orientiert sich am "Entity-Relationship-Modell"-Konzept, welches vier grundlegende Beziehungstypen definiert:
Je nach Verbindungstyp können unterschiedlich viele Prozesse mit diesem Verknüpfungstyp verknüpft werden. Besitzt ein Prozess beispielsweise einen Verknüpfungstyp mit dem Verbindungstyp "1:1", kann nur ein einziger Prozess mit diesem Verknüpfungstyp verknüpft werden. Wiederholende Verknüpfungsversuche würden die bestehende Verknüpfung lediglich aktualisieren oder ersetzen.
Der Aktionsprozessor "Verknüpfung erstellen / aktualisieren" nutzt die Prozess-Zugehörigkeit des Verknüpfungstyps und den Verbindungstyp um zu ermitteln, welche Verknüpfungen erstellt, aktualisiert oder ersetzt werden müssen. Entscheidend für diese Ermittlung ist, zu welchem Prozess der Verknüpfungstyp gehört, da dies vorgibt, wie viele Prozesse auf "jeder Seite der Verknüpfung" existieren dürfen.
{info.fa-info-circle} Das Verhalten des Verknüpfungstyp orientiert sich an dem Prozess, zu dem der Verknüpfungstyp gehört. Beim Ausführen des "Verknüpfung erstellen / aktualisieren"-Prozessors muss der Verknüpfungstyp entweder dem ausführenden oder dem zu verknüpftenden Prozess zugehörig sein.
Der 1:1 Verbindungstyp ist der restriktivste Verbindungstyp. Dieser Verbindungstyp legt fest, dass der Prozess, zu dem der Verknüpfungstyp gehört, nur einen Prozess mit diesem Verknüpfungstyp verknüpfen kann. Die beidseitige 1:1 Beziehung legt ebenso fest, dass ein anderer Prozess, der diesen Verknüpfungstyp für die Aktionsausführung nutzt, nur einen Prozess mit dem Verknüpfungstyp verknüpfen kann.
Der obenstehende Screenshot zeigt ein Beispiel des 1:1 Verbindungstyps. Es gibt einen Prozess "Firmenwagen" (allisa/firmenwagen) und einen Prozess "Person" (allisa/person). Der Verknüpfungstyp gehört zu "Firmenwagen". Der Referenzname des Verknüpfungstyps (eindeutige Identifikation) ist "arbeitnehmer". Fachlich wird hier festgelegt, dass jeder Firmenwagen nur einer Person (Arbeitnehmer) zugewiesen werden kann. Ebenso kann jeder Person nur einen Firmenwagen zugewiesen werden.
Verhalten bei Aktionsausführung mit "Verknüpfung erstellen / aktualisieren" Prozessor:
{info.fa-info-circle} Jeder Firmenwagen kann nur einer Person zugewiesen sein. Jede Person kann nur einen Firmenwagen besitzen.
Der 1:N Verbindungstyp legt fest, dass der Prozess, zu dem der Verknüpfungstyp gehört, beliebig viele Prozesse mit diesem Verknüpfungstyp verknüpfen kann. Die einseitige 1:N Beziehung legt auch fest, dass ein anderer Prozess, der diesen Verknüpfungstyp für die Aktionsausführung nutzt, nur einen Prozess verknüpfen kann.
Der obenstehende Screenshot zeigt ein Beispiel des 1:N Verbindungstyps. Es gibt einen Prozess "Firma" (allisa/firma) und einen Prozess "Person" (allisa/person). Der Verknüpfungstyp gehört zu "Firma". Der Referenzname des Verknüpfungstyps (eindeutige Identifikation) ist "arbeitnehmer". Fachlich wird hier festgelegt, dass jeder Firma beliebig viele Personen (Arbeitnehmer) zugewiesen werden können. Jedoch kann jeder Person nur einer Firma zugewiesen werden.
Verhalten bei Aktionsausführung mit "Verknüpfung erstellen / aktualisieren" Prozessor:
{info.fa-info-circle} Jede Firma kann beliebig viele Personen (Arbeitnehmer) haben. Jede Person kann nur einer Firma zugewiesen sein.
Der N:1 Verbindungstyp legt fest, dass der Prozess, zu dem der Verknüpfungstyp gehört, nur einen Prozess mit diesem Verknüpfungstyp verknüpfen kann. Die einseitige N:1 Beziehung legt außerdem fest, dass ein anderer Prozess, der diesen Verknüpfungstyp für die Aktionsausführung nutzt, beliebig viele Prozesse mit dem Verknüpfungstyp verknüpfen kann.
Der obenstehende Screenshot zeigt ein Beispiel des N:1 Verbindungstyps. Es gibt einen Prozess "Artikel" (allisa/artikel) und einen Prozess "Auftrag" (allisa/auftrag). Der Verknüpfungstyp gehört zu "Artikel". Der Referenzname des Verknüpfungstyps (eindeutige Identifikation) ist "auftrag". Fachlich wird hier festgelegt, dass jeder Artikel nur einem Auftrag zugewiesen werden kann. Jedoch kann jeder Auftrag beliebig viele Artikel haben.
Verhalten bei Aktionsausführung mit "Verknüpfung erstellen / aktualisieren" Prozessor:
{info.fa-info-circle} Jeder Artikel kann nur einem Auftrag zugewiesen sein. Jeder Auftrag kann beliebig viele Artikel haben.
Der N:M Verbindungstyp ist der offenste Verbindungstyp. Dieser legt fest, dass der Prozess, zu dem der Verknüpfungstyp gehört, beliebig viele Prozesse mit diesem Verknüpfungstyp verknüpfen kann. Die beidseitige N:M Beziehung legt außerdem fest, dass ein anderer Prozess, der diesen Verknüpfungstyp für die Aktionsausführung nutzt, ebenso beliebig viele Prozesse mit dem Verknüpfungstyp verknüpfen kann.
Der obenstehende Screenshot zeigt ein Beispiel des N:M Verbindungstyps. Es gibt einen Prozess "Anforderung" (allisa/anforderung) und einen Prozess "Person" (allisa/person). Der Verknüpfungstyp gehört zu "Anforderung". Der Referenzname des Verknüpfungstyps (eindeutige Identifikation) ist "testers". Fachlich wird hier festgelegt, dass einer Anforderung beliebig viele Tester zugewiesen werden können. Ebenso kann jeder Person, beliebig viele Anforderungen zugewiesen werden.
Verhalten bei Aktionsausführung mit "Verknüpfung erstellen / aktualisieren" Prozessor:
{info.fa-info-circle} Jeder Anforderung können beliebig viele Personen (Tester) zugewiesen werden. Jede Person kann beliebig viele Anforderungen haben.
Eine Prozess-Prozess Verknüpfung kann Daten besitzen. In der Regel werden Verknüpfungsdaten genutzt, um Daten zu speichern, die aus fachlicher Sicht keinen der beiden Prozessen zugeordnet werden können. Die möglichen Datensätze werden beim jeweiligen Verknüpfungstyp definiert.
Als Beispiel dient ein "Seminar"-Prozess und ein "Person"-Prozess. Wenn sich eine Person zum Seminar anmeldet, wird die Person mit dem Verknüpfungstyp "Anmeldung" mit der "Seminar"-Prozess-Instanz verknüpft. Der Anmeldezeitpunkt, die individuellen Gebühren (Normaler Preis, Reduzierter Preis) und weitere Daten werden dann in der Verknüpfung gespeichert werden, weil sie weder zum "Seminar"-Prozess noch zum "Person"-Prozess passen. Die Verknüpfung von einem Seminar und einer Person repräsentiert eine Anmeldung und diese Anmeldung besitzt Daten (daher heißt der Verknüpfungstyp "Anmeldung").
Verknüpfungsdaten können mit dem Aktions-Prozessor "Verknüpfung erstellen / aktualisieren" aktualisert werden. Bei einer bereits existierenden Verknüpfung, werden die Verknüpfungsdaten aktualisiert.
{info.fa-info-circle} Der Verbindungstyp des Verknüpfungstyp "Anmeldung" ist N:M, weil ein Seminar beliebig viele Personen (Anmeldungen) haben kann und sich eine Person zu beliebig vielen Seminaren anmelden kann.
Es bestehen zwei grundlegende Funktionen, um auf verknüpfte Prozesse zuzugreifen.
Verknüpfte Prozesse können in Prozess-Listen angezeigt werden. Die Vorlage "Verknüpfte Prozesse" ist dafür ausgelegt, alle oder nur bestimmte verknüpfte Prozesse anzuzeigen.
Im Bereich "Daten" können sowohl die prozessinternen als auch Verknüpfungstypen anderer Prozesse gewählt werden. Des Weiteren können dort Verknüpfungstdaten gewählt werden oder nach bestimmten Prozessen gefiltert werden.
Syntax-Werte ermöglichen es, direkt auf Daten von verknüpften Prozessen zuzugreifen. Es können auf Prozess-Instanzen zugegriffen werden, die mittels einer 1:1, 1:N oder N:1-Verknüpfung verknüpft wurden. Dabei ist es nur möglich auf eine verknüpfte Prozess-Instanz zuzugreifen, dessen Verknüpfung aufgrund ihres Verbindungstyps nur einmal existieren kann.
Der obenstehende Screenshot zeigt die Auswahl der Syntax-Werte. In den Kategorien "Referenz-Metadaten", "Referenz-Verknüpfungsdaten", "Referenz-Prozess-Daten", "Referenz-Status-Daten" uns "Referenz-URLs" können Werte von verknüpften Prozessen geladen werden (1). Der Referenzname der Verknüpfung wird in den "[]"-Klammern angezeigt (2). Verknüpfungstypen von externen Prozessen haben ihren Namespace vor dem Referenznamen (3). Es werden ausschließlich Verknüpfungstypen bei den Syntax-Werten angezeigt, die den obenstehenden Einschränkungen entsprechen.