bg_image
header

Publish-Subscribe-Muster - PubSub

Das Publish/Subscribe-Muster (oft als Pub/Sub abgekürzt) ist ein Kommunikationsmuster in der Softwareentwicklung, das die lose Kopplung von Komponenten oder Systemen ermöglicht. Es besteht aus zwei Hauptakteuren: dem Publisher und dem Subscriber.

  • Publisher: Verantwortlich für die Erzeugung und Veröffentlichung von Nachrichten oder Ereignissen. Ein Publisher sendet Nachrichten zu einem zentralen Ort, dem Message Broker oder Pub/Sub-System.

  • Subscriber: Registriert sich für bestimmte Arten von Nachrichten oder Themen, auf die er reagieren möchte. Ein Subscriber empfängt Nachrichten, die vom Publisher veröffentlicht und vom Message Broker an die entsprechenden Abonnenten weitergeleitet werden.

Das Schlüsselkonzept beim Pub/Sub-Muster besteht darin, dass der Publisher Nachrichten nicht direkt an bestimmte Empfänger sendet, sondern an ein zentrales Vermittlungssystem. Dieses System speichert die Nachrichten und verteilt sie dann an alle Subscribers, die sich für das entsprechende Thema oder die entsprechende Art von Nachrichten interessieren.

Das Muster ermöglicht eine entkoppelte, skalierbare und flexible Kommunikation zwischen verschiedenen Teilen einer Anwendung oder zwischen verschiedenen Anwendungen. Es wird in verschiedenen Systemen und Technologien eingesetzt, einschließlich Messaging-Brokern, Cloud-Plattformen, IoT (Internet of Things), Echtzeit-Analytik und anderen Szenarien, in denen eine flexible Nachrichtenübermittlung erforderlich ist.

 


Queue

Eine Queue (Warteschlange) ist eine Datenstruktur, die nach dem Prinzip "First In, First Out" (FIFO) funktioniert. Das bedeutet, dass das erste Element, das in die Warteschlange eingefügt wird, auch als erstes wieder herausgenommen wird.

Stell es dir wie eine echte Warteschlange vor: Diejenigen, die zuerst ankommen, werden auch zuerst bedient. In der Informatik und im Bereich der Nachrichtenverarbeitung wird eine Queue verwendet, um Elemente oder Nachrichten zu speichern, die darauf warten, von einem Prozess, einer Anwendung oder einem System verarbeitet zu werden.

Ein Beispiel dafür ist eine Nachrichtenwarteschlange in einem Message Broker. Wenn eine Anwendung eine Nachricht sendet, wird sie in die Queue eingefügt und wartet dort, bis sie von einer anderen Anwendung oder einem System abgeholt und verarbeitet wird. Dies ermöglicht eine effiziente, geordnete und zeitlich gesteuerte Verarbeitung von Nachrichten oder Aufgaben.

 


Message Broker

Ein Message Broker ist eine Softwarekomponente, die die Kommunikation zwischen verschiedenen Anwendungen oder Systemen ermöglicht, indem sie Nachrichten entgegennimmt, sie weiterleitet und zustellt. Er dient als Vermittler, der Nachrichten von einer Anwendung zur anderen transportiert, unabhängig von der Art der Anwendung oder deren Standort.

Der Message Broker empfängt Nachrichten von einer sendenden Anwendung, speichert sie temporär und leitet sie dann an die entsprechenden Empfänger weiter. Dabei kann der Broker verschiedene Funktionen bieten, wie Nachrichtenwarteschlangen (Queues), Nachrichtenthemen (Topics), Nachrichtenroutings und -transformations, um sicherzustellen, dass Nachrichten effizient und sicher übertragen werden können.

Solche Systeme werden oft in verteilten Anwendungslandschaften eingesetzt, um die Interaktion und den Datenaustausch zwischen verschiedenen Anwendungen, Services oder Systemen zu erleichtern, indem sie eine lose gekoppelte, zuverlässige Kommunikation ermöglichen.

 


Advanced Message Queuing Protocol - AMQP

AMQP steht für Advanced Message Queuing Protocol (Fortgeschrittenes Nachrichtenwarteschlangenprotokoll). Es handelt sich um ein offenes Standard-Anwendungsprotokoll für nachrichtenorientierte Middleware, das für den Austausch von Nachrichten zwischen Systemen entwickelt wurde. AMQP ermöglicht es verschiedenen Systemen oder Komponenten, miteinander zu kommunizieren, indem Nachrichten über einen Message Broker geleitet werden. Dadurch wird eine zuverlässige und asynchrone Kommunikation zwischen Anwendungen, Diensten oder Geräten ermöglicht.

 


Webanwendung

Eine Webanwendung ist eine Softwareanwendung, die über einen Webbrowser zugänglich ist und über das Internet funktioniert. Im Gegensatz zu herkömmlicher Software, die auf dem lokalen Computer installiert wird, läuft eine Webanwendung auf einem entfernten Server und wird über den Browser des Benutzers aufgerufen.

Webanwendungen können eine Vielzahl von Funktionen haben, von einfachen interaktiven Seiten bis hin zu komplexen Anwendungen wie sozialen Netzwerken, E-Mail-Diensten, Online-Shops, Produktivitätstools und mehr. Sie verwenden oft eine Kombination aus verschiedenen Technologien wie HTML, CSS und JavaScript auf der Client-Seite (im Browser des Benutzers) sowie Backend-Technologien wie Datenbanken, Serverseitenskriptsprachen (z. B. Python, PHP, Ruby) und Frameworks, um die Funktionalität zu unterstützen.

Der Zugriff auf Webanwendungen über den Browser macht sie plattformunabhängig, da sie von verschiedenen Geräten mit Internetverbindung aus verwendet werden können - sei es von einem Computer, Tablet oder Smartphone.