Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
114 Umsetzung des Prototyps<br />
Loggings (ein “debug” Modus), in dem einzelne Anfragen, Antworten und Reaktionsszeiten in der<br />
Konsole ausgegeben werden.<br />
7.3.6 Sonstige Funktionalität des Backends<br />
Im Folgenden werden einige Details über die sonstige von der Backend-Komponente angebotene<br />
Funktionalität gegeben.<br />
QR-Code Generierung<br />
Eine sonstige Funktionalität des Backends wird von der Unterstützung der Indoor-Lokalisierung<br />
repräsentiert. Hiermit wird ein Eingangswert (z.B. eine String, die eine URI kodiert) entgegengenommen<br />
und mit Hilfe des Ruby Gems namens barby 25 eine Darstellung des Wertes als QR-Code als<br />
Antwort zurückgeliefert.<br />
Das Format der Antwort ist ein PNG-Bild, in einer mittleren Größe. Kodiert wurde das übergebene<br />
Wert (meistens eine URI, die für andere Anwendungen oder Szenarien keinerlei Bedeutung tragen<br />
sollte, wie z.B. /real_asset/42 – hiermit wird kodiert, dass der QR-Code ein RealAsset des<br />
Datenmodells, mit der ID 42 repräsentiert).<br />
Weitere Entwicklungen können an dieser Stelle genannt werden, wie z.B. die direkte Untersützung<br />
des PDF-Formats, welches vom genannten Gem auch unterstützt wird. Dieser Anwendungsfall könnte<br />
auch für die Implementierung des REST-Prinzips für verschiedene Repräsentationen derselben Route<br />
(siehe dazu Paragraph 2.7) verwendet werden. Weiterhin könnte die Speicherung der generierten<br />
Datei, die der QR-Code enthält, direkt auf dem <strong>Server</strong> entstehen.<br />
Diese Funktionalität des Backends wird für die Generierung von QR-Codes eingesetzt, die eine<br />
vereinfachte Art von Indoor-Lokalisierung bereitstellen, wie im Paragraph 7.4.3 weiter erläutert wird.<br />
Logging<br />
Das Backend setzt die vorher aufgeführten Konzepte des Logging-Verfahrens (siehe auch Paragraph<br />
7.1) um, indem das genannte Werkzeug namens Log4r um einige Funktionalitäten erweitert<br />
wurde.<br />
Die Funktionalitäten erlauben die Vererbung von Logging-Eigenschaften einer Vater-Klasse (z.B.<br />
Pfad der zu speichernden Datei) zu der neuen Kind-Klasse. Darüber hinaus wurden einige Vereinbarungen<br />
in die Implementierung des Logging-Verfahrens eingebettet wie z.B. die automatische Speicherung<br />
der Logging-Datei mit der Dateimaske .log.xml unter dem Ordner<br />
log in der Projektstruktur. Des Weiteren wurden Kurzformen der benötigten Methoden zum Logging<br />
in jeder aufrufenden Klasse mittels grundlegender Metaprogrammierungs-Verfahren definiert, sodass<br />
die Erstellung eines neuen Eintrags in die Logging-Datei einfach und kurz erfolgt.<br />
Konfigurationsdateien<br />
Zur Erleichterung der Eingabe sämtlicher Konfigurationsparameter wie z.B. Zugangsdaten, IP-<br />
Adressen und dazugehörige Ports wurde ein Mechanismus entwickelt, der den Vorgang des Ausle-<br />
25<br />
https://github.com/toretore/barby