Ein häufig vernachlässigtes Thema greift das Whitepaper „Untangling Spaghetti BPM“ des BPMS-Herstellers Bizagi auf: Der Umgang mit Daten in automatisierten Geschäftsprozessen. In jedem BPMS gibt es die Möglichkeit, über Konnektoren auf Datenbanken zuzugreifen und die entsprechenden Daten auf Prozessvariablen zu mappen. Bei kleinen, weitgehend isolierten Prozessanwendungen funktioniert das auch ganz gut.
Problematisch wird es, wenn man sehr viele Prozesse hat, die auf dieselben Daten zugreifen. Dann finden sich mehr oder weniger gleiche Abfragen und Mappings in ganz vielen Prozessmodellen. Sind Änderungen an den Datenstrukturen erforderlich, wird es sehr aufwändig, alle betroffenen Prozesse zu finden und zu überarbeiten. Die von einem BPMS erwartete leichte Änderbarkeit trifft für Datenstrukturen und -zugriffe nicht zu.
Als Abhilfe empfiehlt Bizagi die in ihrem Produkt vorhandene Datenabstraktionsebene. Dabei arbeiten die Prozessmodellierer direkt mit Geschäftsobjekten, die in einem Datenmodell definiert sind. Die Zugriffe auf die eigentlichen Datenbanken erfolgen im Hintergrund. Als Prozessmodellierer hat man daher nichts mehr mit Datenbankabfragen und Mappings auf Prozessvariablen zu tun. Das Datenmodell und die Implementierung der Zugriffslogik sind an einer Stelle definiert und können vielfach wiederverwendet werden. Ein weiterer Vorteil: Die Prozessmodelle bleiben übersichtlicher. Sie werden nicht mit Details der Datenzugriffe verschmutzt. Damit bleiben sie auch für Experten der Fachebene verständlich.
Das Prinzip lässt sich bis zu einem gewissen Grad aber auch mit jedem anderen BPMS anwenden, indem man sämtliche Details der Datenzugriffe in einen Hilfsprozess auslagert, der von den anderen Prozessen aufgerufen wird. Verwendet man geeignete komplexe Datentypen (oft in Form von Java-Klassen oder XML-Schemata definierbar) für den Datenaustausch mit dem Hilfsprozess, so stehen in den Hauptprozessen ebenfalls direkt Geschäftsobjekte zur Verfügung.
Whitepaper „Untangling Spaghetti BPM“ auf der Website von Bizagi (Registrierung erforderlich)
Eine Entkopplung von Prozessdefinition , Geschäftsobjekten und hinter Service- Schnittstellen verborgenen DB-zugriffen sollte doch normal sein (?)
Die Realität ist heute aber vielfach, dass in den Prozessen Datenbank-Konnektoren verwendet werden, die auf ziemlich tiefer Ebene mit Datenbanken kommunizieren. Die BPM-Systeme fördern damit zumindest nicht unbedingt eine saubere Trennung.