Definition „Ereignis-Hook“ Was ist ein Event Hook?

Autor / Redakteur: zeroshope / Stephan Augsten

Unter dem Begriff Event Hook versteht man einen spezielles Webhook. Dieser kommt in verteilten Systemen zum Einsatz und informiert über den Eintritt spezieller Ereignisse. Das Kommunikationsverfahren bereitet allerdings nicht selten Schwierigkeiten.

Firma zum Thema

Der Event Hook ist ein spezieller Webhook, der dem Namen gemäß über Ereignisse informiert und so automatisierte Reaktionen ermöglicht.
Der Event Hook ist ein spezieller Webhook, der dem Namen gemäß über Ereignisse informiert und so automatisierte Reaktionen ermöglicht.
(Bild: Markus Spiske / Unsplash)

Ein Event Hook, frei übersetzt Ereignishaken, ist ein Verfahren im Bereich der Server-Kommunikation. Hier ist es ein gängiges Phänomen, das in verteilten Systemen (oder auch bei nachrichtenorientierter Middleware) Maschinen miteinander sprechen müssen, die nicht die identischen Kommunikationsverfahren nutzen.

Die sogenannten Webhooks („Netzhaken“), zu denen auch der Event Hook zählt, sind hierfür die Lösung. Der Name informiert dabei bildlich durchaus zutreffend, was geschieht. Ein Haken verbindet die Maschinen zu einem Netz, damit sie sich verstehen können.

Webhooks einfach verständlich erklärt

Hooks sind in der Informatik generell solche Schnittstellen, über die Code in ein eigentlich fremdes System eingespeist werden kann. Als Beispiel: Betriebssysteme verfügen über zahllose der entsprechenden Haken, damit möglichst viele Programme installiert werden können. Ein Webhook ist die spezialisierte Ausformung für die Server-Kommunikation. Er hat die folgenden Eigenschaften:

  • eigener Code, um die Verbindung zwischen den Maschinen herstellen zu können
  • fähig zur nicht standardisierten Kommunikation
  • Unterstützung unterschiedlicher Mitteilungsprotokolle
  • Einsatzgebiete sind (relativ) frei definierbar

Bekannte Anwendungen, die mit Webhooks arbeiten, sind beispielsweise Facebook, PayPal oder Twitch. Diese setzen dabei vor allem den Event Hook ein.

Event Hooks informieren über besondere Ereignisse

Ein Einsatzgebiet der Webhooks ist die „Event Notification“ – sprich die Benachrichtigung über besondere Ereignisse. Das hierfür zum Einsatz gebrachte Verfahren heißt Event Hook. Die Ereignisse können von den Programmierern frei definiert werden. Oft delegieren diese einen Teil der entsprechenden Möglichkeiten an die Nutzer der Endgeräte weiter.

Als Beispiel sei der Hinweis auf dem Sperrbildschirm eines Smartphones genannt, das eine neue Nachricht in WhatsApp oder im Facebook Messenger vorliegt. Tatsächlich handelt es sich in diesem Fall nach wie vor um einen einfachen Event Hook, den das Betriebssystem um einen zusätzlichen Befehl ergänzt hat.

Der Server des Absenders übermittelt neben der Nachricht den Ereignisalarm an den Server des Empfängers. Dieser weiß vom Smartphone des Nutzers, dass eine entsprechende Benachrichtigung gewünscht ist. Der Server leitet die Nachricht deshalb mit dem Ereignisalarm an das Endgerät weiter. Hier entscheidet die Einstellung im Betriebssystem, die der Nutzer vorgenommen hat, ob der Alarm (oder vielleicht sogar die ganze Nachricht) auf dem Sperrbildschirm angezeigt wird.

Klassische Beispiele für Event Hooks:

  • Benachrichtigung über Updates, die installiert werden können
  • Alarm, das bestimmtes Ereignis in einer App eingetreten ist (beispielsweise ein neues Video eines abonnierten Kanals hochgeladen wurde)
  • Hinweis zu automatisch durchgeführten Updates
  • Sicherheitsalarm
  • Hinweise zu etwaigen Problemen (beispielsweise einem überfüllten Cloud-Speicher)

Bekannte Schwierigkeiten

Problematisch kann die Programmierung von Event Hooks vor allem aufgrund der Kommunikationsverfahren werden. Oft gilt es, mehrere unterschiedliche Sprachen und Protokolle zur selben Zeit zu verbinden. Schwierigkeiten können auch die unterschiedlichen Dienstschichten bereiten, die auf die Ereignisbenachrichtigung reagieren sollen. Insbesondere bei größeren Systemupdates funktionieren die Hooks deshalb zu Beginn oftmals nicht mehr wie gewünscht.

(ID:47095605)