Developing Distributed Frontends from isolated Web Components in a Microservice Architecture

  • Markus Tobias Reichl

    Studienabschlussarbeit: Masterarbeit

    Abstract

    Das Forschungsprojekt European Distributed Data Infrastructure for Energy (EDDIE)
    zielt darauf ab, Dritten die Anforderung von Energiedaten von Kunden zu ermöglichen,
    indem eine Benutzeroberfläche bereitgestellt wird, über die diese Berechtigungen verwaltet werden können. Das Framework erfordert die Integration von UI-Elementen in
    die Systeme Dritter, um die vielfältige Landschaft nationaler und regionaler Datenanbieter widerzuspiegeln. Dies erfordert über hundert unabhängige Dienste, die jeweils
    einzigartige UI-Elemente mit unterschiedlicher Komplexität bereitstellen, die:
    1. Bedingt geladen werden, basierend auf vorherigen Benutzerinteraktionen.
    2. Unabhängig mit ihren Diensten kommunizieren.
    3. Ihren eigenen Zustand verwalten und diesen über ihren Dienst dem EDDIEFramework zur Verfügung stellen.
    4. Unabhängig von anderen UI-Elementen und nahe an der Implementierung ihres
    Dienstes entwickelt werden.
    5. Gemeinsame Funktionalitäten, Komponenten und Stile über Dienste hinweg teilen.
    Diese Arbeit untersucht Ansätze zur Implementierung einer Webanwendung, die
    aus diesen bedingt gerenderten UI-Elementen besteht und über zahlreiche unabhängige
    Dienste verteilt ist. Die Methodik umfasste die Definition der UI-Anforderungen, die
    Recherche von Architekturansätzen, den Vergleich von Implementierungsoptionen, die
    Auswahl eines Prototyp-Ansatzes und die Bewertung des Prototyps basierend auf Entwicklerfeedback. Der gewählte Ansatz nutzt native Web Components und Prinzipien
    von Microservices und Microfrontends, um eine skalierbare und wartbare Architektur
    zu erreichen.
    Die Ergebnisse zeigen, dass der Microfrontend-Ansatz mit Web Components die
    Anforderungen des EDDIE-Projekts effektiv erfüllt, die unabhängige Entwicklung und
    Bereitstellung von UI-Elementen ermöglicht, die Robustheit erhöht und ein konsistentes
    Benutzererlebnis bietet. Diese Erkenntnisse bieten wertvolle Orientierung für Entwickler
    und Forscher, die ähnliche Herausforderungen angehen, und tragen zum fortlaufenden
    Diskurs über Microfrontends und Web Components in der Webentwicklung bei.
    Datum der Bewilligung2024
    OriginalspracheEnglisch (Amerika)
    Betreuer/-inShievam Kashyap (Betreuer*in) & Marc Kurz (Betreuer*in)

    Zitieren

    '