2016-01-31 9 views
5

Ich habe Henrik F Nielsen beeindruckende Reihe von Blog-Posts auf der neuen ASP.NET WebHooks-Technologie verfolgt. The latest post which can be found here, bei Interesse.Unterschied zwischen ASP.NET WebHooks und Webdiensten?

In another, earlier one of these posts, fragte ich in einem Kommentar, was der Unterschied zwischen WebHooks und SignalR ist. Eine Antwort wurde später auf einen Link zu einem great question (and answer) here on StackOverflow veröffentlicht.

Jetzt, nachdem ich die Antwort (en) zu dieser Frage gelesen habe, muss ich nun fragen: Was ist der Unterschied zwischen der Verwendung von ASP.NET WebHooks und der Verwendung eines normalen ol 'Webdienstes? Die akzeptierte Antwort in der SignalR comparison answer schlägt vor, "B2B-Kommunikation zu denken". Wenn ich jedoch B2B-Kommunikation denke, denke ich sofort an Web-Services - entweder SOAP oder REST (die - wie ich bis zu diesem Punkt verstehe - HTTP-Verben ähnlich wie WebHooks verwendet).

Ich bin daran interessiert, WebHooks zu lernen, und habe diese Posts mitverfolgt, aber die Verwirrung bleibt, wie all das zusammenpasst, besonders wenn es scheint, dass andere Technologien im Grunde dasselbe tun. Es wäre großartig, eine Klärung zwischen den beiden Technologien zu erreichen.

Antwort

5

Es ist nur eine Schicht oben auf diesem "normalen alten mvc" Stapel, der "automatisch" mit spezifischen Saas-Diensten handelt.

Es war einmal - Webhooks wurden manuell codiert

Überlegen Sie einen Listener für ein Dropbox Webhook Codierung. Sie müssen alle Parameter und die Validierung von Grund auf neu programmieren, Sie müssen oauth2.0 kennen (und herausfinden, wie Sie es aktivieren), und Sie müssen herausfinden, welche Hooks verfügbar sind.

Webhooks in asp.net lassen die Jungs, die Dropbox codieren auch die Parameter und Skelett-Code für Ihren Webhook. So ist es einfacher, es schnell richtig zu machen.

Offensichtlich, wenn Sie Ihre eigenen Webhooks veröffentlichen, dann stellen sie die Installation zur Verfügung, so dass Sie "Beobachter" innerhalb Ihres Codes erstellen können, und sie bieten eine automatisierte Möglichkeit für andere, diese Listener zu abonnieren. Nochmals, Sie könnten das alles selbst programmieren, aber folgende Standards sind ein einfacher Weg, um sicherzustellen, dass andere keine steile Lernkurve haben, wenn es Zeit ist, IHRE Haken zu konsumieren.

Denken "nuget für Web-Service"

Denken Sie darüber nach, wie nuget grundsätzlich den Prozess für geänderte Verweise auf Ihren Code hinzufügen. Sie fügen Ihrer Lösung nur Pakete hinzu, und das System kümmert sich um das Herunterladen, web.config-Änderungen usw.

Dieser Dienst macht dasselbe für Saas-Webdienste. Als SaaS-Dienstanbieter können wir jetzt ein kleines nugget-ähnliches Paket zum Herunterladen/Installieren von Listenern programmieren. Keine kb Artikel mehr, die erklären, wie oauth1 vs oauth2 vs api-keys funktioniert. Wir erstellen nur einen kleinen Installationsassistenten und los gehts!

Und dennoch, als wir mit nuget anfingen, gab es eine Untergruppe von Codern, die sich fragten: "Was ist der Unterschied zwischen nuget und dem Hinzufügen von Verweisen auf Ihren Code?"

vs SignalR

SignalR ist eine Live "aktive" Verbindung zum Server. Es erstellt einen eigenen Chat-ähnlichen Dienst. Webhooks (das generische Konzept) sind nur ein http (s) -Aufruf an einen Ihrer Endpunkte.Das war meiner Meinung nach der Sinn der Antwort auf deinen anderen Stack Post.

Webhook das Konzept vs MSFT „Webhook“

Msft nimmt, dass https einen Schritt weiter schreiben und sagen, dass Dropbox (oder ANY Webhook Provider) einen Assistenten erstellen können, für andere, dass sie durch die Authentifizierung Schritte zu verwenden, , Abfrageparameter usw. Es ist eine coole Idee, weil Sie die Dropbox-Dokumente nicht lesen müssen, um einen Dropbox-Webhook zu konsumieren.

+0

"Think 'nugget für Web Services" gewinnt die Interwebs an diesem Tag. Danke für deine großartige Antwort, @bri! –

+0

Eine andere Frage dann - Würden .Net Webhooks mit anderen non.Net Webhooks arbeiten? Ich betrachte zum Beispiel die Implementierung von Webhooks zur Unterstützung von Zapier-Integrationen ... aber die Dokumente scheinen darauf hinzuweisen, dass dies für andere Anbieter gilt, die "Empfänger" mit demselben Dienstprogramm implementiert haben. Oder ist das generischer? –

+0

Dropbox ist nicht .net und das ist einer der Hooks, die sofort verfügbar sind. Zapier müsste das Webhook "Paket" erstellen ... Es sei denn Sie programmieren und veröffentlichen es ;-). – bri

Verwandte Themen