SoftwareentwicklungArchitekturEvent Driven

Event Driven Architecture in der Webentwicklung

04.07.2021

Event Driven Architecture in der Webentwicklung

Anforderungen an Weblösungen wurden immer komplexer: Wir wollen nicht mehr wiederholt nachsehen müssen, ob sich etwas interessantes verändert hat, oder gar auf periodische Updates warten – sondern informiert werden, wenn etwas passiert. Besondere Wetterverhältnisse, neue Kontaktanfragen, hoch priorisierte Störungsmeldungen, oder Service-Anfragen die neue Business-Opportunities bieten, sind Beispiele. Die Web-Applikation meldet sich von selbst. Und um diesen Dienst anbieten zu können, muss ein Service ständig und verlässlich laufen. Bewährte Methoden, um hohe Verfügbarkeit zu erreichen, greifen auf Mehrfachausführung bis hin zu redundanter Ausführung von Rechenzentren zurück. Abgesehen davon, dass dies in vielen Fällen ohnehin keine Option ist, folgt noch die Herausforderung, Abweichungen zu minimieren und zu wissen, wo im Falle des Falles die Wahrheit liegt. Doch es gibt eine Methodik, die Abhilfe verspricht.

Wenn Sie Fragen zu diesem Beitrag haben oder eine individuelle Webentwicklung beauftragen möchten, sprechen Sie uns an! Die Erstberatung ist selbstverständlich kostenlos.

Nehmen Sie Kontakt auf »

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/

Über den Autor
Author

Christoph Heike

Christoph Heike ist Geschäftsführer der Webzeile GmbH und programmiert bereits seit seinem 12. Lebensjahr. Aktuell beschäftigen ihn Technologien wie PHP, Symfony, VueJS, React uvm.


Fragen? Projekt geplant? Nehmen Sie gleich mit uns Kontakt auf.

Lernen Sie unsere Digitalagentur und Internetagentur kennen. Vereinbaren Sie ein kostenloses Erstgespräch.