Was ist Event Driven Architecture (EDA) und wie hilft dies meinem Unternehmen?
In einer EDA oder ereignisgesteuerte Architektur wird das Zusammenspiel von Komponenten durch Ereignisse gesteuert. Alles, was im Unternehmen (bzw. der Unternehmenslogik innerhalb der Software) passiert ist ein „Event“ – Kundenanfragen, Veränderungen am Lagerstand, Eingang von Messwerten von Sensoren, eben alles, das nicht planbar ist. Je früher die Organisation über Ereignisse Bescheid weiß, und das genau an der Stelle wo diese relevant sind, desto effektiver kann sie reagieren – dadurch einen Kunden zufriedenstellen, Produktionszahlen anpassen, Ressourcen zuordnen, wo der Bedarf jetzt am größten ist. Daher ist Event Driven Architecture, welche Ereignisse weitergibt, wenn sie eintreten, eine bessere Architektur, als Lösungen die periodisch oder Anwender-gesteuert auf Updates überprüfen. Das klingt nach einem einfachen Konzept, aber diese Ereignisse haben einiges zu bewältigen, sie müssen applikationsübergreifend verschiedenen Anwendern und Systemen zur Verfügung stehen. EDA liefert die Lösung mit einer Art Mittelsmann, einem sogenannten Event Broker. Einzelne Komponenten wissen jetzt nicht mehr, wer alles Ihre Information bekommt, oder wo ein empfangenes Ereignis seinen Ursprung hat. Sie kennen den Event Broker und erhalten, wenn überhaupt, von diesem eine Kenntnisnahme über ein gesendetes Ereignis. Damit wird EDA nun endgültig eine gute Architektur – es gibt keine Abhängigkeiten zwischen dem Sender und Empfängern eines Ereignisses. Es liegt auf der Hand, dass die anforderungskonforme Einrichtung eines Event Brokers und das Zusammenspiel mit den Komponenten durch einen erfahrenen Dienstleister sinnvoll begleitet wird.
Beispiel: Praxisanforderungen in der Logistik und Lieferketten
Logistik und Lieferketten sind typischerweise Geschäftsfelder mit vielen verschiedenen Akteuren aus unterschiedlichem Unternehmen. Zum Beispiel: Waren eines Herstellers werden über verschieden Transportwege in ein zentrales Lager geliefert. Dieselben Waren werden von unterschiedlichen Transportunternehmen abgeholt und zu verschiedenen Geschäften geliefert.
Bestellungen, Lieferungen, Zeitpläne, Rechnungen liefern bereits ein komplexes Feld an Anforderungen, dazu kommen Bezahlvorgänge über verschiedene Finanzdienstleister. Auf der anderen Seite steht ein Anwender mit Bedarf und Kaufkraft – welcher über eine Web-Applikation wissen möchte, ob ein Artikel im Outlet seiner Wahl verfügbar ist, diesen vielleicht reservieren oder doch online bestellen und zu sich nach Hause liefern lassen. Die Web-Applikation soll ihm einen Kostenvergleich beider Optionen bieten und im Falle einer Online Bestellung den zu erwartenden Liefertermin. Je nach Größe der Ware kann ein Anhänger angemietet werden. Liegen alle Informationen vor, folgt in die Kaufentscheidung über welchen Weg der Artikel erworben wird. Fehlen jedoch Informationen, so wird der nächste Anbieter gewählt.
Lösung mit Event Driven Architecture für Ihren Wettbewerbsvorteil
Im Praxisbeispiel einer Kaufentscheidung über eine der Web-Applikation kommen die Anforderungen klar heraus. Der Weg zur Umsetzung mit Event Driven Architecture führt unter anderem über die auslösenden Ereignisse, das Aufsetzen eines Event Managers und Bereitstellen von Komponenten welche auf für sie interessante Ereignisse erkenne, um darauf zu reagieren. Wo anfangen? Der erste Schritt führt zu einem kostenlosen Erstgespräch wo Erwartungen geklärt und ein möglicher Fahrplan zu Umsetzungen skizziert wird.
Quellen
https://stackoverflow.blog/2020/03/16/how-event-driven-architecture-solves-modern-web-app-problems/ https://de.wikipedia.org/wiki/Ereignisgesteuerte_Architektur https://solace.com/what-is-event-driven-architecture/ https://turvo.com/articles/architecture-for-large-scale-supply-chain/