AgilePoint WebHooks – Eventbasiertes Monitoring leicht gemacht

Mit AgilePoint NX 7.0 SU2 wurden WebHooks eingeführt und ermöglichen seither völlig neue Möglichkeiten, auf Events im AgilePoint-System zu reagieren. Mit AgilePoint V8 haben die WebHooks nun das Beta-Stadium verlassen. Trotzdem ist uns aufgefallen, dass dieses Feature noch recht unbekannt ist. Aus diesem Grund wollen wir in diesem Blog-Beitrag ein wenig darauf eingehen.

Was sind WebHooks?

WebHooks werden verwendet, um auf ein Event in Echtzeit zu reagieren. Es funktioniert im Grunde wie ein Abonnement. Um es an einem Beispiel zu verdeutlichen: Wenn ich einen Zeitungsartikel online lesen möchte, muss ich aktiv auf die gewünschte Website gehen und kann dort den neuesten Artikel auswählen. Das heisst, solange ich nicht selbst aktiv auf die Website gehe, weiss ich nicht, ob es neue Artikel gibt. Mit einem Abonnement kann ich nun aber der Zeitung mitteilen, dass ich informiert werden möchte, sobald ein neuer Artikel publiziert wurde.

Genau das geschieht mit WebHooks. Normalerweise muss ich das Zielsystem über eine API abfragen, um zu wissen, ob sich etwas geändert hat. Mit einem WebHook kann ich den Spiess jedoch umdrehen. Bei der Registrierung eines WebHooks kann ich angeben, bei welchem Ereignis der WebHook ausgelöst werden soll und an welche URL (WebHook Endpoint) diese Information gesendet werden soll.

Was für WebHooks gibt es auf AgilePoint?

AgilePoint WebHooks können unter Verwaltung -> System -> Webhooks aufgerufen werden und bieten zwei Hauptkategorien an.

  1. Workflow/Instanz basiert
    Mit diesem WebHook kann auf Ereignisse von laufenden Prozessinstanzen reagiert werden. Es kann z. B. ausgewählt werden, dass der WebHook ausgelöst werden soll, wenn ein Prozess gestartet wird, wenn eine Aufgabe beendet wird oder wenn eine Mail gesendet wird:

    Diese Auswahl kann weiter verfeinert werden, indem festgelegt wird, für welche Anwendung/Prozess oder auch Prozessinstanz das Ereignis ausgelöst werden kann und ob der WebHook nur für eine bestimmte Zeit aktiv ist.
  2. Zugriffskontrolle basiert
    Dabei handelt es sich um administrative Events. Diese werden ausgelöst, sobald jemand etwas an den Benutzern, Gruppen oder Rollen verändert hat.

    Mit der Überwachung der Zugriffskontrollen kann so sichergestellt werden, dass niemand unbemerkt Änderungen an den Rechten vornimmt.

Was sind die Anwendungsfälle für WebHooks?

Da gibt es unzählige Möglichkeiten:

  • Sicherstellen, dass niemand unbemerkt Berechtigungen ändert
  • Sofortige Benachrichtigung des jeweiligen Prozessverantwortlichen, wenn einer seiner Prozesse auf ein Problem gestossen ist
  • Sicherstellen, dass alle E-Mails versendet werden
  • Überwachen, welche Prozesse ausgelöst werden
  • Sofortige Benachrichtigung der Beteiligten, wenn eine Aufgabe nicht fristgerecht erledigt wird
  • Überwachen, wie Aufgaben geteilt werden (Sicherstellen, dass sensible Informationen nicht an unbeteiligte Parteien gehen)

Diese Szenarien können mit WebHooks implementiert werden. Dazu werden AgilePoint WebHooks und ein WebHook-Endpunkt benötigt, der die Daten empfängt und sie entsprechend der Governance des Unternehmens verarbeitet. Die Architektur zur Implementierung der oben genannten Anwendungsfälle ist von Unternehmen zu Unternehmen unterschiedlich. Faktoren wie die bestehende IT-Landschaft, vorhandene Monitoring-Software oder interne/externe Vorgaben bestimmen in der Regel den Aufbau.

Eine Möglichkeit, die wir bereits umgesetzt haben, ist es, mit AgilePoint eine Art Selbstüberwachung aufzubauen. Wir haben eine RESTful API auf Basis von .Net Core entwickelt. Diese läuft auf demselben IIS wie AgilePoint.

Die API empfängt das Event, prüft die Art des Events und stösst auf Basis der Informationen einen entsprechenden Prozess auf AgilePoint an.

Die Vorteile dieses Ansatzes sind:

  • Es muss keine zusätzliche Infrastruktur dafür aufgebaut werden
  • Die API kann nur lokal oder auch nach aussen Erreichbar gemacht werden
  • Da wieder ein AgilePoint-Prozess aufgerufen wird, wird die gesamte Geschäftslogik für die Behandlung eines Fehlers, die Meldung an die Verantwortlichen, etc. in einem AgilePoint-Prozess abgewickelt. Allein dieser Ansatz hat mehrere Vorteile.
    • Die Prozesse können vom Kunden selbst verwaltet werden
    • Maximale Transparenz
    • Anpassungen an die Businesslogik können schnell umgesetzt werden, ohne eine Zeile Code zu schreiben
    • Leichte Erweiterbarkeit bei neuen WebHooks oder Events

Fazit

AgilePoint bietet mit den WebHooks ein mächtiges Werkzeug. In der Lage zu sein, in Echtzeit auf bestimmte Ereignisse zu reagieren, erlaubt es, Probleme schnell zu identifizieren und zu beheben. Das schafft Vertrauen bei den Endbenutzern und hilft AgilePoint-Managern, das System als Ganzes zu überwachen. Wenn Sie interessiert sind oder Fragen haben, dann sollten Sie jetzt unbedingt mit uns sprechen. Gerne dürfen Sie uns auch kontaktieren, um mehr über die aktuell laufenden Low-Code/No-Code-Projekte zu erfahren.