Using Web Hooks

40 %
60 %
Information about Using Web Hooks
Technology

Published on April 23, 2009

Author: progrium

Source: slideshare.net

Description

A tech talk I gave at Pivotal Labs with an epic new deck.

webhooks jeff lindsay

WEBHOOKS AND THE FUTURE OF THE WEB

problem solution examples implementation inspiration future

problem?

‣ notifications ‣ data syncing ‣ chaining ‣ modification ‣ plugins

‣ notifications ‣ data syncing ‣ chaining ‣ modification ‣ plugins

‣ notifications “I wish I could get notifications exactly ‣ data syncing how I want.” ‣ chaining ‣ modification ‣ plugins

‣ notifications ‣ data syncing “I wish my web apps would keep overlapping ‣ chaining data in sync.” ‣ modification ‣ plugins

‣ notifications ‣ data syncing ‣ chaining “I wish I could make ‣ modification another app do ‣ plugins something when I use this app.”

‣ notifications ‣ data syncing ‣ chaining ‣ modification “I wish I could make ‣ plugins this app work just slightly differently.”

‣ notifications ‣ data syncing ‣ chaining ‣ modification ‣ plugins “I wish I could let my users extend/build plugins for my app.”

} ‣ notifications ‣ data syncing ‣ chaining programmability ‣ modification ‣ plugins

WEBHOOKS

WEBHOOKS Huh?

web•hooks |ˈwebˌhoŏks| pattern of enabling user-defined callbacks in web applications

us•er |ˈyoōzər|

call•back |ˈkôlˌbak|

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

call•back |ˈkôlˌbak| Program ƒ(x) ƒ(x) ƒ(x) Library ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x) ƒ(x)

“In computer programming, hooking is a technique used to alter or augment the behavior of [a program], often without having access to its source code.”

webhooks origin

subversion hooks repository working copy foo

subversion hooks repository working copy foo foo

subversion hooks repository foo

subversion hooks repository bar foo

subversion hooks repository bar foo

subversion hooks repository bar bar

subversion hooks repository pre-commit foo bar post-commit

subversion hooks repository pre-commit foo bar post-commit

subversion hooks Does this user have repository permission? pre-commit Is this change valid? foo bar post-commit

subversion hooks repository pre-commit foo bar post-commit

subversion hooks repository pre-commit bar bar post-commit

subversion hooks repository pre-commit bar bar Send a notice to IRC post-commit Try to build the project

subversion hooks repository bar bar

subversion hooks repository A new change was committed by Jeff. bar bar

subversion hooks repository bar bar Damn it Jeff, you broke the build!

paypal ipn

paypal ipn

paypal ipn

webhooks SO SIMPLE YOUʼLL THINK ITʼS STUPID

webhooks anatomy web app

webhooks anatomy web app db

webhooks anatomy ui web app db

webhooks anatomy ui web app db

webhooks anatomy ui web app event event db event

webhooks anatomy ui api web app event event db event

webhooks anatomy ui api web app event event db event

webhooks anatomy ui api web app event event db event

webhooks anatomy ui api web app event event db event callback

webhooks anatomy ui api web app event event db event callback

webhooks anatomy ui api web app event event db event

webhooks anatomy

webhooks anatomy callback

webhooks anatomy callback

webhooks anatomy callback

webhooks anatomy callback

webhooks anatomy callback

examples

DEPLOY

PUSH

Hey guys, pull.

k

DEPLOY

PUSH

Hey guys, pull.

k

DEPLOY

Hooks?

http://myserver.com/script

http://myserver.com/script R ISTE REG

PUSH

PUSH

Hey guys, pull.

k

OY PL E D

1. define achievements here 2. add trigger pings to your backend 3. paste javascript into your layout

not done yet, but... QUESTIONS?

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

more examples ecommerce project hosting notifications plugins / platform

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins

payoff notifications data syncing FOR THE DEVELOPER chaining modifications plugins one, simple solution

how to implement

1. design callback channels per noun or per verb on noun wiki crud? project install/uninstall account pre-commit/post-commit plugin vs

2. create registration method web ui or api both? :)

3. choose payload format POST parameters JSON XML

4. add trigger code to events

5. consider these options queuing posts HMAC verification retry return data filtering validation

ecosystem

protocol-droid

protocol-droid coming soon...

inspiration

Todos Basecamp

Hey, there’s an event hook here!

Save

future

what to expect from webhooks

what to expect from webhooks sharing

what to expect from webhooks sharing standardization

what to expect from webhooks sharing standardization

what to expect from webhooks sharing standardization tools

what to expect from webhooks sharing standardization integration tools

what to expect from webhooks sharing standardization integration tools

what to expect from webhooks

web of things embedded devices are getting more powerful and connected

web of things “API for everything”

programming literacy As programming becomes more important, it will leave the back room and become a key skill and attribute of our top intellectual and social classes, just as reading and writing did in the past. Marc Prensky

program the world cloud computing + == near real “magic” web of things + easier programmability

problem solution examples implementation inspiration future

use webhooks! join the community http://webhooks.org

ok, itʼs over... QUESTIONS?

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Using Web Hooks | SendOwl

Web Hooks can be created by clicking the Settings link and then Web Hooks from the Advanced panel: A name, event and url are required. You can optionally ...
Read more

Webhooks | GitHub Developer Guide

Webhooks allow you to build or set up integrations which subscribe to certain events on ... Organization hooks only. ... using the hook's secret as the ...
Read more

WebHooks

wiki blog discuss ... wiki blog discuss
Read more

Web Hooks / FrontPage

FrontPage Page history last edited by Troy Davis 5 years, 3 months ago. What is ... Who is using web hooks? A number of people have started using web hooks.
Read more

Using Hooks from C# - CodeProject

Using Hooks from C#. ... Windows hooks are implemented using callback ... the application I'm currently working on uses a web browser-like "forward ...
Read more

GitHub - aspnet/WebHooks: Libraries to create and consume ...

WebHooks - Libraries to create and consume web hooks ... Clone with HTTPS Use Git or checkout with SVN using the web URL.
Read more

Introducing ASP.NET WebHooks Receivers - Hanselman

Integrating with Slack Using ASP.NET WebHooks Preview; ... Go check out ASP.NET Web Hooks and give your feedback in the GitHub issues or directly to Henrik ...
Read more

Azure Automation webhooks | Microsoft Azure

Create a Node.js Web App Create a Node application and deploy it to Azure App Service Web Apps using ... solution using the Azure Automation ...
Read more

Introducing Microsoft ASP.NET WebHooks Preview | .NET Web ...

Your official information source from the .NET Web Development and ... (Azure Web App Deployment) Using ASP.NET WebHooks with IFTTT and ...
Read more