eu-digital-identity-wallet / eudi-doc-architecture-and-reference-framework

The European Digital Identity Wallet
https://eu-digital-identity-wallet.github.io/eudi-doc-architecture-and-reference-framework/
Other
431 stars 60 forks source link

US: Synchronize ARF with Wallet Implementation by introducing CORE and GUI components. #149

Open Hugloss opened 8 months ago

Hugloss commented 8 months ago

Description

ARF needs to accurately describe the EUDI Wallet Solution as it is implemented, including both the CORE and GUI components. Currently, there is a discrepancy between ARF 1.3 and the actual implementation of the EUDI Wallet Solution. It's crucial to explicitly state that the EUDI Wallet Solution consists of both CORE and GUI components, which is not currently mentioned in the ARF.

I believe that the EUDI Wallet Solution has a CORE part at minimum, with the potential addition of a GUI part. This architecture is also described in the documentation for the actual implementation https://github.com/eu-digital-identity-wallet/eudi-lib-android-wallet-core?tab=readme-ov-file#overview

This library acts as a coordinator by orchestrating the various components that are required to implement the EUDI Wallet functionality. On top of that, it provides a simplified API that can be used by the application to implement the EUDI Wallet functionality.

Describing the EUDI Wallet Solution in this manner simplifies its architecture and clarifies how it should be implemented on devices other than mobiles.

To meet the needs for a server environment, either as an on-premise solution or in the cloud, the architecture of the EUDI Wallet Solution must be divided into distinct components. In server implementations, there is a clear separation between the various components, CORE and GUI.

The CORE component contains all base functionality, it is the essential component that manages the operations of the wallet solution. The CORE component is mandatory in all EUDI Wallet Solutions.

The GUI is an optional component that provides additional functionality. It offers a user-friendly interface and seamlessly integrates with the CORE system. Within the GUI, end users can manage attestations, including PIDs and (Q)EAAs. It also has the ability to display attestations and presentations, track their status, and even allow users to revoke an attestation. Importantly, the GUI relies on the CORE part for its fundamental functionality.

CORE https://github.com/eu-digital-identity-wallet/eudi-lib-android-wallet-core

GUI https://github.com/eu-digital-identity-wallet/eudi-app-android-wallet-ui

User Story

User: As a wallet solution architecture, I want to accurately describe the EUDI Wallet Solution as it is implemented, including both the CORE and GUI components Goal: To ensure that the EUDI Wallet Solution support server environments Reason: Currently, there is a discrepancy between ARF 1.3 and the real implementation of the EUDI Wallet Solution. Explicitly stating that the solution consists of both CORE and GUI parts will provide clarity and simplify its architecture for developers and users alike.

Acceptance Criteria

The EUDI Wallet Solution support server environments, by defining a clear separation between the CORE and GUI components

pinamiranda commented 6 months ago

Thank you for your submission.

The ARF does not take a stance on the architecture of implementations of Wallet solutions, and so the proposal is good but out of scope for the ARF document. Component description in the Reference architecture will be improved in version 1.4.0 (ARF v1.4)