Research Topics
[DA] Implementierung eines API Gateways zur Erweiterung der SaxMS Rail Lösung
Die Saxony Media Solutions GmbH, kurz SaxMS, bietet B2B-Software-Lösungen für Unternehmen, vor allem im Bereich der Produktions- und Logistik-Branche. Besonderer Schwerpunkt liegt dabei auf der Ressourcenplanung von Arbeitern und Maschinen. Das Hauptprodukt "SaxMS Rail" enthält die Businesslogik und verwaltet die Daten in der Datenbank. Als Zugriff auf das System gibt es eine Webapplikation, das Kunden, Disponenten und Arbeiter nutzen.
Die Problemstellung teilt sich in zwei Bereiche. Der erste Teil bezieht sich auf die Transformation der SaxMS Rail-Anwendung von einem Monolith hin zu einer Micro-Service-Architektur (MSA). Der zweite Teil bezieht sich auf die Notwendigkeit, Daten mit externen Drittanbietern standardisiert austauschen zu können.
SaxMS Rail besteht zum großen Teil aus einem Monolith, der die Businesslogik enthält und die Daten in der Datenbank verwaltet. Zukünftig sollen große Softwareerweiterungen als eigenständige Micro-Services (MSs) bereitgestellt werden, um die Vorteile zu nutzen, die eine MSA mit sich bringt. Nach dem Motto: "There’s no such thing like a free lunch", wird der Verwaltungsaufwand solcher MSs allerdings auch größer. Besonders schwierig wird die Situation, wenn MSs untereinander kommunizieren möchten. Der naive Ansatz, die Verbindungen zu anderen MS hart in den Code zu schreiben wird in der vorliegenden Software nicht praktiziert. Derzeit übernehmen Properties-Dateien unter anderem diese Art der Konfiguration. Nach dem Prinzip der Kapselung sollte nicht jeder MS wissen müssen, wo genau sich die anderen MSs befinden. Die komplette Umstellung von einer monolithischen Architektur mit synchronen Aufrufen zu einer reinen MS-Architektur mit eventbasierter Kommunikation wird aufgrund der Größe und
Komplexität nicht möglich sein.
Mit wachsendem Kundenstamm wächst auch die Anforderung, die Kompatibilität zu bestehenden Kundensystemen zu erhöhen. Dazu zählt, Daten in einem vom Kunden benötigten Format exportieren zu können und gleichzeitig, Daten in verschiedenen Formaten einlesen und übernehmen zu können. Anstatt jede Kundenanforderung einzeln umzusetzen, soll es in Zukunft einheitliche Schnittstellen in Form von eigenständigen MSs geben, gegen die z.B. Kunden ihre Im- und Exporte entwickeln können. Hierfür soll eine gewisse Vorarbeit geleistet werden, indem die Grundarchitektur bereitgestellt wird, um solche Services umzusetzen. Sicherheitsfeatures sind an dieser Stelle essentiell.
Betreuer: Karsten Wendt