Software Engineering

Buchverwaltung mit Camunda Cloud – ein Erfahrungsbericht

Bei esentri haben wir als Showcase eine Bücherverwaltung mit Hilfe der Camunda Cloud zum Leben erweckt. Voraussetzungen: ein BPMN Prozess, den jeder auf Anhieb versteht, ein paar Worker, welche Prozessaufgaben übernehmen und eine Anwendung, die das Ganze steuert – Zeebe in der Camunda Cloud!

Buchausleihe als BPMN Prozess

Der BPMN-Prozess

Was kann das Tool?

Das Tool dient der Bücherverwaltung bei esentri. Jeder kennt es, es sind diverse Bücher im Büro verteilt und man möchte gerne noch mehr bestellen. Jedoch ist längst den Überblick verloren gegangen. Abhilfe schafft da eine Buchdatenbank.

Für die Bestellung eines neuen Buches haben wir einen Prozess in Zeebe in der Camunda Cloud mit Hilfe von BPMN modelliert. Jeder Mitarbeiter kann auf einer Weboberfläche ein neues Buch anfragen. Es wird anschließend ein Beschaffungsantrag in Form einer interaktiven Slack Nachricht erstellt. Dieser Antrag kann angenommen oder abgelehnt werden. Eventuell wird also ein Buch bestellt, auf jeden Fall gibt es aber eine Benachrichtigung an die Nutzer, wenn ein neues Buch vorhanden ist.

Wie hilft die Camunda Cloud dabei?

Eine Buch EingabemaskeZeebe in der Camunda Cloud ist der zentrale Bestandteil der Anwendung. Sie verwaltet sogenannte Workflow Instanzen, in unserem Fall sind dies Buchanfragen. Diese Instanzen haben mehrere Eigenschaften, z.B. einen Titel, einen Autor, eine ISBN, … Wird nun im Frontend auf “Buch anfragen” geklickt, beginnt eine neue Instanz die Reise durch den BPMN Prozess. Sogenannte Worker arbeiten die Aufgaben Schritt für Schritt ab, sichtbar im Camunda Dashboard. 

So wird im ersten BPMN-Task (Buchanfrage in Bookstore eintragen) das Buch von einem Worker in die Datenbank geschrieben und als angefragt markiert. Dabei fragt der Worker die Camunda Cloud in regelmäßigen Abständen, ob noch Aufgaben vorhanden sind. Falls ja, werden diese abgearbeitet.

Zeebe lokal vs. in der Cloud

Der nächste Task, das Erstellen des Beschaffungsantrags in Form einer Slack Nachricht, erfolgt auch durch einen Worker, jedoch in diesem Fall über den HTTP-Worker von Camunda Cloud. Sobald ein Task abgearbeitet werden soll, schickt dieser einen REST Request an eine zuvor bei der Modellierung festgelegten Schnittstelle. Der HTTP-Worker ist fester Bestandteil der Camunda Cloud und nur dort vorhanden.

Eine Slack Abfrage für einen Buch Beschaffungsantrag

Slack Abfrage – Beschaffungsantrag

Ist ein Buch schließlich akzeptiert, wird der Status in der Datenbank auf verfügbar gesetzt und die Mitarbeiter werden über Slack benachrichtigt. Der dafür eingesetzte Worker kann in vielen populären Programmiersprachen erstellt werden, die Zeebe Clients unterstützen. So können die Worker je nach Vorlieben des Entwicklers programmiert werden.

Die Bücher in der Bibliothek

Ein Teil der Bücherei

Fazit – Camunda Cloud mit Zeebe

Mit der Camunda Cloud und Zeebe ist es relativ leicht möglich, für jedermann verständliche Anwendungen zu entwickeln und Prozesse im Unternehmen transparent darzustellen. Durch die Cloudlösung und dem HTTP-Worker bleibt dem Nutzer viel Arbeit beim Aufsetzen der Instanz und der folgenden Entwicklung erspart – der Fokus kann vollständig auf den Prozess gelegt werden.