|
|
|
# Architektur
|
|
|
|
|
|
|
|
In dem folgenden Bild ist die Programmarchitektur zu sehen:
|
|
|
|
<img src="/uploads/b33d77b22236fdc7d9f8573f16c59f1c/technolo.jpg" height="400" width="550">
|
|
|
|
|
|
|
|
## Datenbanken
|
|
|
|
Wir haben insgesamt drei Datenbanken erstellt, wobei zwei davon XML-Datenbanken sind und die andere eine (My)SQL-Datenbank
|
|
|
|
|
|
|
|
### XML-Datenbanken
|
|
|
|
Als XML-Datenbank Server haben wir BaseX verwendet. Die erste Datenbank beinhaltet die originalen Daten aus dem XML-File, die wir aus folgender Quelle bezogen haben:
|
|
|
|
|
|
|
|
https://github.com/MKGHamburg/MKGCollectionOnlineLIDO_XML
|
|
|
|
|
|
|
|
Da wir nicht alle Daten verwenden wollten, haben wir alle Bilder gefiltert, die mit dem TAG "Holzschnitte" gekenntzeichnet haben. Dazu haben wir ein XSLT Skript geschrieben, das aus der alten XML eine neue generiert, die alle Holzschnitt Bilder enthält. Diese Daten der XML haben wir ebenfalls in eine neue XML-Datenbank "Holzschnitt" gespeichert. Aus dieser Datenbank beziehen wir alle Daten, die wir für die Generierung der HTML-Seiten brauchen werden.
|
|
|
|
|
|
|
|
### SQL-Datenbank
|
|
|
|
WIr haben zusätzlich einen MySQL-Datenbankserver aufgesetzt, der nur eine Tabelle mit zwei Spalten enthält: "Link", "Pfad". Es wurde uns nämlich dringend geraten alle Bilder zu speichern, da es passieren kann, dass während der Präsentation die Ressourcen zu den Bildern nicht mehr verfügbar sein können. Daher haben wir alle Bilder mit einem mit Skript heruntergeladen, in dem wir mit einem XPatch Query alle Links ausgegeben haben und mit wget heruntergeladen haben.
|
|
|
|
|
|
|
|
## Backend
|
|
|
|
Als Backend haben wir Python mit der Bibliothek Flask verwendet. Da wir mit dieser Bibliothek vertraut waren, haben wir diese auch verwendet. Somit konnten wir ganz bequen auf die API Endpunkte zugreifen und die HTML Seiten generieren lassen. Im Backend werden in erster Linie alle Informationen zu den Malern, Linkpfade und Titel mit einem XQuery aus der Datenbank herausgelesen und zurückgegeben. |
|
|
\ No newline at end of file |