Integration einer Workflow Engine zur Orchestrierung von Microservices

Projektdetails 
Kompetenzfeld:

Software

Leistungsbereich:

Entwicklung, Versuch

Branche:

Luft- und Raumfahrt

Methode/Tools:

 Java EE, Groovy, RESTful  API, JPA, Camunda Workflow Engine, BPMN

Fakten:

Raumfahrt, Bodenstation, Microservices, Workflow

Entwicklung
Versuch
Software
Luft- & Raumfahrt

Integration einer Workflow Engine zur Orchestrierung von Microservices

Ausgangssituation:

Für den Betrieb eines Satelliten wird eine leistungsfähige Software im Bodensegment benötigt, die die Kommandierung sowie den Empfang und Verarbeitung von Daten des Raumsegments übernimmt.

Projektauftrag:

Integration der Open-Source Workflow Engine Camunda, die an zentraler Stelle den Programmablauf steuert und dadurch die Microservices über eine RESTful API orchestriert. Dadurch wird ein deterministischer, flexibler und visuell übersichtlicher Programmablauf gewährleistet, was die Wartbarkeit deutlich erleichtert.

Umsetzung:

Zunächst wurden die geplanten Abläufe mithilfe der Spezifikation und Sequenzdiagrammen analysiert und in BPMN-Notation übertragen. Der operationelle Code muss nun so angepasst werden, dass die Workflow-Engine entsprechende Programmteile so ansteuern kann, wie es der Ablauf erfordert.

Lösung:

Es wurden im Rahmen des Projekts diverse Abläufe modelliert und in die bestehende Software integriert. Auf Basis dieser Modelle kann die Workflow-Engine situationsbedingt Entscheidungen treffen. Durch die visuelle Darstellung konnte das Systemverständnis während der weiteren Entwicklungstätigkeiten und Problemfindung erheblich verbessert werden. Durch die Integration der Workflow-Engine kann nun ein zukunftsfähiges und sehr gut wartbares System entwickelt werden.