SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
there once was a command line
nav filesystem, launch apps, write scripts
Input                                                    Output

                                            Program




lots of power in a bit of infrastructure involving input and output
STDIN                                                     STDOUT

                                          Program



                                                                   STDERR



stdin, stdout were available to reroute wherever the user wanted
most common use was chaining commands together: piping
Infrastructure

           STDIN                                                      STDOUT

                                         Program



                                                                 STDERR



this was an amazing amount of infrastructure based on a very simple idea
and we’ve had it since 1977
                              1977
1997
fast foward 20 years just after commercialization of internet to a perl conference
jon udell talks about websites as data sources that can be reused and remixed
today that idea isn’t very novel
a new programming paradigm
            that takes the whole Internet
                    as its platform



                         1997
he also talked about a new programming paradigm
i don’t think we’re there yet
but this inspired ...
“What is the equivalent of the pipe
          in the age of the web?”


tim oreilly to ask in 2000...
there seems to be resounding consensus the answer is feeds
they sound good in theory
it makes you think of feeds like in the telecom world
data coming directly to you
but we know that’s not how it works
?




instead we have to go request the data
then it gives it to us. and we do this over and over.
?




client side mashups might be able to get by with this
?




but when you start talking about persistent web applications, it becomes a bit more work
?


    • Crontab / Daemon
    • Parsing
    • Caching
?


                                       • Crontab / Daemon
                                       • Parsing
                                       • Caching
this is just too much work sometimes

the other problem i have is with the command line metaphor for web apps
Command-line
                                 Application
                             Start                              Stop




because a command line application is linear. it starts, runs, and stops
Web
                                   Application

                                                            Always
                                                            Running




web apps are always running.
a better metaphor for this is a running process or daemon
here we have some daemons.
this is ps doom
so using this metaphor, how do daemons communicate?
IPC?
       Inter process communication




ipc?
lol
                         h4x



                                                      stfu
                                                     n00b




...
yeah. my experience with ipc was pretty bad.
ipc usually involves some sort of shared memory mechanism, like a queue
it turns out amazon provides a queue web service
but with a third party queue you only defer the polling
it doesn’t solve the problem, its just fancier rss
so this is not the solution, and probably why not too many people use or know of it
Real-time
 Efficient
   Easy
Web Hooks




web hooks are user defined callback URLs that point to a web script to run on a certain event.
you can call them other things...
Web Hooks
                                  • User Callbacks
                                  • Triggers
                                  • Event Handlers
                                  • “Plugouts”

web hooks are user defined callback URLs that point to a web script to run on a certain event.
you can call them other things...
to implement web hooks, you generally provide a ui--
for the user to specify a url for events
http://example.com/post-commit.php
http://example.com/post-commit.php




                                                             Infrastructure
what this does is creates powerful infrastructure that might not be obvious at the surface
Easy for Vendors




the idea is that it’s easy for vendors to integrate
the main mechanism is a standard http post, which is trivial in most environments
Easy (enough) for Users




it’s also very open and easy for the users, which will generally be advanced users, but can easily be
taken advantage of by novice users
as a user, to take advantage of hooks, you’d write a script to handle an event, like the commit
this is a very simple script
“Internet”




so what the user would do
“Internet”




is put that script up on the internet
“Internet”




then they’d go to the hook settings page
and hook the commit event up to their script
then as the user interacts with devjavu
Commit!




and they make a commit, it fires a post to their script
Commit!




the script runs, and send an email to the mailing list
Commit!




this makes the user a happy cookie.
and this is a trivial example, using only on web service.
imagine using the api of another in the hook script and chaining these things together
Commit!




but even in this simple example, you see the power it gives to the user and to the data that we’re
trying to “open up” to our users
STDIN                                                      STDOUT

                                         Program




back to piping on the command line, remember that it was simple infrastructure that gave you
tremendous power, and one of the key components was making it easy to chain commands
STDIN

                                            Program




we wouldn’t be able to do it without the output part of it
API

                                           Web App




unfortunately that’s how the web is today.
the only output you can get is by using the input (api, feed)
API                                                            Hooks

                                           Web App




web hooks gives us this output, and when *combined* with the input of api’s
it will give us and our user tremendous power that i think will really push the web
into being a new programmable paradigm
Program the Web




the possibilities become very rich and i’ve thought about it a lot
there’s probably a lot more
imagine realtime data syncronization
or a chain of events that makes these apps work together in a way you’ve never imagined
Fin
Questions?




 blogrium.com
SuperHappyDevHouse
API                                                            Hooks

                                           Web App




web hooks gives us this output, and when *combined* with the input of api’s
it will give us and our user tremendous power that i think will really push the web
into being a new programmable paradigm

Weitere ähnliche Inhalte

Was ist angesagt?

Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudEberhard Wolff
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIOuadie LAHDIOUI
 
Technologies sur angular.pptx
Technologies sur angular.pptxTechnologies sur angular.pptx
Technologies sur angular.pptxIdrissaDembl
 
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...Anoop Ramachandran
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream ProcessingGuido Schmutz
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with SpringJoshua Long
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsTessa Mero
 
Model view controller (mvc)
Model view controller (mvc)Model view controller (mvc)
Model view controller (mvc)M Ahsan Khan
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.pptVMahesh5
 
Introduction to YII framework
Introduction to YII frameworkIntroduction to YII framework
Introduction to YII frameworkNaincy Gupta
 

Was ist angesagt? (20)

Spring Boot
Spring BootSpring Boot
Spring Boot
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Webhooks
WebhooksWebhooks
Webhooks
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre APIREST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
REST : Modèle de maturité de Richardson, Pour évaluer la RESTitude de votre API
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Technologies sur angular.pptx
Technologies sur angular.pptxTechnologies sur angular.pptx
Technologies sur angular.pptx
 
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Spring Web MVC
Spring Web MVCSpring Web MVC
Spring Web MVC
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
 
Model view controller (mvc)
Model view controller (mvc)Model view controller (mvc)
Model view controller (mvc)
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
Servlet.ppt
Servlet.pptServlet.ppt
Servlet.ppt
 
Introduction to YII framework
Introduction to YII frameworkIntroduction to YII framework
Introduction to YII framework
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 

Ähnlich wie Web Hooks

Tastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work EasierTastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work EasierHarvard Web Working Group
 
SpaceLock Meetup - Plan 25 Jan 09
SpaceLock Meetup - Plan 25 Jan 09SpaceLock Meetup - Plan 25 Jan 09
SpaceLock Meetup - Plan 25 Jan 09Abhishek Mishra
 
WebHooks in 10 Minutes
WebHooks in 10 MinutesWebHooks in 10 Minutes
WebHooks in 10 MinutesJeff Lindsay
 
APIs That Make Things Happen
APIs That Make Things HappenAPIs That Make Things Happen
APIs That Make Things HappenJeff Lindsay
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloudgueste4978b94
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)VMware Tanzu
 
Simplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and toolsSimplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and toolsRui Carvalho
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDevOps Indonesia
 
Forensic tools for in-depth performance investigations
Forensic tools for in-depth performance investigations Forensic tools for in-depth performance investigations
Forensic tools for in-depth performance investigations SOASTA
 
Forensic Tools for In-Depth Performance Investigations
Forensic Tools for In-Depth Performance InvestigationsForensic Tools for In-Depth Performance Investigations
Forensic Tools for In-Depth Performance InvestigationsNicholas Jansma
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...Paul Jensen
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusJarrod Overson
 
Device APIs at TakeOff Conference
Device APIs at TakeOff ConferenceDevice APIs at TakeOff Conference
Device APIs at TakeOff Conferencedianacheng
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Jacek Tomaszewski
 
The Beginning - Jan 20 2009
The Beginning - Jan 20 2009The Beginning - Jan 20 2009
The Beginning - Jan 20 2009Abhishek Mishra
 
Midwest PHP 2017 DevOps For Small team
Midwest PHP 2017 DevOps For Small teamMidwest PHP 2017 DevOps For Small team
Midwest PHP 2017 DevOps For Small teamJoe Ferguson
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applicationsFDConf
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Jan Jongboom
 
Madison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsMadison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsJoe Ferguson
 

Ähnlich wie Web Hooks (20)

Tastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work EasierTastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work Easier
 
SpaceLock Meetup - Plan 25 Jan 09
SpaceLock Meetup - Plan 25 Jan 09SpaceLock Meetup - Plan 25 Jan 09
SpaceLock Meetup - Plan 25 Jan 09
 
WebHooks in 10 Minutes
WebHooks in 10 MinutesWebHooks in 10 Minutes
WebHooks in 10 Minutes
 
APIs That Make Things Happen
APIs That Make Things HappenAPIs That Make Things Happen
APIs That Make Things Happen
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloud
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
 
Simplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and toolsSimplicity - develop modern web apps with tiny frameworks and tools
Simplicity - develop modern web apps with tiny frameworks and tools
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for Kubernetes
 
Forensic tools for in-depth performance investigations
Forensic tools for in-depth performance investigations Forensic tools for in-depth performance investigations
Forensic tools for in-depth performance investigations
 
Forensic Tools for In-Depth Performance Investigations
Forensic Tools for In-Depth Performance InvestigationsForensic Tools for In-Depth Performance Investigations
Forensic Tools for In-Depth Performance Investigations
 
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
End to end testing Single Page Apps & APIs with Cucumber.js and Puppeteer (Em...
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobus
 
Device APIs at TakeOff Conference
Device APIs at TakeOff ConferenceDevice APIs at TakeOff Conference
Device APIs at TakeOff Conference
 
Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1Become a webdeveloper - AKAICamp Beginner #1
Become a webdeveloper - AKAICamp Beginner #1
 
The Beginning - Jan 20 2009
The Beginning - Jan 20 2009The Beginning - Jan 20 2009
The Beginning - Jan 20 2009
 
Midwest PHP 2017 DevOps For Small team
Midwest PHP 2017 DevOps For Small teamMidwest PHP 2017 DevOps For Small team
Midwest PHP 2017 DevOps For Small team
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
Madison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsMadison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small Teams
 

Mehr von Jeff Lindsay

Hack Party SHDH Lightning Talk
Hack Party SHDH Lightning TalkHack Party SHDH Lightning Talk
Hack Party SHDH Lightning TalkJeff Lindsay
 
Building an Event-driven Web @ Impact
Building an Event-driven Web @ ImpactBuilding an Event-driven Web @ Impact
Building an Event-driven Web @ ImpactJeff Lindsay
 
Evented Web @ Ignite
Evented Web @ IgniteEvented Web @ Ignite
Evented Web @ IgniteJeff Lindsay
 
Hacker Dojo Origins
Hacker Dojo OriginsHacker Dojo Origins
Hacker Dojo OriginsJeff Lindsay
 
Hacker Dojo @ Google
Hacker Dojo @ GoogleHacker Dojo @ Google
Hacker Dojo @ GoogleJeff Lindsay
 
How WebHooks Will Make Us All Programmers
How WebHooks Will Make Us All ProgrammersHow WebHooks Will Make Us All Programmers
How WebHooks Will Make Us All ProgrammersJeff Lindsay
 
Creating + Nurturing Your Indie Game Community
Creating + Nurturing Your Indie Game CommunityCreating + Nurturing Your Indie Game Community
Creating + Nurturing Your Indie Game CommunityJeff Lindsay
 
Dissolving Problems
Dissolving ProblemsDissolving Problems
Dissolving ProblemsJeff Lindsay
 
SHDH Retrospective, Part 2
SHDH Retrospective, Part 2SHDH Retrospective, Part 2
SHDH Retrospective, Part 2Jeff Lindsay
 
SHDH Retrospective, Part 1
SHDH Retrospective, Part 1SHDH Retrospective, Part 1
SHDH Retrospective, Part 1Jeff Lindsay
 
Superglue: Web Hooks and the Future of the Web
Superglue: Web Hooks and the Future of the WebSuperglue: Web Hooks and the Future of the Web
Superglue: Web Hooks and the Future of the WebJeff Lindsay
 
Web Hooks Google Tech Talk
Web Hooks Google Tech TalkWeb Hooks Google Tech Talk
Web Hooks Google Tech TalkJeff Lindsay
 
Beyond Mashups: Service Integration and More
Beyond Mashups: Service Integration and MoreBeyond Mashups: Service Integration and More
Beyond Mashups: Service Integration and MoreJeff Lindsay
 
Web Hooks and the Programmable World of Tomorrow
Web Hooks and the Programmable World of TomorrowWeb Hooks and the Programmable World of Tomorrow
Web Hooks and the Programmable World of TomorrowJeff Lindsay
 

Mehr von Jeff Lindsay (17)

Hack Party SHDH Lightning Talk
Hack Party SHDH Lightning TalkHack Party SHDH Lightning Talk
Hack Party SHDH Lightning Talk
 
NullMQ @ PDX
NullMQ @ PDXNullMQ @ PDX
NullMQ @ PDX
 
Building an Event-driven Web @ Impact
Building an Event-driven Web @ ImpactBuilding an Event-driven Web @ Impact
Building an Event-driven Web @ Impact
 
Evented Web @ Ignite
Evented Web @ IgniteEvented Web @ Ignite
Evented Web @ Ignite
 
Hacker Dojo Origins
Hacker Dojo OriginsHacker Dojo Origins
Hacker Dojo Origins
 
Dinos
DinosDinos
Dinos
 
Hacker Dojo @ Google
Hacker Dojo @ GoogleHacker Dojo @ Google
Hacker Dojo @ Google
 
How WebHooks Will Make Us All Programmers
How WebHooks Will Make Us All ProgrammersHow WebHooks Will Make Us All Programmers
How WebHooks Will Make Us All Programmers
 
Creating + Nurturing Your Indie Game Community
Creating + Nurturing Your Indie Game CommunityCreating + Nurturing Your Indie Game Community
Creating + Nurturing Your Indie Game Community
 
Dissolving Problems
Dissolving ProblemsDissolving Problems
Dissolving Problems
 
SHDH Retrospective, Part 2
SHDH Retrospective, Part 2SHDH Retrospective, Part 2
SHDH Retrospective, Part 2
 
SHDH Retrospective, Part 1
SHDH Retrospective, Part 1SHDH Retrospective, Part 1
SHDH Retrospective, Part 1
 
Superglue: Web Hooks and the Future of the Web
Superglue: Web Hooks and the Future of the WebSuperglue: Web Hooks and the Future of the Web
Superglue: Web Hooks and the Future of the Web
 
Using Web Hooks
Using Web HooksUsing Web Hooks
Using Web Hooks
 
Web Hooks Google Tech Talk
Web Hooks Google Tech TalkWeb Hooks Google Tech Talk
Web Hooks Google Tech Talk
 
Beyond Mashups: Service Integration and More
Beyond Mashups: Service Integration and MoreBeyond Mashups: Service Integration and More
Beyond Mashups: Service Integration and More
 
Web Hooks and the Programmable World of Tomorrow
Web Hooks and the Programmable World of TomorrowWeb Hooks and the Programmable World of Tomorrow
Web Hooks and the Programmable World of Tomorrow
 

Kürzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Web Hooks

  • 1. there once was a command line nav filesystem, launch apps, write scripts
  • 2. Input Output Program lots of power in a bit of infrastructure involving input and output
  • 3. STDIN STDOUT Program STDERR stdin, stdout were available to reroute wherever the user wanted most common use was chaining commands together: piping
  • 4. Infrastructure STDIN STDOUT Program STDERR this was an amazing amount of infrastructure based on a very simple idea
  • 5. and we’ve had it since 1977 1977
  • 6. 1997 fast foward 20 years just after commercialization of internet to a perl conference jon udell talks about websites as data sources that can be reused and remixed today that idea isn’t very novel
  • 7. a new programming paradigm that takes the whole Internet as its platform 1997 he also talked about a new programming paradigm i don’t think we’re there yet but this inspired ...
  • 8. “What is the equivalent of the pipe in the age of the web?” tim oreilly to ask in 2000...
  • 9. there seems to be resounding consensus the answer is feeds they sound good in theory
  • 10. it makes you think of feeds like in the telecom world
  • 12. but we know that’s not how it works
  • 13. ? instead we have to go request the data
  • 14. then it gives it to us. and we do this over and over.
  • 15. ? client side mashups might be able to get by with this
  • 16. ? but when you start talking about persistent web applications, it becomes a bit more work
  • 17. ? • Crontab / Daemon • Parsing • Caching
  • 18. ? • Crontab / Daemon • Parsing • Caching this is just too much work sometimes the other problem i have is with the command line metaphor for web apps
  • 19. Command-line Application Start Stop because a command line application is linear. it starts, runs, and stops
  • 20. Web Application Always Running web apps are always running. a better metaphor for this is a running process or daemon
  • 21. here we have some daemons. this is ps doom so using this metaphor, how do daemons communicate?
  • 22. IPC? Inter process communication ipc?
  • 23. lol h4x stfu n00b ... yeah. my experience with ipc was pretty bad. ipc usually involves some sort of shared memory mechanism, like a queue
  • 24. it turns out amazon provides a queue web service but with a third party queue you only defer the polling it doesn’t solve the problem, its just fancier rss
  • 25. so this is not the solution, and probably why not too many people use or know of it
  • 27. Web Hooks web hooks are user defined callback URLs that point to a web script to run on a certain event. you can call them other things...
  • 28. Web Hooks • User Callbacks • Triggers • Event Handlers • “Plugouts” web hooks are user defined callback URLs that point to a web script to run on a certain event. you can call them other things...
  • 29. to implement web hooks, you generally provide a ui--
  • 30. for the user to specify a url for events
  • 32. http://example.com/post-commit.php Infrastructure what this does is creates powerful infrastructure that might not be obvious at the surface
  • 33. Easy for Vendors the idea is that it’s easy for vendors to integrate
  • 34. the main mechanism is a standard http post, which is trivial in most environments
  • 35. Easy (enough) for Users it’s also very open and easy for the users, which will generally be advanced users, but can easily be taken advantage of by novice users
  • 36. as a user, to take advantage of hooks, you’d write a script to handle an event, like the commit this is a very simple script
  • 38. “Internet” is put that script up on the internet
  • 39. “Internet” then they’d go to the hook settings page
  • 40. and hook the commit event up to their script
  • 41. then as the user interacts with devjavu
  • 42. Commit! and they make a commit, it fires a post to their script
  • 43. Commit! the script runs, and send an email to the mailing list
  • 44. Commit! this makes the user a happy cookie. and this is a trivial example, using only on web service. imagine using the api of another in the hook script and chaining these things together
  • 45. Commit! but even in this simple example, you see the power it gives to the user and to the data that we’re trying to “open up” to our users
  • 46. STDIN STDOUT Program back to piping on the command line, remember that it was simple infrastructure that gave you tremendous power, and one of the key components was making it easy to chain commands
  • 47. STDIN Program we wouldn’t be able to do it without the output part of it
  • 48. API Web App unfortunately that’s how the web is today. the only output you can get is by using the input (api, feed)
  • 49. API Hooks Web App web hooks gives us this output, and when *combined* with the input of api’s it will give us and our user tremendous power that i think will really push the web into being a new programmable paradigm
  • 50. Program the Web the possibilities become very rich and i’ve thought about it a lot there’s probably a lot more imagine realtime data syncronization or a chain of events that makes these apps work together in a way you’ve never imagined
  • 51. Fin
  • 54. API Hooks Web App web hooks gives us this output, and when *combined* with the input of api’s it will give us and our user tremendous power that i think will really push the web into being a new programmable paradigm