SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 
BIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and ImplementationBIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and ImplementationBiao Hao
 
從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新
從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新
從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新Canner2
 
Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web APIBrad Genereaux
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Rafael Wilber Kerr
 
Asp.Net Identity
Asp.Net IdentityAsp.Net Identity
Asp.Net IdentityMarwa Ahmad
 
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...Kai Wähner
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...HostedbyConfluent
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerSalesforce Developers
 
Access Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationAccess Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationMark Niebergall
 
Big Data & Analytics Architecture
Big Data & Analytics ArchitectureBig Data & Analytics Architecture
Big Data & Analytics ArchitectureArvind Sathi
 
Unique ID generation in distributed systems
Unique ID generation in distributed systemsUnique ID generation in distributed systems
Unique ID generation in distributed systemsDave Gardner
 
Building an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPABuilding an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPANeo4j
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding RESTNitin Pande
 

La actualidad más candente (20)

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
 
BIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and ImplementationBIAN Applied to Open Banking - Thoughts on Architecture and Implementation
BIAN Applied to Open Banking - Thoughts on Architecture and Implementation
 
從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新
從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新
從 Trino 到企業級資料共享產品的開發之路(一) Connector 動態更新
 
Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web API
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)
 
Rest web services
Rest web servicesRest web services
Rest web services
 
Google cloud Dataflow & Apache Flink
Google cloud Dataflow & Apache FlinkGoogle cloud Dataflow & Apache Flink
Google cloud Dataflow & Apache Flink
 
Asp.Net Identity
Asp.Net IdentityAsp.Net Identity
Asp.Net Identity
 
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
Showdown: Integration Framework (Spring Integration, Apache Camel) vs. Enterp...
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...Expose your event-driven data to the outside world using webhooks powered by ...
Expose your event-driven data to the outside world using webhooks powered by ...
 
LINQ in C#
LINQ in C#LINQ in C#
LINQ in C#
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Access Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationAccess Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource Authorization
 
Big Data & Analytics Architecture
Big Data & Analytics ArchitectureBig Data & Analytics Architecture
Big Data & Analytics Architecture
 
Unique ID generation in distributed systems
Unique ID generation in distributed systemsUnique ID generation in distributed systems
Unique ID generation in distributed systems
 
API Design Workflows
API Design WorkflowsAPI Design Workflows
API Design Workflows
 
Building an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPABuilding an Authorization Solution for Microservices Using Neo4j and OPA
Building an Authorization Solution for Microservices Using Neo4j and OPA
 
Understanding REST
Understanding RESTUnderstanding REST
Understanding REST
 
OData Services
OData ServicesOData Services
OData Services
 

Similar a 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
 
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
 

Similar a 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
 
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
 
Signal R 2015
Signal R 2015Signal R 2015
Signal R 2015
 

Más de 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
 

Más de 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
 

Último

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

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