Bonita 7 richtet Fokus stärker auf Entwickler

Bonita 7 ScreenshotBereits seit einigen Jahren setze ich in der Lehre das BPM-System „Bonita“ ein, und auch die Beispiele in meinem BPMS-Einführungsbuch wurden mit Bonita erstellt. Die Community Edition dieses Systems steht unter einer Open Source-Lizenz und kann beim Hersteller kostenlos heruntergeladen werden. Das System ist relativ schlank und kann ohne besondere Kenntnisse problemlos auf jedem handelsüblichen PC oder Notebook installiert werden. Damit eignet es sich gut für Studenten und Leser des Buchs, die ohne großen Aufwand die Beispiele ausprobieren und eigene Prozesse entwickeln und zur Ausführung bringen können. Zudem gelingt es mit Hilfe der Modellierungskomponente recht zügig und ohne Programmierung, einfache Prozesse zu erstellen und ablaufen zu lassen. Auf diese Weise kann man die im Buch diskutierten Konzepte ziemlich schnell anwenden ohne vorher erst umfangreichen Programmcode erstellen zu müssen.

Dieser Zero Coding-Ansatz hat jedoch seine Grenzen und schon bei auch nur halbwegs praxisnahen Beispielen kommt man kaum herum, an verschiedenen Stellen Groovy- oder Java-Code zu erstellen. Zudem sind die mit dem grafischen GUI-Editor erstellten Benutzerdialoge recht simpel und optisch nicht unbedingt besonders ansprechend. Wenn es nur darum geht, die verschiedenen Aspekte eines BPMS auszuprobieren und zu erlernen, stört das nicht unbedingt. Für den produktiven Einsatz im Unternehmen ist die Ergonomie der Benutzungsoberfläche hingegen schon von Bedeutung. In einfachen Fällen mag das mitgelieferte Standard-Portal mit seiner einheitlichen Task-Liste genügen. Werden nur wenige Daten in einem Prozess verarbeitet, reicht es zudem meist aus, diese in Form von Prozessvariablen in den Prozessinstanzen mitzuführen. In komplexeren Fällen sind hingegen durchgängige Prozessanwendungen von Vorteil, deren Oberflächen speziell auf die jeweiligen Aufgaben zugeschnitten sind und deren Geschäftsobjekte direkt in einer Datenbank verwaltet werden.

Auf die Entwicklung solcher Prozessanwendungen zielt Bonita mit der kürzlich erschienenen Version 7 ab. So wurde eine komplett neue GUI-Komponente bereitgestellt, die auf Angular JS basiert. Die Oberfläche und die Prozesslogik wurde mit Hilfe sogenannte Contracts entkoppelt. Diese Verträge legen die zwischen einer Aktivität des Prozessmodells und der GUI ausgetauschten Daten fest und beschreiben somit die Schnittstelle. Dadurch wird es beispielsweise erleichtert, die vorhandenen GUI-Komponente durch eine selbst entwickelte Oberfläche zu ersetzen.

Eine bisher nur in der kommerziellen Version verfügbare Verwaltung von Business-Objekten wurde in die Open Source-Edition übernommen. Komplexe Geschäftsobjekte werden nicht mehr in Prozessvariablen gespeichert, sondern in automatisch generierten Datenbanktabellen abgelegt. Schließlich wurde das REST-API überarbeitet, das den Zugriff für externe Anwendungen ermöglicht und auch von Bonita selbst für die Kommunikation zwischen GUI und Prozess-Schicht genutzt wird.

Die Neuerungen richten sich also vor allem an Software-Entwickler, die weniger mit einem fertigen Baukasten arbeiten als vielmehr umfassende Anwendungen auf Basis von Bonita entwickeln möchten. Für solche Anwendungen ist ein größerer Anteil an Programmierung erforderlich. Bonita 7 bietet einen deutlich höheren Grad an Flexibilität, der an einigen Stellen aber durch zusätzlichen Entwicklungsaufwand erkauft wird, indem z. B. erst ein Contract erstellt werden muss, bevor Benutzerdialoge angebunden werden können. Die Nutzung verschiedener Technologien für die Process Engine und die GUI erhöht die Anforderungen an die Entwickler, die nun mehrere Programmiersprachen flüssig beherrschen müssen.

Diese Neuerungen – so nützlich sie für die Kunden sein mögen – erhöhen tendenziell den Aufwand für den Einstieg in die Arbeit mit Bonita BPM. Glücklicherweise stehen – anders als dies beim Umstieg von Version 5 auf Version 6 der Fall war – in Bonita 7 nach wie vor alle Funktionalitäten von Bonita 6 zur Verfügung. Zum Teil wurden die entsprechenden Menüeinträge an etwas andere Stelle verschoben, doch findet man sie meist recht schnell wieder. Laut Angaben von Bonita sollen alle mit Bonita 6 erstellten Prozesse unverändert ablaufen. Bei den bisher getesteten Modellen war dies auch tatsächlich der Fall. Auch der bisherige Formular-Editor steht nach wie vor zur Verfügung. Zwar empfiehlt Bonita, künftig nur noch die neue GUI-Komponente zu verwenden, doch lassen sich mit der alten Komponente einfache Formulare sehr schnell erstellen, was gerade für Testzwecke sehr nützlich ist.

Die im Buch beschriebenen und zum Download bereitgestellten Prozessmodelle sollten also alle nach wie vor funktionieren. In den kommenden Monaten werde ich das eine oder andere Modell erstellen und hier veröffentlichen, das die neuen Möglichkeiten von Bonita 7 nutzt.

Update 14.12.2015 Zwischenzeitlich habe ich die Neuerungen ausführlich beschrieben und an einem Beispielprozess ausprobiert. Dies wird in den folgenden Beiträgen beschrieben: