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.
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