Veröffentlicht: von

Dieses Thema kann als Praxisprojekt mit Option auf anschließende Bachelorarbeit bearbeitet werden, oder aber direkt als Bachelorarbeit. Praxisprojekte und/oder Bachelorarbeiten können auch im Verbund mit mehreren Studierenden bearbeitet werden. Ebenso kann das Thema mit mehreren Studierenden als Informatikprojekt bearbeitet werden.

Worum geht es?

Ein API-Gateway stellt APIs für Clients und/oder externe IT-Systeme zur Verfügung. Das hat mehrere Nutzeffekte:

  • Service Composition: Verschiedene interne Services können zu einem (ggfs. Client-spezifischen) Service komponiert werden
  • Versionierung: man kann eine Version eines Service gegen eine neue austauschen, ohne dass der externe Consumer dies mitbekommt. Wenn die neue Version eine geänderte Schnittstelle beinhaltet, kann das API-Gateway eine Konversion implementieren
  • Protokoll-Übersetzung: So kann etwa der externe Client eine REST-Schnittstelle vorfinden, während intern eine Message Queue verwendet wird.
  • Mocking: Statt dem echten Service für Servicezwecke einen Mock verwenden

Bei komplexen Microservice-Landschaften wird Service Discovery zu einer Notwendigkeit, um nicht zu viel manuellen Konfigurations- und Wartungsaufwand zu haben.

Besonders interessant wäre daher eine Kombination von Service Discovery und einer API-Gateway-Implementierung. Die internen Services sollten dabei die Möglichkeit haben, APIs als Public oder Private zu kennzeichen. Die Services könnten dann entsprechend automatisch zur Verfügung gestellt werden.

Inhalt

In dieser Arbeit sollten zunächst die Anforderungen an ein solches kombiniertes API Gateway definiert werden. Dafür sind Literaturrecherche und Expertenbefragungen denkbar.

Auf dieser Basis sollte dann eine Implementierung umgesetzt werden. Ziel sollte zunächst ein funktionsfähiger Prototyp, mit Perspektive auf ein Minimum Viable Product, sein. Wenn das Projekt gut verläuft, ist auch die Veröffentlichung als Open Source eine Perspektive.

Ein praktischer Anwendungsfall, in dem die gewählte Lösung anhand eines Beispiels (als Prototyp) in einem Produktivsystem umgesetzt wird, kann die Arbeit abrunden. Als Produktivsystem dient dabei die konsequent und kompromisslos als System von Microservices ausgelegte Lehr- und Lernplattform ArchiLab.

Bei Interesse

Sie haben allgemeine Rückfragen, konkretes Interesse oder sogar Änderungs-/Erweiterungsvorschläge? Bitte vereinbaren Sie unverbindlich einen Termin mit mir (am einfachsten über https://bente.youcanbook.me/), und wir können die praktische Ausgestaltung des Themas diskutieren.