Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UC] Combining data from multiple sources #26

Open
uvdsl opened this issue Dec 9, 2024 · 1 comment
Open

[UC] Combining data from multiple sources #26

uvdsl opened this issue Dec 9, 2024 · 1 comment
Labels
triage Issues needing triage usecase LWS Use Case

Comments

@uvdsl
Copy link

uvdsl commented Dec 9, 2024

Status: Draft

As a data consumer, e.g. (a user of) an application for inter-organisational business processes,
I want to seamlessly retrieve, combine and store data from and in different data storages from different organisations,
So that I do not need to care what (different kinds of) servers I am interacting with.

Preconditions:

What conditions must be in place or assumed before this use case can begin?

  • multiple data storages (which are under control of different agents)
  • an application that might need to access data from these storages
  • the data consumer (application and its user) is authorized by the different agents' controlling their respective data storages to access the desired data
  • the data consumer already knows the URIs of the resources it needs to access

Trigger:

What (user or system) event or action initiates this use case?

The application needs to access and combine data from different organisations in a certain step of the inter-organisational business process.

Actors:

Describe the primary actor, and any other relevant actors involved in this use case

  • multiple data storages
  • an application that might need to access data from these storages

Distinction:

What unique challenges or distinguishing factors (like technical issues, user experience needs, workflow integration, etc.) are associated with this use case?

The application needs to know how to use the APIs of the different data sources, and integrate every single different one.

Scenario:

Describe an ideal or happy-case scenario where this use case would play out as intended.

Happy Path: All data sources follow a standardised API design with specified method semantics.
The data consumer only needs to implement one way of accessing data from (the different) data sources.

Alternative case(s):

What alternative flows or variations should the system handle for this use case?

Error scenario:

What unexpected issues or errors might arise, and how should the system handle them?

If a data source does not implement the standardised API to the full extend, it should advertise its shortcomings in a 'constraintBy' resource (could be advertised in a Link header).

Acceptance Criteria:

What conditions or criteria must be met for this use case to be considered successfully handled? What limitations are acceptable?

An application can execute CRUD operations on the different data sources via a standardised interface.

References:

List any relevant resources or examples that could inform this use case, possibly from other domains or solutions.

Research projects:

  • MANDAT Project: In a nutshell, MANDAT is about researching methods for exchange of company-related data (in data ecosystems where a data fiduciary may exist) and solving the problems that arise on the way, using the Solid protocol.
    MANDAT is supported by the German Ministry for Education and Research (BMBF) under grant 16DTM107, specifically FKZn 16DTM107A, 16DTM107B, and 16DTM107C, which are funded by the European Union -- NextGenerationEU.

Example use cases in publications on inter-organisational data sharing:

@uvdsl uvdsl added triage Issues needing triage usecase LWS Use Case labels Dec 9, 2024
@csarven
Copy link
Member

csarven commented Dec 9, 2024

Additional references:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Issues needing triage usecase LWS Use Case
Projects
None yet
Development

No branches or pull requests

2 participants