2016-01-31 31 views
5

Oglądałem imponującą serię wpisów na blogu Henrik F Nielsen w nowej technologii ASP.NET WebHooks. The latest post which can be found here, jeśli zainteresowany.Różnica między WebHooks ASP.NET a usługami sieciowymi?

In another, earlier one of these posts, zapytałem w komentarzu, jaka jest różnica między WebHooks a SignalR. Odpowiedź została później wysłana na link do great question (and answer) here on StackOverflow.

Jednak teraz po przeczytaniu odpowiedzi na to pytanie, muszę teraz zapytać: Jaka jest różnica między używaniem WebHooks ASP.NET a używaniem zwykłej usługi internetowej? Przyjęta odpowiedź podana w SignalR comparison answer sugeruje, aby "myśleć o komunikacji B2B". Jednak gdy myślę o komunikacji B2B, od razu myślę o usługach internetowych - SOAP lub REST (który - jak rozumiem w tym momencie - używa czasowników HTTP podobnych do WebHooków).

Byłem zainteresowany poznawaniem WebHooków i śledziłem je razem z tymi postami, ale nadal pozostaje zamieszanie związane z tym, jak wszystko to pasuje do siebie, zwłaszcza gdy wydaje się, że inne technologie w zasadzie robią to samo. Byłoby wspaniale uzyskać wyjaśnienie między tymi dwoma technologiami.

Odpowiedz

5

To tylko warstwa na wierzchu stosu "zwykłego starego mvc", który "automatycznie" obsługuje określone usługi saas.

Dawno temu - Webhooks zostały zakodowane Ręcznie

Pomyśl o kodowanie słuchacza na webhook Dropbox. Musisz kodować wszystkie parametry i sprawdzanie poprawności od zera, musisz znać oauth2.0 (i dowiedzieć się, jak go aktywować), i musisz dowiedzieć się, które haki są dostępne.

Webhooks w asp.net niech faceci, którzy zakodowali Dropbox również kodować parametry i kod szkieletu dla twojego webhooka. Łatwiej jest szybko to zrobić.

Oczywiście, jeśli publikujesz własne webhook'y, to dostarczają one instalacje hydrauliczne, dzięki czemu możesz tworzyć "obserwatorów" w swoim kodzie i zapewniają automatyczny sposób, aby inni mogli zasubskrybować tych słuchaczy. Ponownie, możesz samemu to zakodować, ale przestrzeganie standardów jest łatwym sposobem, aby upewnić się, że inni nie mają stromej krzywej uczenia się, gdy przychodzi czas, aby pochłonąć SWOJE haczyki.

Think „Nuget usług internetowych”

Pomyśl o tym, jak Nuget fundamentalnie zmieniła proces dodawania odnośników do kodu. Po prostu dodajesz pakiety do swojego rozwiązania, a system dba o pobieranie, zmiany web.config, itp.

Ta usługa działa tak samo w przypadku usług sieciowych saas. Teraz, jako dostawca usług saas, możemy kodować mały pakiet podobny do pakietu nuget, aby pobrać/zainstalować słuchaczy. Nie więcej artykułów kb wyjaśniających, jak działa oauth1 vs oauth2 vs api-keys. Po prostu tworzymy kreatora instalacji i gotowe!

A jednak, kiedy po raz pierwszy zaczęliśmy od nuget, istniał podzbiór programistów, którzy pytali "jaka jest różnica między nugetem a ręcznym dodawaniem odniesień do kodu ręcznie."

vs SignalR

SignalR jest na żywo "aktywne" połączenie z serwerem. Tworzy własną usługę podobną do czatu. Webhooks (ogólna koncepcja) to po prostu wywołanie http (s) do jednego z twoich punktów końcowych.To, myślę, było punktem odpowiedzi na twój drugi stos.

Webhook pojęcie vs MSFT „WebHook”

Msft bierze że https pisać o krok dalej i powiedzieć, że Dropbox (lub dowolnego dostawcy webhook) można utworzyć kreatora na inny w obsłudze, że kroki je poprzez uwierzytelnianie , parametry zapytań itp. To świetny pomysł, ponieważ nie musisz czytać dokumentów Dropbox, aby korzystać z webhosta w Dropbox.

+0

"Pomyśl" nuget o usługach internetowych "" wygrywa interwebs w tym dniu. Dziękuję za wspaniałą odpowiedź, @bri! –

+0

Kolejne pytanie - czy .Net Webhooks będzie działał z innymi webhookami innymi niż .Net? Na przykład szukam implementacji Webhooków do obsługi integracji Zapiera ... ale dokumenty sugerują, że jest to możliwe dla innych dostawców, którzy zaimplementowali "odbiorniki", używając tego samego narzędzia. Czy to jest bardziej ogólne? –

+0

Dropbox nie jest .NET i jest to jeden z haczyków dostępnych po wyjęciu z pudełka. Zapier będzie musiał stworzyć "pakiet" webhook ... O ile go nie kodujesz i nie publikujesz ;-). – bri