Anmelden / Registrieren Konto

Integration

Was ist EDA (Event Driven Architecture)?

Jump to section

EDA (Event Driven Architecture) steht für eine event-gesteuerte Softwarearchitektur und das Modell eines Anwendungsdesigns. Bei event-gesteuerten Systemen bilden Erfassung, Kommunikation, Verarbeitung und Persistenz von Events die Kernstruktur der Lösung. Sie unterscheiden sich damit von traditionellen Systemen, die durch Anfragen gesteuert werden.

Viele moderne Anwendungsdesigns sind event-gesteuert. Das gilt etwa für Frameworks für Kunden-Engagement, die auf Kundendaten in Echtzeit angewiesen sind. Event-gesteuerte Apps lassen sich in beliebigen Programmiersprachen erstellen, weil es sich hier um einen Programmieransatz und nicht um eine Sprache handelt. Eine EDA ermöglicht minimale Kopplung und eignet sich daher gut für moderne, verteilte Anwendungsarchitekturen.

Grund für diese lose Kopplung ist, dass Event Producer nicht wissen, welche Event Consumer auf Events warten, und das Event nicht weiß, welche Konsequenzen sein Auftreten hat.

 

Was ist ein Event?

Events stellen bedeutsame Vorkommnisse oder Änderungen des Status von System-Hardware oder -Software dar. Ein Event ist nicht dasselbe wie eine Event-Benachrichtigung oder Meldung, mit der Systembereiche darüber informiert werden, dass ein Event stattgefunden hat.

Ein Event kann durch interne oder externe Eingaben verursacht werden. Es kann vom Nutzer (über Mausklicks oder Tastaturanschläge), von externen Quellen (wie einem Sensorausgang) oder durch das System (wie das Laden eines Programms) ausgelöst werden.

 

Wie funktioniert eine EDA (Event Driven Architecture)?

Eine EDA besteht aus Event Producern und Event Consumern. Ein Event Producer erkennt oder identifiziert das Event und stellt es als Meldung dar. Er kennt den Event Consumer und das Ergebnis des Events nicht. 

Ein Event wird nach seiner Erkennung vom Event Producer über Event-Kanäle an den Event Consumer übertragen, wo es von einer Event-Plattform asynchron verarbeitet wird. Event Consumer müssen stets darüber informiert werden, wenn ein Event auftritt. Es kann sein, dass sie das Event verarbeiten oder nur davon beeinflusst werden. 

Die Eventplattform führt die korrekte Antwort auf ein Event aus und sendet die Aktivität „downstream“ an die richtigen Consumer. In einer solchen Downstream-Aktivität werden die Folgen eines Events sichtbar. 

Apache Kafka ist eine Plattform für verteiltes Daten-Streaming und eine beliebte Lösung zur Event-Verarbeitung. Sie ist in der Lage, Event-Streams in Echtzeit zu veröffentlichen, zu abonnieren, zu speichern und zu verarbeiten. Das Produkt unterstützt eine Reihe von Use Cases, bei denen es auf einen hohen Durchsatz und eine gute Skalierbarkeit ankommt. Dazu minimiert es die Notwendigkeit von Punkt-zu-Punkt-Integrationen für die gemeinsame Datennutzung in bestimmten Anwendungen und reduziert so die Latenzzeiten auf Millisekunden. 

Es stehen noch weitere Middleware-Eventmanager zur Verfügung, die als Plattform für die Eventverarbeitung genutzt werden können.

 

EDA-Modelle

Eine EDA kann auf einem Pub/Sub-Modell oder einem Event Streaming-Modell aufsetzen.

Pub/Sub-Modell

Hier handelt es sich um eine Messaging-Infrastruktur, bei der Event-Streams abonniert werden. Wenn ein Event auftritt oder veröffentlicht wird, wird es an den jeweiligen Abonnenten gesendet.

Event Streaming-Modell

Bei diesem Modell werden Events in ein Protokoll eingetragen. Event Consumer abonnieren keine Event Streams. Stattdessen haben sie Lesezugriff auf alle Teile des Event Streams und können ihm jederzeit beitreten. 

Es gibt verschiedene Typen von Event Streaming:

  • Event Stream Processing: Nutzt eine Data Streaming-Plattform, wie Apache Kafka, um Events aufzunehmen und den Event Stream zu verarbeiten oder zu transformieren. Dieses Modell kann dazu verwendet werden, wichtige Muster in Event Streams zu erkennen.
  • Simple Event Processing: Ein Event löst unmittelbar eine Aktion beim Event Consumer aus.
  • Complex Event Processing: Erfordert einen Event Consumer, der eine Reihe von Events verarbeitet, um Muster zu erkennen.

 

Vorteile einer EDA

Mit einer EDA können Organisationen flexibler auf Änderungen reagieren und Entscheidungen in Echtzeit treffen. Ein ständiges Echtzeit-Bewusstsein bedeutet, dass Geschäftsentscheidungen – manuell oder automatisch – mithilfe sämtlicher Daten getroffen werden können, die den aktuellen Systemstatus widerspiegeln. 

Events werden sofort nach ihrem Auftreten aus den jeweiligen Quellen (wie IoT-Geräte, Anwendungen und Netzwerke) erfasst, und Event Producer und Consumer können Status- und Antwortinformationen in Echtzeit teilen. 

Organisationen können event-gesteuerte Architekturen zu ihren Systemen und Anwendungen hinzufügen. Damit können Skalierbarkeit und Reaktionsfähigkeit von Apps sowie der Zugriff auf den Kontext und die Daten verbessert werden, die für bessere Geschäftsentscheidungen benötigt werden.

 

Warum Red Hat für eine agile Integration?

Die lose gekoppelten Cloud Computingnativen Anwendungen und event-gesteuerten Architekturen von heute, die mithilfe von agilen und DevOps -Methoden erstellt werden, erfordern eine gleichermaßen agile wie skalierbare Integrationsstrategie

So interpretiert auch Red Hat agile Integration, nämlich als Konzept zur Verbindung von Ressourcen, das Integrationstechnologien, agile Bereitstellungstechniken und cloudnative Plattformen kombiniert, um die Softwarebereitstellung zu beschleunigen und sicherer zu machen. 

Red Hat liefert die Integrationsplattformen und die Management-Software, mit denen Sie ältere Technologien und Microservices über Hybrid Cloud Computing-Umgebungen in kurzer Zeit verbinden und so Ihre event-gesteuerte Architektur mit agiler Integration unterstützen können.

Integration mit Red Hat

Red Hat Integration logo

Diverse Integrations- und Messaging-Technologien, mit denen sich Anwendungen und Daten in Hybrid-Infrastrukturen verbinden lassen.

Ein gemanagter Cloud-Service, der eine optimierte Entwicklererfahrung für das Erstellen, Bereitstellen und Skalieren neuer cloudnativer Apps oder die Modernisierung vorhandener Systeme bietet.

Red Hat OpenShift Streams for Apache Kafka testen