Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
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/