Process Application Validation – Statische Validierung von BPM-Prozessen und Java

Montag, 29.5.2017

Process-Application-Validaton.jpg

Die Business Process Model and Notation (BPMN) Language hat sich in den vergangenen Jahren als de facto Standard bei der Modellierung von Geschäftsprozessen durchgesetzt. Seit der Version 2.0 sind BPMN-Modelle maschinell mithilfe einer Process Engine ausführbar, hierdurch ergeben sich völlig neue Fehlerpotenziale zwischen Modell und dem verbundenem Quellcode. Als Beispiel sind hier etwa fehlende Quellcode-Referenzen zu automatisierten Aufgaben (Service Tasks) im Prozess oder die Verwendung von nicht-initialisierten Prozessvariablen zu nennen.

Das Identifizieren von Fehlerquellen ist aufgrund fehlender Werkzeugunterstützung mühsam und zeitintensiv. Die viadee hat im Rahmen einer Masterarbeit ein Werkzeug entwickelt, um diesen Prozess der Fehlersuche schon während der Entwicklung mithilfe von statischer Validierung zu vereinfachen. Hierzu analysiert das Tool sowohl das BPMN-Modell als auch die korrespondierende Java-Implementierung und kann so den Nutzer schon während der Implementierung auf gemachte Fehler hinweisen, die von klassischen Analyse-Tools nicht berücksichtigt werden können. Das Ziel ist das frühestmögliche Erkennen von potenziellen Fehlern im Zusammenspiel von Prozessgestaltung und Quellcode und damit das Vermeiden von Ausfällen oder Beeinträchtigungen im Produktivbetrieb. Dies gern als Teil einer Continuous Integration bzw. Continuous Delivery-Strategie für Prozessanwendungen.  

Inkonsistenz-BPMN-Prozess-zu-Java-Delegate.jpg

Analyse von Code-Referenzen

  • Fehlender oder falscher Verweis auf Java Delegate
  • Fehlender Verweis auf DMN-Modell

Analyse der pfadabhängigen Konsistenz

  • z.B. Lesen einer Prozessvariablen vor deren Initialisierung (hierbei Berücksichtigung von: BPMN-Modell, Spring Beans, Java Delegates, DMN-Modelle und Skripdateien in Groovy)
Analyse von Namenskonventionen basierend auf zuvor definierten Regelsätzen für
  • Tasknamen
  • interne und externe Prozessvariablen

Prüfung der versionsabhängigen Konsistenz auf Basis von zuvor definierten Versionierungsregeln

 

Kennen Sie das Problem von Inkonsistenzen zwischen technischem BPMN-Modell und Prozessanwendung? Wir suchen Test-Nutzer und Kooperationspartner und planen ein Open Source Release des Projektes. Einsetzbar ist das Tooling unter den folgenden Rahmenbedingungen:

  • Java 1.7 (JDK) oder neuer
  • Maven
  • Einsatz der Camunda Process Engine
  • Relevante Resourcen sind im Classpath zum Build-Zeitpunkt verfügbar

Der viadee Process Application Validator (vPAV) steht seit 2018 als OpenSource-Projekt auf GitHub zur Verfügung. Er setzt die Idee einer Continuous Integration auch für Prozessanwendungen auf Basis von Camunda um: Jede Änderung führt zu einer automatischen Prüfung.

Vollständige Liste aller Features entdecken!

 


zurück zur Blogübersicht

Diese Beiträge könnten Sie ebenfalls interessieren

Keinen Beitrag verpassen – viadee Blog abonnieren

Jetzt Blog abonnieren!

Kommentare

Dr. Claus Usener

Dr. Claus Usener

Dr. Claus Usener ist Systemarchitekt und Senior-Entwickler bei der viadee IT-Unternehmensberatung. Als Berater begleitet er Kunden im Gesundheitssektor und in der verarbeitenden Industrie bei der Umsetzung von Java-Softwaresystemen in Zusammenhang mit Spring, BPMN und Camunda.