|
Abstract (de): |
Die Anforderungen an das Web steigen von Jahr zu Jahr, was dafür sorgt, dass die Systeme
dahinter immer umfangreicher und komplexer werden. Um große und vor allem komplexe
Webanwendungen in kleine unabhängige Services aufzuteilen, bedient man sich bei
Systemen, die im Hintergrund laufen (Backend), seit Jahren an der äußerst erfolgreichen
Microservice-Architektur (MSA).
Im sichtbaren Teil einer Webanwendung (Frontend), wird der darunter liegende Code in der
Regel nicht in kleine, unabhängige Teile aufgeteilt, da man lange Zeit keine andere
Möglichkeit hatte, außer einen Monolithen zu entwickeln. Dies ändert sich nun mit einem
neuen Architekturstil namens Micro Frontends (MF), welcher eine “microservice” ähnliche
Alternative zum Monolithen darstellt. MF in die Praxis umzusetzen ist aktuell noch schwierig,
da die Erfahrung mit diesem Architekturstil fehlt. Wenn MF falsch eingesetzt werden, bringen
diese oft mehr Nachteile als Vorteile.
Diese Arbeit zielt darauf ab, unterschiedliche Technologien miteinander zu vergleichen, um
herauszufinden, welche dieser Technologien am besten für MF geeignet sind.
Ein durch die Weighted Scoring Methode aufgestellter Vergleich von 5 verschiedenen MFFrameworks (Module-Federation, Single-Spa, Piral, Podium oder Mashroom-Server) und ein
Vergleich von Monorepo und Multi-Repo, lässt schlussendlich Module-Federation in
Kombination mit einem Monorepo als klaren Sieger hervorgehen. Darüber hinaus wurden
Lösungswege entdeckt, die den Nachteilen einer Micro Frontend Architektur (MFA)
entgegenwirken. |
|
Abstract (en): |
The demands on the web are increasing from year to year, which means that the systems
behind them are becoming more and more complex. In order to separate large and complex
software into small manageable parts, the extremely successful microservice architecture
(MSA) has been used in the backend for years.
In the visible part of a web application (frontend), the underlying code is usually not divided
into small independent parts, because for a long time, there was no other option than
developing a monolith. This is now changing with a new architectural style called Micro
Frontends (MF), which is a “microservice”-like alternative to the Frontend-Monolith. Putting
MF into practice is currently difficult because there is a lack of experience with this
architectural style. If MF are used incorrectly, they often bring more disadvantages than
advantages.
This work aims to compare different technologies to find out which of these technologies are
best suited for MF.
A comparison of 5 different MF frameworks (module federation, single spa, piral, podium or
mashroom server) and a comparison of monorepo and multi-repo, based on the weighted
scoring method, finally allows module federation in combination with a Monorepo to emerge
as the clear winner. In addition, solutions were discovered that counteract the disadvantages
of a micro frontend architecture (MFA). |