Commit 1ee244fd authored by uschwar1's avatar uschwar1
Browse files

abstract PID consumer

parent 9915de7b
# Activities in a PID Architecture
These are diagrams that show the main foreground and background activities in
a PID architecture
The overall overview is given in the following diagram:
## Overview
The complete description of all internal relations is given in the following diagram:
```plantuml
actor User
......@@ -46,6 +50,8 @@ Repo ..> ProfR : "looks up Profile"
PIDserv ..> ProfR : "complies to Profile"
```
## Overview without Types and Profiles
The same diagram without types and profiles:
```plantuml
......@@ -91,54 +97,87 @@ Repo *--> SRA : "requests Prefix"
'PIDserv ..> ProfR : "complies to Profile"
```
## Global PID Registration and Resolution
An abstraction of the global PID Registration and Resolution is given in the following diagram
```plantuml
actor User as User1
agent Repository as Repo1
agent "global PID Registration and Resolution" as PIDreg1
database "PID Service" as PIDserv1
rectangle "Local PID Provider" as PIDprov1
User1 o--> Repo1 : "registers Data"
User1 <--* Repo1 : "issues credential"
User1 --> Repo1 : "accesses Data"
User1 --> PIDreg1 : "queries PID"
'Repo1 --> Repo1 : "manages Data"
Repo1 o--> PIDserv1 : "registers/modifies PID"
PIDserv1 ..> User1 : "resolves PID"
PIDserv1 <--o Repo1 : "accesses Prefix"
PIDserv1 *..> Repo1 : "issues credential"
PIDreg1 ..> PIDserv1 : "resolves Prefix namespace"
PIDreg1 *....> PIDprov1 : "retrieves allocated Prefix"
PIDreg1 <....* PIDprov1 : "provides PID service info"
PIDserv1 <..o PIDprov1 : "implements and runs PID service"
Repo1 *--> PIDreg1 : "requests Prefix"
actor User as User
agent Repository as Repo
agent "global PID Registration and Resolution" as PIDreg
database "PID Service" as PIDserv
rectangle "Local PID Provider" as PIDprov
User o--> Repo : "registers Data"
User <--* Repo : "issues credential"
User --> Repo : "accesses Data"
User --> PIDreg : "queries PID"
'Repo --> Repo : "manages Data"
Repo o--> PIDserv : "registers/modifies PID"
PIDserv ..> User : "resolves PID"
PIDserv <--o Repo : "accesses Prefix"
PIDserv *..> Repo : "issues credential"
PIDreg ..> PIDserv : "resolves Prefix namespace"
PIDreg *....> PIDprov : "retrieves allocated Prefix"
PIDreg <....* PIDprov : "provides PID service info"
PIDserv <..o PIDprov : "implements and runs PID service"
Repo *--> PIDreg : "requests Prefix"
```
## Abstraction of the Global PID Architecture
The user's and repository's view of the global PID architecture is given in the following diagram
```plantuml
actor User as User1
agent Repository as Repo1
actor User as User
agent Repository as Repo
agent "global PID Architecture" as PIDarch
'database "PID Service" as PIDserv1
'rectangle "Local PID Provider" as PIDprov1
User1 o--> Repo1 : "registers Data"
User1 <--* Repo1 : "issues credential"
User1 --> Repo1 : "accesses Data"
User1 --> PIDarch : "queries PID"
'Repo1 --> Repo1 : "manages Data"
Repo1 o--> PIDarch : "registers/modifies PID"
PIDarch ..> User1 : "resolves PID"
PIDarch <--o Repo1 : "accesses Prefix"
PIDarch *..> Repo1 : "issues credential"
'database "PID Service" as PIDserv
'rectangle "Local PID Provider" as PIDprov
User o--> Repo : "registers Data"
User <--* Repo : "issues credential"
User --> Repo : "accesses Data"
User --> PIDarch : "queries PID"
'Repo --> Repo : "manages Data"
Repo o--> PIDarch : "registers/modifies PID"
PIDarch ..> User : "resolves PID"
PIDarch <--o Repo : "accesses Prefix"
PIDarch *..> Repo : "issues credential"
'PIDarch ..> PIDarch : "resolves Prefix namespace"
'PIDarch *....> PIDarch : "retrieves allocated Prefix"
'PIDarch <....* PIDarch : "provides PID service info"
'PIDarch <..o PIDarch : "implements and runs PID service"
Repo *--> PIDarch : "requests Prefix"
```
## The PID consumer's view of the global PID architecture
PID Registration and Resolution with the Global PID Architecture is given in the following diagram
```plantuml
'actor User as User
'agent Repository as Repo
agent "PID consumer" as PIDconsumer
agent "global PID Architecture" as PIDarch
'database "PID Service" as PIDserv
'rectangle "Local PID Provider" as PIDprov
'User o--> Repo : "registers Data"
'User <--* Repo : "issues credential"
'User --> Repo : "accesses Data"
PIDconsumer --> PIDarch : "queries PID"
'Repo --> Repo : "manages Data"
PIDconsumer o--> PIDarch : "registers/modifies PID"
PIDarch ..> PIDconsumer : "resolves PID"
PIDarch <--o PIDconsumer : "accesses Prefix"
PIDarch *..> PIDconsumer : "issues credential"
'PIDarch ..> PIDarch : "resolves Prefix namespace"
'PIDarch *....> PIDarch : "retrieves allocated Prefix"
'PIDarch <....* PIDarch : "provides PID service info"
'PIDarch <..o PIDarch : "implements and runs PID service"
Repo1 *--> PIDarch : "requests Prefix"
PIDconsumer *--> PIDarch : "requests Prefix"
```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment