Skip to content

Commit 62a26b9

Browse files
Merge pull request #5 from it-at-m/update-arch-diag
Update architecture diagram
2 parents 148786c + 2f0b85d commit 62a26b9

1 file changed

Lines changed: 86 additions & 19 deletions

File tree

README.md

Lines changed: 86 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,94 @@ Auch das Positionspapier [Digitale Souveränität mit Solid, für interoperable
1414

1515
## Architektur
1616

17-
''vorläufig''
17+
*vorläufig*
1818

1919
```mermaid
20-
architecture-beta
21-
group bib(database)[Bib Daten]
22-
service stoc(database)[Books Stock] in bib
23-
service event(database)[Events] in bib
24-
service other(database)[Other] in bib
25-
service index(database)[Index] in bib
26-
group web(internet)[Website]
27-
service podwidget(internet)[Widget] in web
28-
group pod(cloud)[Pod]
29-
service frontend(internet)[Frontend] in pod
30-
service backend(disk)[Backend] in pod
31-
32-
stoc:L -- B:index
33-
event:L -- B:index
34-
other:L -- B:index
35-
index:L -- L:podwidget
36-
frontend:R -- L:podwidget
37-
frontend:L -- R:backend
20+
flowchart TD
21+
classDef nonArch fill:#dcfce7,stroke:#16a34a,color:#14532d
22+
classDef nonArchDashed fill:#dcfce7,stroke:#16a34a,color:#14532d,stroke-dasharray: 5 5
23+
classDef planned stroke:#9ca3af,color:#6b7280,stroke-dasharray: 5 5
24+
classDef ghost fill:none,stroke:none,color:#374151
25+
style moreUseCases stroke:#9ca3af,color:#6b7280,stroke-dasharray: 5 5
26+
27+
subgraph msb["<h2>Münchner Stadtbibliothek</h2>"]
28+
data["<b>Datenquellen</b>
29+
#bull;&nbsp;Katalogdaten (OAI)
30+
<i>data-bib.muenchen.de</i>
31+
#bull; Veranstaltungen (VADB)
32+
#bull; Weitere (z.B. Blogposts)
33+
"]
34+
site["<b>Webseite</b>"]
35+
typo3["<b>Typo3 Plugin</b>
36+
#bull; Interessensverwaltung
37+
#bull; Empfehlungsmodul
38+
#bull; One-Klick-Modul
39+
"]
40+
index["<b>Index</b>: ElasticSearch"]
41+
typo3 -->|speist persönliche Daten in Suche ein| index
42+
index -->|indiziert| data
43+
site -->|integriert| typo3
44+
end
45+
46+
subgraph moreUseCases["<h2>Weitere Anwendungen</h2>"]
47+
connectBtn["Integration eines<br><b>Connect your Pod</b><br>Buttons"]
48+
textNode["<div align='left'>
49+
<b>Das könnten beispielsweise sein:</b>
50+
#bull; Weitere Bibliotheken
51+
#bull; Restaurants in Kiel
52+
#bull; Berliner Volkshochschulen
53+
#bull; Angebote für Erstsemester-Studierende einer Uni
54+
→ Letztlich alle Apps und Services, die Angebote personalisieren möchten, ohne Nutzer*innendaten selbst zu speichern: <i>Privacy-preserving Personalization-as-a-Service</i>
55+
<span style='opacity:0'>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</span>
56+
</div>"]:::ghost
57+
end
58+
59+
subgraph cori["<h2>CORI</h2>Contextual Relational Infrastructure"]
60+
cockpit["<b>Cockpit</b>
61+
<small><i>serverless</i></small>
62+
#bull; Profile verwalten
63+
#bull; Import/Export
64+
#bull; Zugriffshistorie
65+
"]
66+
psi["<b>Profile Storage Interface</b>"]
67+
admin["<b>Admin</b><br>#bull;&nbsp;Gesamtvokabular&nbsp;verwalten<br>#bull;&nbsp;Änderungen&nbsp;kommunizieren<br>#bull;&nbsp;Liste&nbsp;teilnehmender&nbsp;Apps"]
68+
exec["<b>Execution Engine</b>"]:::planned
69+
integrate["<b>Integration SDK</b>"]
70+
cockpit -->|nutzt| integrate
71+
integrate <-->|read/write| psi
72+
integrate -.-> exec
73+
exec -.->|führt Verarbeitungslogik aus| psi
74+
end
75+
76+
bibComm["<b>Bibliotheksübergreifende&nbsp;Zusammenarbeit</b>
77+
#bull;&nbsp;Gemeinsame&nbsp;Vokabularentwicklung
78+
#bull;&nbsp;Gemeinsame&nbsp;Feature-Entwicklung
79+
"]:::nonArch
80+
81+
pod1["<b>Managed Solid Pod</b>"]
82+
pod2["<b>Eigener Solid Pod</b>"]
83+
pod3["<b>Weitere</b>
84+
#bull; EUDI Wallet?
85+
#bull; Local Storage
86+
#bull; In-Memory
87+
"]:::planned
88+
89+
communityInput["<b>Weitere Kuratierungs- und Empfehlungsquellen</b>
90+
#bull;&nbsp;Von&nbsp;anderen&nbsp;Nutzer*innen&nbsp;hinterlegte&nbsp;Muster&nbsp;wie manuell&nbsp;kuratierte&nbsp;Empfehlungen&nbsp;oder&nbsp;lokale&nbsp;Events
91+
#bull;&nbsp;Weitere&nbsp;Empfehlungsalgorithmen&nbsp;via&nbsp;Plugins
92+
"]:::nonArchDashed
93+
94+
psi --> pod1
95+
psi --> pod2
96+
psi --> pod3
97+
98+
cori ~~~ msb
99+
msb ~~~ spacer[" "] ~~~ cori
100+
style spacer fill:none,stroke:none
101+
typo3 -->|nutzt| integrate
102+
connectBtn -->|nutzt| integrate
103+
msb -->|koordiniert| bibComm
104+
communityInput -->|fließen ein| typo3
38105
```
39106

40107

0 commit comments

Comments
 (0)