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.

110 Umsetzung des Prototyps<br />

gangs mittels Techniken der Reflection; eigene Tests auf einem mobilen Gerät haben diesen Vorgang<br />

als nicht optimal beurteilt. Die gefundene Lösung war die “manuelle” Umwandlung der Daten, anhand<br />

Konventionen, was die verwendeten Datentypen angeht, zwischen Backend und Frontend. Des<br />

Weiteren werden Ruby SDKs nicht von allen Alternativen angeboten.<br />

Trotz dieser “Marketing-Mitteilung” der Geschwindigkeit gegenüber JSON, setzt MessagePack ein<br />

kompaktes, binäres Format für die schnelle Übertragung von Mitteilungen im Rahmen einer Punktzu-Punkt<br />

(bzw. System-zu-System) Kommunikation. Dieses Konzept wird in Form verschiedener<br />

“Bindings” oder SDKs umgesetzt: MessagePack kann in eine erhebliche Anzahl von Programmiersprachen<br />

eingesetzt werden, welche die Interoperabilität dieses Produktes zeigt. Jedoch leidet MessagePack<br />

(wie viele andere open-source Projekte) unter der “Erkrangung” einer nicht unbedingt detaillierten<br />

Dokumentation.<br />

Obwohl verfügbar und behandelnd den meisten Anwendungsfälle, betrachtet die Dokumentation<br />

voraussichtlich veraltete Versionen des Produktes. Ein Hinweis ist vom Team an dieser Stelle gegeben<br />

– um Beispiele der Nutzung sehen zu können, müssen die geschriebenen Testfälle betrachtet werden.<br />

Dies implizit, dass die aktuelle Dokumentation wie gesagt veraltet ist. Trotz dieser Versuch, sich<br />

aus der Testfälle zu informieren, werden in den zahlreichen Tests jeweils nur Serialisierungen von<br />

vereinfachten Datentypen durchgeführt.<br />

Aus diesem Grund hat die Benutzung von MessagePack einige Probleme bei der Entwicklung des<br />

Frontends ergeben – im Fall der Ruby Version des MessagePack Gems können übliche Datenstrukturen<br />

(Hashes/Maps, Arrays) per eine Zeile Quelltext serialisieren (.to_msgpack) bzw. deserialisieren<br />

(MsgPack.unpack(..)).<br />

Die Zusammenfassung dieses Paragraphs kann folgendermaßen lauten: MessagePack stellt eine<br />

binäre Serialisierungsmethode, die eine bessere Komprimierung der Datenübertragung gewährleisten<br />

kann und wird meistens als eine Erweiterung zu einer bestehenden JSON-Serialisierung eingesetzt.<br />

Es werden verschiedene Programmiersprachen unterstützt und es gibt eine einigermaßen benutzbare<br />

Dokumentation. Darüber hinaus habe eigene Tests gezeigt, dass eine weitere Komprimierung der<br />

binären Übertragung weitere Gewinne bezüglich der Geschwindigkeit leisten kann.<br />

Nachdem die zu verschickenden bzw. empfangenen Daten serialisiert bzw. deserialisiert worden<br />

sind, muss eine Absicherung der Übertragung hinsichtlich der Nachrichtenauthentizität und der Datenintegrität<br />

(siehe auch Paragraph 1.5.5) erfolgen. Dieses Thema wird im folgenden Abschnitt eingegangen.<br />

Überprüfung der Nachrichtenauthentizität und Datenintegrität mittels HMAC<br />

Zur Unterstützung der genannten Sicherheitsziele wird das “rack-authenticate” 17 Gem benutzt, jeweils<br />

mit spezifischen Änderungen bezüglich der Performanz und allg. Debugging-bezogenen Konzepten.<br />

Wie vorher genannt, unterstützt Rack die Benutzung verschiedener “Middleware” Komponenten<br />

– diese werden normalerweise zwischen der Anfrage, das Web Anwendung und die Antwort zur<br />

Anfrage platziert aber sie können z.B. auch den gesamten Vorgang abbrechen. Der Zusammenhang<br />

von Middleware-Komponenten und die grundlegende Architektur von Rack wird in der Abbildung<br />

7.3 (angelehnt an dem Artikel “Rack Middleware Examples” 18 ) veranschaulicht.<br />

17<br />

https://github.com/seomoz/rack-authenticate<br />

18<br />

Erscheinungsdatum: 04. Juni 2010, http://ephemera.karmi.cz/post/663716963/rackmiddleware-examples

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!