BPM-Process-Engines werden oft im Sinne einer Orchestrierung eingesetzt. Sie koordinieren dabei aber nicht nur Prozessabläufe sondern auch Datenflüsse, wenn Sie auf Services und Datenbanken zugreifen und dabei Parameter und Zwischenergebnisse als Prozessvariablen weitertragen. Diese Aufgabe ist in BPMN-Modellen kaum zu erkennen aus IT-Architekten-Perspektive aber von großem Interesse: Für eine Impact-Analyse bezüglich Änderungen an der Bedeutung eines Datenbankfeldes muss (neben den Abhängigkeiten durch bspw. Views und Trigger in einer Oracle-Datenbank) der gesamte Software- und Service-Stack durchlaufen und auf Änderungsbedarf hinterfragt werden. Ziel der Arbeit ist, diese polyglotten Zusammenhänge im Sinne eines proof-of-concept aufzudecken und im Prozess-Zusammenhang zu visualisieren.
Auf Basis der Vorarbeit von Christopher Brown konnte dies am Beispiel-Durchstich vom mit Camunda realisiertem Prozess, über JavaDelegates und JPA bzw. JDBC-Zugriffe bis auf die Basis-Elemente einer Oracle Datenbank erreicht werden. Herausforderungen dabei sind der Verteilungsgrad der Services und Erkennungsrate der Zugriffsmechanismen im Java-Code, die auch für menschliche Reviewer Aufwandstreiber sind. Das Tool integriert sich in den Continous Integration Build-Prozess und trägt die erkannten Datenflüsse zwischen Prozessen und Services automatisch in eine Graph-Datenbank zusammen, um eine abfragbare Gesamt-Perspektive zu bieten. Diese ist potenziell jetzt schon vollständiger aber sicher aktueller als eine manuell gepflegte Dokumentation der Datenflüsse in BPMN-orchestrierten Service-Landschaften. Es gibt aber auch noch viel Potenzial für Weiterentwicklungen des Ansatzes.
Autor: Christoph Ahlers
Betreuung: Prof. Dr. Herbert Kuchen, WWU Münster
Keinen Beitrag verpassen – viadee Blog abonnieren