Developing Distributed Frontends from isolated Web Components in a Microservice Architecture

  • Markus Tobias Reichl

    Student thesis: Master's Thesis

    Abstract

    The European Distributed Data Infrastructure for Energy (EDDIE) project aims to
    enable third parties to request energy data from customers. For users to grant and
    manage their permission to access their energy data, the EDDIE framework needs to
    provide a user interface that third parties can integrate into their existing systems. Due
    to the multitude of national and regional data providers, the project requires more than
    a hundred independent services with highly specific implementations in order to reflect
    the diverse landscape of the energy domain. As a result, each service requires unique
    user interface elements of varying complexity that load conditionally, communicate with
    their service, manage their own state, and share common functionality and styles.
    As part of this architecture, each service requires unique UI elements of varying
    complexity, which have to
    1. load conditionally based on previous user interaction,
    2. communicate with their service in an independent way,
    3. manage their own state and make it available to the EDDIE framework through
    their service,
    4. be developed independent of other UI elements and close to the implementation
    of their service,
    5. share common functionality, components, and styles across services.
    This thesis explores approaches for implementing a web application composed of
    these conditionally rendered UI elements, distributed across numerous independent services. The methodology involved defining UI requirements, researching architectural
    approaches, comparing implementation options, selecting a prototype approach, and
    evaluating the prototype based on developer feedback. The chosen approach employs
    native Web Components, leveraging principles of microservices and microfrontends to
    achieve a scalable and maintainable architecture.
    The findings conclude that the microfrontend approach with Web Components effectively meets the EDDIE project’s requirements, enabling independent development and
    deployment of UI elements, enhancing robustness, and providing a consistent user experience. These insights offer valuable guidance for developers and researchers addressing
    similar challenges, contributing to the ongoing discourse on microfrontends and Web
    Components in web development.
    Date of Award2024
    Original languageEnglish (American)
    SupervisorShievam Kashyap (Supervisor) & Marc Kurz (Supervisor)

    Cite this

    '