Neue Software-Architektur

Event-Broker und ereignisgesteuerte Apps verändern das Software-Design

28.05.2024 von Shawn  McAllister
Die ereignisgesteuerte Architektur (EDA) ist ein Software-Designmuster, das eine ereignisgesteuerte Echtzeitkommunikation zwischen verschiedenen Anwendungen über einen Event-Broker ermöglicht.
In komplexen Unternehmens-Ökosystemen verbinden intelligente Broker problemlos eine Vielzahl von Anwendungen und Geräten, ohne sich um die Übersetzung von verschiedenen Protokollen kümmern zu müssen.
Foto: TechnoVectors - shutterstock.com

Sogenannte "ereignisgesteuerte" Apps setzt sich in Unternehmen zunehmend durch, weil sie zeitkritische Anwendungen, Geschäftsprozesse und Erkenntnisse (Advanced Analytics, ML, KI) besser umsetzen können, als herkömmliche Software. Dahinter verbirgt sich eine neuen Software-Architektur, genannt EDA (Event-Driven Architecture).

Ob mit EDA die gewünschten Ergebnisse tatsächlich erreicht werden, hängt oft von der Wahl des sogenannten Event-Brokers ab. Denn da gibt es große Unterschiede und manche Broker sind für bestimmte Aufgaben und Anwendungsfälle besser geeignet sind als andere.

EDA-Plattformen setzen sich durch

Die Implementierung von EDA-Plattformen ist in vollem Gange. 82 Prozent der IT-Führungskräfte geben an, dass ihre Unternehmen EDA in den nächsten 24 Monaten für 2 bis 3 neue Anwendungsfälle einsetzen wollen. Das geht aus einem neuen IDC Infobrief hervor. Die Einführung von EDA geht Hand in Hand mit der digitalen Reife. 47 Prozent der Befragten bezeichnen ihre EDA-Entwicklung entweder als ausgereift ("zentralisiert") oder als "fortgeschritten".

Dabei ist der Vormarsch von EDA branchenunabhängig. Untersuchungen zeigen, dass immer mehr Unternehmen in allen Branchen - Einzelhandel, Finanzdienstleistungen, Luftfahrt, Fertigung, Transport und Logistik - die Notwendigkeit erkennen, dieses Modell der Anwendungskonnektivität zu übernehmen, um moderne Anwendungsfälle wie Click & Collect, vorbeugende Wartung von Maschinen, digitales Twinning etc. effizient zu ermöglichen.

Das Herzstück der EDA-Transformation ist der Event-Broker, eine Middleware-Software, die Ereignisse und andere Daten zwischen verschiedenen Anwendungen, Systemen und Geräten weiterleitet. Mit der zunehmenden Verbreitung und Nutzung von EDA ist auch der Markt für Event-Broker gewachsen, sodass heute eine große Auswahl an Brokern zur Verfügung steht. Die Fähigkeiten der Event-Broker können jedoch sehr unterschiedlich sein.

Ein Event-Broker ist eine nachrichtenorientierte Middleware. Sie ermöglicht die zuverlässige Übertragung von Ereignissen zwischen den verschiedenen Komponenten eines Systems und fungiert als Vermittler zwischen Publishern und Subscribern. Der Broker ist der Eckpfeiler der ereignisgesteuerten Architektur. Alle ereignisgesteuerten Anwendungen verwenden eine Form von Event-Broker, um Informationen zu senden und zu empfangen.

Der erste und entscheidende Schritt besteht für IT-Verantwortliche nicht mehr darin, zu entscheiden, ob sie EDA einsetzen sollen, sondern welchen Event-Broker sie wählen, um ihre EDA zu unterstützen beziehungsweise welchen Broker sie für welche Anwendungsfälle einsetzen wollen. Denn häufig wird ein Unternehmen feststellen, dass es mehr als einen Broker-Typ benötigt, da nicht alle Broker für alle Anwendungsfälle geeignet sind.

Analysten beteiligen sich an der Debatte, darunter David Mooter von Forrester, der kürzlich die Wahl zwischen einem "Log-Stream-Broker" und einem "Smart Broker" erläuterte. Ein Log-Stream-Broker kann einen hohen Datendurchsatz unterstützen, ein gewisses Maß an Komplexität tolerieren und Nachrichten wiedergeben, wenn er mit Echtzeitanalysen und Event-Sourcing kombiniert wird. Im Gegensatz dazu kann ein Smart Broker komplexes Nachrichten-Routing, granulare Kontrolle der Nachrichtenfilterung, globale Auftragsgarantien und transaktionale Commits sowie viele andere Funktionen unterstützen.

Anwendungsfälle bestimmen die Wahl - analytisch oder operativ

Laut Mooter ermöglichen Event-Broker es den Unternehmen, ihre Anwendungen als eine Sammlung von zusammensetzbaren Diensten aufzubauen, die von Natur aus entkoppelt sind. Das bietet die Vorteile von Agilität, Skalierbarkeit und Ausfallsicherheit. Je nach Anwendungsfall sei es aber entscheidend, ob man sich für einen Log-Stream-Broker oder einen Smart Broker entscheide.

Das beste Beispiel für einen Log-Stream-Broker ist Apache Kafka. In den letzten Jahren hat Apache Kafka die Welt des Daten-Streamings im Sturm erobert, da es für seinen definierten Verwendungszweck sehr gut geeignet ist: die Aggregation riesiger Mengen von "Log"-Daten und das Streaming dieser Daten zu Analyse-Engines und Big-Data-Repositories.

Nicht alle Event-Broker sind gleichermaßen geeignet

Leider hat die Popularität und Verbreitung von Kafka viele Entwickler dazu verleitet, Kafka auch für Anwendungsfälle zu nutzen, für die es nicht ideal geeignet ist - nämlich für operative "Run-the-Business"-Szenarien, die oft eine Kombination von Anwendungen, Systemen und Geräten umfassen und auf bestimmte Ereignisströme zugreifen müssen, um effizient zu arbeiten.Log-basierte Broker verwenden starre, flache Topic-Strukturen, um die übertragenen Daten zu beschreiben.

Das bedeutet, dass die Anwendungen alle Daten filtern müssen, die übertragen werden. Und das kann sie schnell überfordern, da sie Ereignisse, die sie gar nicht benötigen, konsumieren, filtern und verwerfen müssen, was die Kosten und die Komplexität erhöht, ganz zu schweigen von Sicherheitsbedenken.

Auf der anderen Seite übernehmen "intelligente" Broker einen großen Teil des Denkens, Filterns und Weiterleitens, insbesondere wenn Unternehmen daran arbeiten, die verschiedenen Informationstechnologien (IT) und Betriebstechnologien (Operational Technologies, OT) stärker zu integrieren, zu vernetzen und in Echtzeit zu nutzen.

Diese Broker verfügen über reichhaltige, flexible Topic-Hierarchien, die es Anwendungen ermöglichen, auf einfache Weise die spezifischen Teilmengen von Daten, an denen sie interessiert sind, zu veröffentlichen und zu abonnieren. Aus der Perspektive des Event-Streamings unterstützen Smart Broker eine breite Palette von Nachrichtenaustauschmustern, die über Publish/Subscribe hinausgehen, wie Request/Response, Streaming und Replay, sowie verschiedene Servicequalitäten wie Best Effort und garantierte Zustellung.

Damit sind Smart Broker ideal für operative Anwendungsfälle, in denen sie als "digitales Nervensystem" eines verteilten Unternehmens fungieren. Smart Broker gehen über die reine Analyse hinaus. Stellen Sie sich eine globale Bank vor, die täglich mehr als 150 Milliarden Ereignisse zwischen Handelsplattformen mit geringer Latenz und Marktdatenzentren an verschiedenen Standorten auf der ganzen Welt austauscht. Kurse können in New York veröffentlicht und in London in kürzester Zeit abgerufen werden, so dass Aufträge schnell auf der Grundlage der aktuellsten Informationen erteilt werden können.

So finden Sie den richtigen Smart Broker für Ihre Kunden

Die Entscheidung liegt auf der Hand: Wenn ein Unternehmen operative "Run-the-Business"-Anwendungen und Anwendungsfälle über ein verteiltes Unternehmen hinweg adressieren will, benötigt es einen intelligenten Broker, der drei entscheidende Eigenschaften aufweist:

Geschäftsprozesse intelligenter gestalten

Wir leben in einer ereignisgesteuerten Welt. Geschäftsprozesse werden zunehmend datengesteuert, dynamisch und in Echtzeit ablaufen und erfordern ein Event-Streaming, das über die einfache analytische Übermittlung von Logdaten hinausgeht.

Hier muss der Smart Broker ansetzen und die Architektur bereitstellen, die es den Beteiligten ermöglicht, miteinander in Kontakt zu bleiben, immer auf dem gleichen Stand zu sein und aktuelle, datenbasierte Entscheidungen zu treffen. Dazu gehören Entwickler, Nutzer und Verbraucher, Mitarbeiter, Partner und Endkunden - eine Gemeinschaft von Stakeholdern, die immer größer wird.