22.01.2014 Aufrufe

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!