Ereignisgesteuerte Anwendung
Eine ereignisgesteuerte Anwendung (event-driven Application) ist ein Computerprogramm, das auf eine vom Programmierer festgelegte Weise automatisch auf Ereignisse reagiert, die von einem Benutzer oder einem System ausgelöst werden.
Wie funktionieren ereignisgesteuerte Anwendungen?
In einem Computerkontext ist ein Ereignis jedes identifizierbare Ereignis, das für die Systemhardware oder -software von Bedeutung ist. Sowohl Benutzer, als auch Programme sind die Verursacher solcher Ereignisse. Sie reichen von einem einfachen Klick, über das Laden des Programms bis hin zu Abstürzen oder sicherheitsrelevantem auffälligem Verhalten.
Die ereignisgesteuerte Programmierung trennt die Ereignisverarbeitungslogik vom restlichen Programmcode und steht somit im Gegensatz zur Stapelverarbeitung. Da es sich bei der ereignisgesteuerten Programmierung um einen allgemeinen Entwicklungsansatz und nicht um eine bestimmte Sprache handelt, können Developer ereignisgesteuerte Anwendungen in jeder Programmiersprache erstellen.
Beispiele für ereignisgesteuertes Anwendungsdesign
Je nach spezifischer Anwendung kann ein ereignisgesteuertes Design die Reaktionsfähigkeit, den Durchsatz und die Flexibilität verbessern.
Einige Anwendungen sind ab-Werk ereignisgesteuert. Sie ermitteln selbstständig, ob bestimmte Ereignisse eintreten. Der Zweck der Anwendung besteht darin, diese Ereignisse zu analysieren und darauf zu reagieren.
Diese Anwendungen müssen Situationen erkennen und auf sie reagieren, sobald sie auftreten. Mit einem ereignisgesteuerten Ansatz, durch den Anwendungen Zustandsänderungen unmittelbar nach ihrem Auftreten bemerken, sind viel kürzere Reaktionszeiten möglich, als bei einer Batch-basierten Variante, bei der die Anwendung in festgelegten Abständen Ereignisprotokolle untersucht.
Andere ereignisgesteuerte Anwendungen müssen keine zeitnahen Aktionen ausführen. Sie analysieren große Datenmengen und geben bei bestimmten Ergebnissen Informationen an einen menschlichen Benutzer oder eine andere Anwendung weiter. Indem die Eingabedaten als Ereignisse behandelt werden, kann ein ereignisgesteuerter Ansatz diese Analyse auf mehrere Rechenknoten verteilen.
Nicht zuletzt ist es auch möglich, eine bestehende Anwendung auf flexible, nicht-invasive Weise zu einer ereignisgesteuerten Vorgehensweise zu erweitern. Statt die ursprüngliche Anwendung zu ändern, um neue Funktionen hinzuzufügen, bauen Entwickler Ereignisproduzenten an die ursprüngliche Anwendung an, indem sie zum Beispiel die von ihr erzeugten Protokolldateien überwachen. Solche zusätzlichen Funktionen lassen sich durch die Verarbeitung der von diesen Ereignisproduzenten erzeugten Ereignisse implementieren.