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.

Worum geht es?

Microservices sind von ihrer Definition her Technologie-agnostisch. Das Umsetzungsteam hat – im Rahmen der strategischen Leitplanken der IT-Organisation – Freiheit in der Technologiewahl. Das schließt natürlich auch die Programmiersprache ein.

Aber gibt es tatsächlich signifikante Unterschiede, wenn man auf diese Ebene heruntersteigt? Oder ist „Java doch für alles gut“? Es gibt eine Anzahl zu klärender Fragen:

  • Welche Standards muss eine Programmiersprache mitbringen, damit man sinnvoll überhaupt einen Microservice implementieren kann?
  • Gibt es signifikante Vorteile / Nachteile bei verschiedenen Sprachen?
  • Wie sieht es mit der Verfügbarkeit von Frameworks in bestimmten Sprachen aus?
  • Wie gut funktioniert die Einbindung in eine Continuous-Integration-Pipeline?

Inhalt

In dieser Arbeit soll eine Bewertungsmethodik für Microservice-Teams entstehen, mit der diese schnell entscheiden können, welche Sprache für die Problemstellung interessant ist.

Dazu sollten Evaluierungskriterien vorab festgelegt werden. Weiterhin müssen sinnvolle „Klassen“ von Services definiert werden (nach Literaturrecherche und/oder empirischen Expertenbefragungen).

Darauf aufbauend werden eine Anzahl von Proof-of-Concept-Implementationen umgesetzt und gemäß der Kriterien bewertet. Abschließend wird daraus die Methodik definiert, die z.B. aus einem Satz von „wenn – dann“ Regeln bestehen kann, gepaart mit Technologieempfehlungen.

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.