Kommentar von Eric Carlier, TIBCO Software Event Processing als treibende Kraft für Agilität

Autor / Redakteur: Eric Carlier / Nico Litzel |

Wer „Digitalisierung“ hört, denkt an die immer engere Vernetzung von Mensch und Technologie. So stieg in Deutschland die Zahl der Internetnutzer von 37 Prozent im Jahr 2001 auf mehr als 77 Prozent im Jahr 2015, während die Smartphone-Besitzer allein von 2012 bis 2015 von 31 auf 46 Prozent der Gesamtbevölkerung zunahmen. Dieses beeindruckende Phänomen gewinnt weiter an Dynamik, da mittlerweile auch „Dinge“ mit der digitalen Welt verbunden werden.

Anbieter zum Thema

Der Autor: Eric Carlier ist Event Processing Senior Solution Consultant bei TIBCO Software
Der Autor: Eric Carlier ist Event Processing Senior Solution Consultant bei TIBCO Software
(Bild: TIBCO)

Welche Auswirkungen hat die Digitalisierung aber ganz konkret? An vorderster Stelle ist hier sicher das immer höhere Tempo zu nennen, das Unternehmen bei der Interaktion mit Kunden, der Reaktion auf Marktgegebenheiten und der Entwicklung neuer Innovationen an den Tag legen müssen. Digitale Kommunikationskanäle funktionieren quasi verzögerungsfrei; entsprechend negativ reagieren die Kunden auf Anbieter, die bei diesem Interaktionstempo nicht mithalten können.

Gleichzeitig fließen Maschinendaten im Subsekundentakt in die Unternehmenssysteme. Erfolgreich ist hier nur der, der große Datenmengen schneller und intelligenter als andere assimilieren, analysieren und auf sie reagieren kann.

Glücklicherweise hält die heutige Technologie zahlreiche Möglichkeiten bereit, mit denen Unternehmen die digitale Transformation umsetzen können. Eine unverzichtbare Grundvoraussetzung für diese Transformation lautet: Agilität. Angesichts des Innovationstempos neuer digitaler Unternehmen und der Leichtigkeit, mit der heutige Kunden ihrem bisherigen Anbieter den Rücken kehren können, sind herkömmliche Entwicklungszyklen von Monaten oder gar Jahren für voluminöse, monolithische Geschäftsanwendungen nicht mehr akzeptabel.

Drei Faktoren

Ein Weg zur Erzielung der dringend benötigten Agilität führt über ereignisgesteuerte Architekturen und Event Processing. Drei Faktoren machen das Event Processing zu einer treibenden Kraft für mehr Agilität: Ereignisse, Datenkontext und Regeln.

1. Ereignisse

Ein Ereignis ist ein Startpunkt, ein Hinweis darauf, dass etwas passiert ist. In herkömmlichen transaktionsbasierten Systemen bestehen Ereignisse aus Start, Abbruch oder Übergabe einer Transaktion. In SOA-Architekturen wird jeder Dienstaufruf als Ereignis bezeichnet. Im Internet der Dinge ist jede Handlung einer Person ein Ereignis, während Sensoren Informationsereignisse erzeugen. Darüber hinaus werden Ereignisse auch aus heterogenen Quellen zusammengeführt. Wenn ein Unternehmen seine Legacy-Systeme zur Erschließung einer neuen Datenquelle nutzt, gewinnt es neue Erkenntnisse, sprich mehr Business Intelligence.

Eine Zahlung, die von einem traditionellen, transaktionsbasierten System verarbeitet wird, ist nicht mehr und nicht weniger als das Verschieben von Geld vom Käufer zum Verkäufer. Wird die Zahlung jedoch als Ereignis verstanden, ergibt sich eine viel größere Bandbreite an zusätzlichen Optionen. Ein Zahlungsereignis gibt an, wo die Zahlung vorgenommen wurde, an wen sie ging, wie viel und wann gezahlt wurde – Schlüsseldaten, die nicht nur die Zahlungstransaktion auslösen, sondern auch an vielen anderen Stellen des Unternehmens gewinnbringend nutzbar sind: zur Betrugsverhinderung, im Marketingbereich, für die Logistik und Vieles mehr.

2. Datenkontext

Der Datenkontext, das heißt, die Informationen rund um die Verarbeitung von Ereignissen, ermöglicht eine differenzierte – angemessenere – Reaktion auf ein Ereignis, wie das folgende Beispiel zeigt.

Ereignis: Kunde beschwert sich über schlechten Service

Kontext: Kunde hat hohe Treuewerte

Reaktion: Entschädigungsangebot A an Kunden

versus

Ereignis: Kunde beschwert sich über schlechten Service

Kontext: Keine Kundenhistorie vorhanden

Reaktion: E-Mail mit Zusicherung der Servicegarantie an Kunden

Bei jeder Interaktion muss die Zeit vom Ereignis bis zur Reaktion möglichst kurz sein. Aufgrund ihrer Lese-/Schreibzeiten können große Datenbanken dabei meist nicht Schritt halten. Vielmehr müssen die Daten hier im Arbeitsspeicher vorgehalten werden, um sofort verfügbar zu sein. Ein zentrales Merkmal einer guten Event-Processing-Lösung besteht dagegen in einer nativen Kombination aus Ereignissen und kontextgebundenen Daten in ein und derselben Entwicklungs- und Laufzeitumgebung, so dass eine sowohl iterative als auch parallele Evolution möglich ist.

Mit einer UML-Modellierungssprache lassen sich komplexe Daten- und Ereignismodelle einfach entwerfen, pflegen und weiterentwickeln. Dazu kommt, dass kontextgebundene Datenobjekte in der Regel einen Lebenszyklus aufweisen, der sich nur schwer präzise verwalten lässt, wenn er mehrere Systeme überspannt. Die Lösung dieses Problems besteht in der Entwicklung von Event-Processing-Zustandsmodellen für die betreffenden Daten. Sie ermöglichen die Echtzeitverwaltung der Lebenszyklen, indem Ereignisse aus vielen verschiedenen Quellen berücksichtigt werden.

3. Regeln

Als dritter und letzter Faktor sind Regeln zu nennen. Sie ermöglichen Einblicke und Reaktionen, indem sie Ereignisse und Kontextdaten zueinander in Beziehung setzen. Als vorgegebenes Zusammenspiel von Bedingungen und Aktionen evaluieren sie fortlaufend, welche Ereignisse eintreten und inwiefern sich ein kontextgebundenes Datenobjekt ändert. Sobald eine Regel anwendbar ist, wird die zugehörige Aktion durchgeführt.

Regeln sind aus mehreren Gründen so wichtig für eine optimale Agilität:

  • Sie ermöglichen eine Reaktion auf Ereignisse, ohne dass der Gesamtvorgang durchschaut werden muss. Es genügt, eine konkrete Situation zu ermitteln und danach die Regel(n) zu definieren, die auf sie angewendet werden soll(en).
  • Sie ermöglichen die einfache Erweiterung bzw. Aktualisierung der Event-Processing-Logik, indem bestehende Regeln modifiziert oder zusätzliche Regeln erzeugt und implementiert werden.
  • Sie ermöglichen die effiziente Festlegung und Durchführung von Verfahrensweisen, indem je nach Szenario mehrere Regeln zusammengefasst und von den geeigneten Personengruppen definiert werden. So kann für Zahlungsereignisse eine Gruppe z. B. Regeln für die Betrugsvermeidung festlegen, während eine andere Gruppe Marketingregeln definiert.

Anhand der drei genannten Faktoren hilft das Event Processing den Unternehmen dabei, das rasante Interaktionstempo im digitalen Zeitalter mitzugehen. Es verkürzt zudem den Zeitaufwand für Systemänderungen, da es sowohl IT-Ingenieure, die mit den technologischen Herausforderungen von latenzarmen Großplattformen befasst sind, als auch Business User anspricht, die ihre Geschäftsexpertise in unternehmerischen Mehrwert ummünzen wollen.

Mit Event Processing können Entwickler parameterorientierte Regeln in einer übersichtlichen Weboberfläche mit Excel-artigen Entscheidungstabellen und Regeltemplates bereitstellen, die Programmlogik in Geschäftssprache übersetzen. Business-Experten können das betreffende Verhalten dann gezielt anpassen, ohne langwierige Entwicklungsschritte abwarten zu müssen.

Der Vergleich mit der klassischen prozeduralen Programmierung, bei der Änderungen über den gesamten Prozess hinweg evaluiert werden müssen, macht klar, wie enorm die Vorteile des Event Processing sind.

(ID:44094517)