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.
62 Entwurf<br />
• Verteilung von Kontext-Informationen, von einem Sensor in der Umgebung, zu einem zentralen<br />
System oder anderen Sensoren<br />
• Kommunikation zwischen kontextbewussten Anwendungen<br />
Zur Unterstützung dieser Anwendungsfälle wird das AMQP-Netzwerkprotokoll eingesetzt, wie<br />
weiter im 7.3.4 vorgestellt.<br />
Advanced Message Queuing Protocol (AMQP) ist ein standardisiertes, frei benutzbares Netzwerkprotokoll,<br />
welches die Kommunikation zwischen einer Anwendung und ein <strong>Server</strong>-System (ein “Broker”)<br />
ermöglicht. Die Bedingung dafür ist natürlich, dass sowohl die Anwendung als auch das Broker<br />
dem beschriebenen AMQP-Standard übereinstimmen.<br />
Der offene Standard AMQP wurde 2004 von dem Finanzinstitut namens JPMorgan Chase eingeführt<br />
als eine Lösung für Message Queuing (MQ)-bezogene Bedürfnisse und Topologien. Das Message<br />
Queuing Konzept wurde im Jahr 1985 entwickelt und lässt sich anhand der ursprüngliche Beschreibung<br />
– ein “Software Datenbus” (später als The Information Bus (TIB) bekannt), die Information von<br />
einer Anwendung zu einer anderen interessierten Anwendung übermittelt. Durch dieses Konzept wurde<br />
die häufig eintretende Problematik der Integration verschiedener Softwarelösungen angegangen.<br />
Darüber hinaus sollte die Lösung eine immer steigende Belastung an Mitteilungen aufrechterhalten<br />
[VW12]. An dieser Stelle kann das vorhersehbare Beispiel einer Anwendungsfall für AMQP gegeben<br />
werden: der Handel mit Aktien oder Trading.<br />
Aus diesem Grund ist die geleistete Interoperabilität ein nennenswerter Aspekt des AMQP-Protokolls<br />
– es können AMQP-konforme Systeme miteinander kommunizieren, trotz technologischer Heterogenität<br />
(z.B. andere Ziel-Plattformen, Programmiersprachen). Darüber hinaus lassen sich beliebige<br />
Typen von Mitteilungen (engl. payload) verschicken, wie z.B. ein JSON-Objekt, eine String-Wert,<br />
binäre Inhalte oder sogar Medien [VW12].<br />
Erforderlich für die Kommunikation ist die Präsenz einer Bezeichnung (engl. label), die den Namen<br />
des Exchange (s.u.) enthält. Die Aufgabe des Brokers ist mögliche Verbraucher anhand dieser<br />
Bezeichnung auszuwählen und sie über die Mitteilung zu informieren. Die Benennung eines bestimmten<br />
Empfängers vom Erzeuger ist im Vergleich zum TCP-Protokoll daher nicht benötigt [VW12]. Ein<br />
Empfänger wird wie gesagt vom Broker ausgewählt.<br />
Aus Sicht der Architektur wird ein “Broker” (auch als Message-Oriented Middleware bekannt)<br />
benötigt, die die Kommunikation verwaltet. Die Verwaltung (bzw. die Distribution oder Routing, sowie<br />
die Persistenz der nicht zustellbaren Mitteilungen) hat als Basis verschiedene AMQP-spezifische<br />
Konzepte, die in der Abbildung 5.2 zusammengefasst sind.<br />
Abbildung 5.2: Zentrale Konzepte des AMQP-Netzwerkprotokolls.<br />
Quelle: Angelehnt an http://rubyamqp.info/articles/getting_started