I was reviewing a dev blog on Webhooks from last spring, and I was curious why they do not suggest using GeoEvent as a possible Webhook service? (Webhooks – Don’t call us, we’ll call you ) It seemed like from my understanding GeoEvent functions a lot like most webhook services, where you have a payload server waiting on an event and then your server will consume that event for use.
We are looking at applying webhook services to some of our existing scripted processes, like sending emails from Survey 123, and we already have GeoEvent Server setup. Has anyone else had any experience with this? Is there a benefit to using a 3rd party webhook service over GeoEvent?
I noticed your post when searching for something unrelated and wanted to quickly reply. I don't have any first-hand experience with benefits or challenges to developing or using a 3rd party webhook service over GeoEvent Server, but Jeffrey Scarmazzi may – he posted a question recently on an internal forum looking for advice on creating a web hook using our REST API.
For others who may be looking for information, please see Eric Ironside's blog, https://community.esri.com/people/eironside-esristaff/blog/2019/11/21/geoevent-consuming-an-arcgis-e... in addition to the blog you've mentioned (Joel Jeyarajah's — Webhooks - Don't call us, we'll call you).
Hope this information is helpful –
I think there is significant overlap in the use cases for GeoEvent and Web Hooks. But in my experience, the main functional difference between the two is a matter of the scale of messages. GeoEvent is generally geared towards processing 100s or 1000s of events per second and Web Hooks are typically used for processing information on the 1 event per minute or second scale. Those are just general observations on my part.
Also a generality, but the implementation choice between GeoEvent and Web Hook depends on if you have access to GeoEvent (and are comfortable using it), your data is availalbe to GeoEvent, and if the 'incidents' you want to notify others with can be processed by GeoEvent. If you need to do custom development within GeoEvent and/or you already have a standalone custom application that you are developing/supporting, then it might make sense to implement the Web Hook functionality in place. Also, don't forget that Web Hooks allow users to self-help themselves to data inside your application. This functionality can be beneficial when you don't know who is going to be interested in consuming your events (GeoEvent does allow users to subscribe to web sockets and consume web services, so maybe this isn't such a big deal).
And finally, the two technologies are not mutually exclusive. As my blog (mentioned by RJ above) shows, you can use GeoEvent to receive WebHook events.