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.

104 Umsetzung des Prototyps<br />

lage und ist als eine open-source Alternative zu kommerziellen MQ Implementierungen wie IBM<br />

WebSphere MQ oder Amazon Simple Queue Service gegeben.<br />

Erlang ist eine relativ kompakte Programmiersprache, die zugleich ein Laufzeitsystem und eine<br />

umfassende Bibliothek für die Entwicklung verteilter, hochverfügbarer Systeme zur Verfügung stellt.<br />

Eine alternative Bezeichnug für Erlang ist Erlang/OTP, bei der das Akronym OTP für The Open<br />

Telecom Platform steht.<br />

Die Auswahl von RabbitMQ kann folgenderweise begründet werden: aus verfügbaren open-source<br />

Message-Oriented Middleware Softwarelösungen wie ActiveMQ, ZeroMQ oder Apache Qpid setzt<br />

nur Apache Qpid den AMQP-Standard um [VW12]. Darüber hinaus verfügt RabbitMQ über eine<br />

umfangreiche Dokumentation inklusive Fachbücher.<br />

Ein weiteres Argument für RabbitMQ sind die praktischen, mitgelieferten Erweiterungen des AMQP-<br />

Protokolls. Beispielsweise können unzustellbare Mitteilungen persistiert werden; weiter lässt sich der<br />

Empfang einer Mitteilung von einem Verbraucher zu dem aufrufenden Erzeuger bestätigen. Eine<br />

ausführliche Beschreibung des Funktionsumfangs von RabbitMQ sowie weitere Erklärungen zum<br />

AMQP-Protokoll sind in [VW12] vorhanden.<br />

Queuing-Strategie für die Umsetzung des Kommunikationskanals<br />

Die generelle Strategie, die verwendet wurde, um die Funktionalität des Kommunikationskanals<br />

bereitzustellen ist in der folgenden Auflistung wiedergegeben:<br />

(a) Dauerhafte Queues: Es wird jeweils eine dauerhafte Queue für jede teilnehmende Rolle (Wohnungseigentümer<br />

und -Mieter) definiert. Die Queues können die im Sinne dieser Herangehensweise<br />

auch als “Inboxes” oder als “Foren” für jeden Teilnehmer angesehen werden. Hierbei werden<br />

dauerhafte Mitteilungen persistiert, indem aktuelle sowie vorherige Mitteilungen abgerufen<br />

werden können. Hier können auch Mitteilungen gespeichert werden, die zu dem Sendezeitpunkt<br />

nicht empfangen werden konnten (die “Offline” Art von Mitteilungen). Eine dauerhafte Queue<br />

kann nur auf Anfrage gelöscht werden.<br />

(b) Kurzlebige Queues: Darüber hinaus lassen sich nicht dauerhafte Queues erstellen, die für die<br />

Lebensdauer einer Instant Messaging Sitzung behalten werden. Eine Sitzung entsteht zwischen<br />

einem oder mehreren Wohnungsmietern und dem entsprechenden Wohnungseigentümer oder umgekehrt.<br />

Die Entfernung der nicht dauerhaften Queues wird normalerweise dann ausgeführt, wenn<br />

keine “Abonnenten” mehr (d.h. Erzeuger und Verbraucher) auf dem entstehenden “Kanal” lauschen.<br />

In diesem Fall könnte auch ein Mechanismus definiert werden, der die “ausgelaufenen”<br />

Queues in eine dauerhafte Form von Queues umwandelt, jeweils mit eindeutigen Namen (z.B.<br />

anhand des Zeitstempels).<br />

Für die erste aufgelistete Art von Queues kann die genannte erneute Zusendung der Mitteilung anhand<br />

einer RabbitMQ-spezifischen Erweiterung 12 zum AMQP-Standard erfolgen: Message Receipt<br />

Confirmation (auch als Publisher Acknowledgements bekannt). Weiterhin könnten die nicht zustellbaren<br />

Mitteilungen in der Benutzeroberfläche beispielsweise hervorgehoben werden, um zu zeigen<br />

dass sie während einer Zeitspanne von Inaktivität angekommen sind.<br />

12<br />

http://www.rabbitmq.com/extensions.html

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!