Abstract
The European Distributed Data Infrastructure for Energy (EDDIE) project aims toenable 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 Award | 2024 |
---|---|
Original language | English (American) |
Supervisor | Shievam Kashyap (Supervisor) & Marc Kurz (Supervisor) |