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