Process Server

Der AristaFlow Server ist die Kernkomponente der AristaFlow BPM Suite. Er verwaltet die laufenden Prozessinstanzen, die instanziierbaren Prozessvorlagen, das Activity Repository und das Organisationsmodell. Er setzt intern auf einer relationalen Datenbank auf, wobei das konkret verwendete System austauschbar ist. Es muss im Wesentlichen lediglich über eine JDBC-Schnittstelle verfügen. Der Server basiert auf einer erweiterbaren Architektur, in deren Entwurf von Beginn an Aspekte wie Skalierbarkeit, Performanz und Wartbarkeit einbezogen wurden. Insbesondere sind auch die vorangehend diskutierten Systemfunktionen nahtlos in die Architektur integriert.

Insgesamt bietet AristaFlow eine service-orientierte Architektur (siehe Abb. 1), bei deren Entwurf sehr darauf geachtet wurde, die bereitgestellte Funktionalität – wo immer möglich – generisch zu implementieren, um sie an verschiedener Stelle im System sowie auf API-Ebene nutzen zu können. So verwenden z.B. der Prozessvorlagen-Editor, der Workflow-Client für das Monitoring von Prozess-Instanzen sowie der Client für die Visualisierung und Ad-hoc-Änderung einzelner Prozess-Instanzen dieselbe Codebasis, die durch entsprechende Parametrisierung jeweils die gewünschte Funktionalität "freischaltet". Auch die von AristaFlow unterstützte kontextabhängige Auswahl an erlaubten Operationen bei der Modellierung bzw. Änderung von Prozessen ist nicht etwa im Editor "hart verdrahtet", sondern dieser erhält diese Information vom ChangeOperations-Service, der auch die Änderung am Prozessgraphen durchführt. Derselbe ChangeOperations-Service wird auch vom Server im Kontext von Ad-hoc-Änderungen auf Prozess-Instanzebene gerufen und steht auch auf API-Ebene zur Verfügung, etwa für die Entwicklung anwendungsspezifischer Workflow-Clients.

 

Abb 1: Grobarchitektur (BT: Buildtime, RT: Runtime)