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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

106 Umsetzung des Prototyps<br />

Form (z.B. eine Chat-Sitzung) zu einer dauerhaften Form (z.B. die Archivierung einer Konversation)<br />

per “Anfrage” umgewandelt werden sollen.<br />

Des Weiteren wird das nicht-relationale Datenbanksystem “Redis” für die Speicherung und bzw.<br />

Anfrage des aktuellen <strong>Online</strong>-Zustandes eines Benutzers (z.B. <strong>Online</strong> oder Offline) eingesetzt. Eine<br />

weitere Entwicklung des “Präsenz” Konzeptes wäre die Speicherung verschiedener Metadaten über<br />

die Präsenz, wie z.B. Ereignisse wie “tippt gerade” (engl. is typing) oder “zuletzt gesehen am .. Zeit”<br />

(engl. last seen at).<br />

Die technische Infrastruktur für die Realisierung des Kommunikationskanals ist das amqp Ruby<br />

Gem, welches nicht nur eine Schnittstelle zum AMQP-Netzwerkprotokoll und zu den dazugehörigen<br />

Broker-Systemen bereitstellt, sondern nutzt auch spezifische Erweiterungen von Brokers (wie z.B.<br />

die RabbitMQ-Erweiterungen) nutzt.<br />

Zusammenfassung<br />

In diesem Abschnitt wurde die Umsetzung des Kommunikationskanals vorgestellt. Zu beachten<br />

ist jedoch die prototypische Gewährleistung eingeschränkter Funktionalitäten. Es wurde nur ein beispielhaftes<br />

Szenario der Übersendung von einfachen Nachrichten (“Instante Nachrichten” oder IM)<br />

zwischen Wohnungseigentümer und -mieter getestet (d.h. nicht evaluiert).<br />

Der Grund für diese Entscheidung ist die ubiquitäre Präsenz und Nutzung anderer Kanäle für die<br />

Kommunikation (z.B. Google Talk / IM-Anbieter, E-Mail oder SMS) von den Benutzern. Andererseits<br />

besteht der Vorteil des Konzeptes zum Kommunikationskanal darin, dass eine sichere Kommunikation<br />

hinsichtlich der Vertraulichkeit (siehe auch 1.5.5) und Teilnehmerauthentizität (siehe auch die<br />

Erklärungen aus Paragraph 7.3.3 und 7.3.5) entstehen kann.<br />

Im folgenden Abschnitt wird ein anderer Teil der Implementierung vorgestellt, welche das Datenmodell<br />

für die Client-Anwendungen anhand einer REST-basierten Schnittstelle zur Verfügung stellt.<br />

7.3.5 REST Implementierung<br />

Ein wesentliches Kriterium, das während der Suche nach einem geeigneten Framework für die Umsetzung<br />

einer REST API gestellt wurde, ist die “Leichtigkeit” der Lösung. Es wurde ein Framework<br />

gesucht, welches die Rack Schnittstelle (siehe auch 5.2.1) umsetzt und ein geeignetes DSL (Domain<br />

Specific Language, eine domänenspezifische Sprache, womit Lösungen für ein bestimmtes Problemfeld<br />

möglichst kompakt definiert werden können) für die Beschreibung der einzelnen Methoden (die<br />

so genannten “Routen”) bereitstellt.<br />

Ein erster Gedanke war das Web Framework namens “Sinatra”: die zur Verfügung gestellte DSL ist<br />

kompakt, jedoch wird Sinatra als ein voll entwickeltes Framework für die Umsetzung Web-basierter<br />

Anwendungen (Web Applications, Kurzform “Webapps”) angesehen und nicht “nur” als ein Framework<br />

für die Definition eines REST API. In dieser Hinsicht wurde die Entscheidung getroffen, eine<br />

nicht unbedingt bekannte 13 aber mächtige Softwarelösung für die Definition von REST APIs namens<br />

“Grape” 14 anzuwenden.<br />

13 Grape hat 1900 Watchers und 162 Forks auf Github, während Sinatra wesentlich populärer ist, mit 4160 Watchers und<br />

615 Forks<br />

14<br />

http://intridea.github.com/grape/

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!