PREMONITION ERROR: Invalid box type
You have specified an invalid box type "hinweis". You can customize your own box types in `_config.yml`. See documentation for more help.Webhooks sind eine Technologie, die von der Notwendigkeit von echtzeitnahen Verbindungen zwischen separaten Unternehmenssystemen inspiriert wurde. Während es schon seit vielen Jahren ETL-Prozesse, Datenexporte und -importe oder Enterprise Service Buses gibt, stellen Webhooks ein neues Muster für die Integration zwischen diesen Systemen dar und werden zunehmend in einer Vielzahl von Softwaretypen implementiert.
Webhooks können am einfachsten als eine System-zu-System-Nachricht (eine Payload) definiert werden, die nach dem Auftreten einer bestimmten Aktion (eines Auslösers) gesendet wird. Dabei spielt es keine Rolle, ob die Aktion oder das Ereignis in einem Datenmanagementsystem oder einer Anwendung auftritt. Diese Payload-Nachrichten können in Größe, Inhalt oder Umfang variieren, aber im Allgemeinen gibt es ein Muster mit einem Quellsystem und einem Zielsystem. Dabei sind in der Quelle Webhooks konfiguriert, die Informationen an das Ziel senden. Anstatt nach einem zeitbasierten Zeitplan ausgeführt zu werden, werden Webhooks in der Regel just-in-time ausgelöst, z. B. bei Auftreten eines bestimmten Ereignisses wie dem Bearbeiten eines Formulars, dem Entfernen einer Datei, dem Erstellen eines Benutzers usw.
Auf technischer Ebene wird ein Webhook in der Regel als POST-Anforderung an einen HTTPS-Endpunkt definiert, der anonym zugänglich oder durch ein einfaches Token oder einen einfachen Schlüssel gesichert sein kann. Der Hauptteil besteht aus JSON-Code. Der Inhalt der POST-Anforderung bezieht sich auf das soeben aufgetretene Ereignis (siehe Beispiele unten), und das Ziel empfängt die Nachricht und verarbeitet sie auf der Grundlage seiner eigenen Logik. Bei diesen Nachrichten handelt es sich in den meisten Fällen um JSON-Dokumente (gemäß der Konvention, aber nicht per Definition), und sie können je nach Design begrenzte oder umfassende Sätze von Informationen enthalten.
PREMONITION ERROR: Invalid box type
You have specified an invalid box type "hinweis". You can customize your own box types in `_config.yml`. See documentation for more help.Webhooks als Funktion werden in der Regel aus bestimmten Gründen einem System oder einer Anwendung hinzugefügt, nicht als Basisfunktion oder -prozess für alle Anforderungen oder Schnittstellen. Sie werden häufig verwendet, um Informationen oder ereignisbasierte Nachrichten in andere Systeme zu übertragen, die sich auf Benachrichtigungen oder Automatisierung konzentrieren, z. B. Power Automate oder Zapier. Eine Webhook-Anforderung kann auch an einen benutzerdefinierten Web-Service oder Endpunkt oder an ein ArcGIS-Geoverarbeitungswerkzeug gesendet werden.
Weitere Empfehlungen zu Webhooks sowie Beispielcode für das Empfangen und Verarbeiten von Webhooks finden Sie im Github-Repository webhook-samples von Esri.
Webhook-Funktionen werden in verschiedenen Teilen des ArcGIS-Systems zur Verfügung gestellt und können verwendet werden, um Workflows miteinander zu verknüpfen, in andere Systeme zu integrieren und zugehörige Ereignisse auszulösen, die auf die im Webhook enthaltenen Daten angewendet werden. Webhooks werden in mehreren ArcGIS-Anwendungen oder -Systemen nativ verwendet, darunter:
Webhooks in ArcGIS Online werden im Kontext von Feature-Services zur Verfügung gestellt, die so konfiguriert werden können, dass Webhooks basierend auf unterschiedlichen Bedingungen, z. B. einem neuen Feature oder einer Bearbeitung, an mehrere Ziele gesendet werden. Beispielsweise können verschiedene Endpunkte neue Features anstelle von Bearbeitungen erhalten. In diesem Blogbeitrag finden Sie einige Beispiele dafür, wie Webhooks erstellt und verwendet werden können. Der Text des Webhooks enthält Informationen zu den bearbeiteten Features, die das Remote-System für eine Abfrage an ArcGIS Online und zum Abrufen der tatsächlichen Transaktionsänderungen verwenden kann.
Webhooks in ArcGIS Enterprise unterstützen auch Feature-Service-basierte Webhooks, ähnlich wie in ArcGIS Online, aber sie unterstützen außerdem verschiedene andere Muster. Diese Feature-Service-basierten Webhooks werden über das ArcGIS-Server-Administratorverzeichnis konfiguriert. Weitere Informationen zum Konfigurieren eines Feature-Service-basierten Webhooks finden Sie unter Create (Webhooks).
Geoverarbeitungsservice-Webhooks können so konfiguriert werden, dass sie nach Abschluss eines Geoverarbeitungsservice-Auftrags ausgeführt werden, ein Remote-System über den Abschluss des Auftrags informieren und die Ergebnisse des Auftrags (erfolgreich, fehlgeschlagen oder abgebrochen) zusammen mit einer URL enthalten, die das Remote-System zum Abrufen des Status verwenden kann. Der Inhalt des Geoverarbeitungsservice-Webhooks wird in der ArcGIS Enterprise-Dokumentation ausführlicher beschrieben.
In diesem Blogbeitrag wird ein Beispiel für die gemeinsame Verwendung von Feature-Service- und Geoverarbeitungsservice-Webhooks zum Automatisieren eines Workflow für Meldungen durch Bürger mit einem Arbeitsmanagementsystem beschrieben.
ArcGIS Enterprise unterstützt auch Organisations-Webhooks, die durch Änderungen an Benutzern, Gruppen und Inhalten in der ArcGIS Enterprise-Bereitstellung ausgelöst werden. Diese Webhooks können so definiert werden, dass sie für einen bestimmten Ereignistyp (z. B. die Erstellung einer neuen Gruppe) oder für viele Ereignistypen ausgeführt werden (sodass das Remotesystem die Ereignisse unabhängig voneinander parsen und verarbeiten kann).
Sowohl ArcGIS Survey123 als auch ArcGIS Field Maps unterstützen eine Webhook-Funktion.
Field Maps stellt ein Modul für Make.com bereit, das die Integration von Field Maps-Workflows erleichtert, die in ArcGIS Online gehostete Feature-Services verwenden. Weitere Informationen finden Sie unter Automatisieren von Field Maps.
In Survey123 gibt es ähnliche Workflows für Make.com und ArcGIS Power Automate, aber Webhooks können auch manuell konfiguriert werden, sodass sie aus der mobilen Anwendung (beim Erfassen von Daten) oder dem Survey123-Webformular (beim Übermitteln von Daten über einen Browser) an ein Ziel gesendet werden. Weitere Informationen finden Sie unter Konfigurieren eines Webhooks in der Survey123-Website.
Zur Unterstützung der Integration in andere Systeme und Workflows bietet ArcGIS Workflow Manager eine einfache Möglichkeit, einen Endpunkt zu erstellen, der Webhooks empfängt, in der Regel zum Erstellen eines Auftrags auf der Grundlage externer Informationen. Weitere Informationen finden Sie unter Erstellen von Aufträgen mit Webhooks.
Wenn Sie ein System oder eine Integration entwerfen und Webhooks dabei eine wichtige Rolle in einer Lösung oder einem Workflow spielen, ist es wichtig, einige der funktionalen und nicht funktionalen Anforderungen für erfolgreiche Webhooks zu berücksichtigen. Diese Überlegungen stellen sicher, dass Systembenutzer und Projektbeteiligte die Rolle von Webhooks im System und alle bestehenden Einschränkungen richtig verstehen.