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.

5.3 Client-Architektur und -Funktionalität 63<br />

Die Konzepten lassen sich kurz folgendermaßen veranschaulichen: ein oder mehrere Erzeuger (Publisher)<br />

verbinden sich mit dem Broker und verschicken mehrere Mitteilungen mittels AMQP, die für<br />

einen bestimmten “Posteingang” oder “Poststelle” (Exchange) gemeint sind. In der “Post” werden<br />

Kopien dieser Mitteilungen zu den entsprechenden “Abonnenten” (die Verbraucher) anhand spezifischer<br />

Regel auf den Weg (Route) zu dem für einen bestimmten Verbraucher (Consumer) zuständigen<br />

“Postfach” (Queue) geliefert.<br />

Ein wesentlicher Unterschied zwischen AMQP und anderen Protokollen für den Austausch von<br />

Mitteilungen (Instant Messaging, IM) wie z.B. XMPP (Extensible Messaging and Presence Protocol,<br />

ein Netzwerkprotokoll für den Austausch von Mitteilungen, auf XML basierend) ist folgende: wegen<br />

der Abkoppelung der wesentlichen an der Kommunikation teilnehmender Parteien (die Erzeuger und<br />

die Verbraucher) lässt sich das Konzept von “Präsenz” (engl. presence) im Fall vom AMQP nicht<br />

umsetzen. Trotzdem lassen sich dafür andere Systeme anwenden, wie in Kapitel 7.3.4 erläutert wird.<br />

Weiterhin besteht einen anderen wesentlichen Vorteil vom AMQP darin, dass verschiedene Kommunikationsmuster<br />

umgesetzt werden können: die Distribution kann in einer “Broadcast” Art und<br />

Weise erfolgen (1 Erzeuger erreicht ein oder mehrere Verbraucher), was bei Protokolle für Instant<br />

Messaging nicht erfolgt – diese unterstützen den normalen eins-zu-eins Kommunikationsmuster [VW12].<br />

Im Kapitel 7.3.4 werden Details über die prototypische Anwendung des AMQP-Protokolls im Rahmen<br />

der Arbeit gegeben. Dies erfolgt mit der Unterstützung des Brokers namens RabbitMQ und dessen<br />

spezifische Erweiterungen des AMQP-Protokolls.<br />

5.3 Client-Architektur und -Funktionalität<br />

In den kommenden Abschnitten wird die allgemeine Architektur der Client-Anwendung eingegangen.<br />

Diese richtet sich nach den Prinzipien, die vom Android Software-Plattform für die Entwicklung<br />

eigener Android-Anwendungen (Kurzform: Android Apps) bereitgestellt werden.<br />

5.3.1 System-Architektur des Android Plattform<br />

Android ist keine Hardware-Plattform, sondern repräsentiert eine Software-Plattform (auch engl.<br />

Software Stack) oder eine Software-Umgebung, die für mobile Geräte entwickelt worden ist. Als<br />

Plattform bietet Android umfangreiche Funktionalitäten, wie z.B. ein Linux-basiertes Betriebssystem,<br />

eine komplette Lösung für die Gestaltung der Benutzeroberfläche, End-Benutzer Anwendungen,<br />

eigene Frameworks für die Entwicklung dessen, Unterstützung von Medien und viele andere Fähigkeiten<br />

[ACS09].<br />

Ein interessantes Eigenschaft der Android Plattform ist die folgende: es besteht keinen Unterschied<br />

zwischen mitgelieferten Anwendungen und End-Benutzer Anwendungen, die (von Dritten) mithilfe<br />

des Software Development Kits (SDK, eine Kollektion von Tools und spezifische Anwendungen, die<br />

benutzt werden können, um ein eigenes Softwareprodukt zu erstellen) entwickelt worden sind und auf<br />

dem End-Gerät installiert worden sind. Es können aus dieser Hinsicht fortgeschrittene, leistungsstarke<br />

Anwendungen geschrieben werden, die die Ressource des End-Geräts zu Nutze machen [ACS09].<br />

Der Zusammenhang zwischen den Bestandteilen des Android Plattform und das entsprechende End-<br />

Hardware Plattform (die Laufumgebung) werden in der Abbildung 5.3 dargestellt.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!