Building an Event-driven Web @ Impact
-
Upload
jeff-lindsay -
Category
Technology
-
view
1.928 -
download
2
description
Transcript of Building an Event-driven Web @ Impact
![Page 1: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/1.jpg)
Building an Event-driven Web
Jeff Lindsay@progrium
![Page 2: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/2.jpg)
Event-driven Programming
![Page 3: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/3.jpg)
Event-driven Programming
![Page 4: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/4.jpg)
The Web as a Platform
![Page 5: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/5.jpg)
The Web as a Platform
is a
Service-oriented Platform
![Page 6: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/6.jpg)
The Web as a Platform
is a
Service-oriented Platform(SOA: Service Oriented Architecture)
![Page 7: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/7.jpg)
S3EC2
MapReduce
CloudFront
SimpleDB
FPS
Simple Email Service
SQS
EBS
SNS
![Page 8: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/8.jpg)
![Page 9: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/9.jpg)
The Mashup
![Page 10: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/10.jpg)
Composition vs
Integration
![Page 11: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/11.jpg)
![Page 12: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/12.jpg)
The Web API (SOA)is designed for composition,
not integration
![Page 13: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/13.jpg)
The Evented Web
![Page 14: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/14.jpg)
![Page 15: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/15.jpg)
Web App
API
![Page 16: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/16.jpg)
Web App
API Events
![Page 17: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/17.jpg)
Web App
API Events
“WebHooks”
When something happens, perform HTTP POST with relevant data to a URL that the user gives you.
![Page 18: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/18.jpg)
PayPal IPN
![Page 19: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/19.jpg)
Twilio WebHooks
![Page 20: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/20.jpg)
![Page 21: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/21.jpg)
![Page 22: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/22.jpg)
![Page 23: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/23.jpg)
The Evented Web Vision
![Page 24: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/24.jpg)
The Evented Web Vision
• Powerful glue code
![Page 25: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/25.jpg)
The Evented Web Vision
• Powerful glue code
• Web plugins
![Page 26: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/26.jpg)
The Evented Web Vision
• Powerful glue code
• Web plugins
• Smaller pieces loosely joined
![Page 27: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/27.jpg)
The Evented Web Vision
• Powerful glue code
• Web plugins
• Smaller pieces loosely joined
• Revolution of workflow
![Page 28: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/28.jpg)
Live Web
![Page 29: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/29.jpg)
Live Web
Evented Web
![Page 30: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/30.jpg)
Live Web
Evented Web
UX driven
Plumbing driven
![Page 31: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/31.jpg)
Live Web
Evented Web
![Page 32: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/32.jpg)
Live Web
Evented Web Events
![Page 33: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/33.jpg)
Event Handlers
![Page 34: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/34.jpg)
Event Handlers
CallbacksHandlers(Hooks)
![Page 35: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/35.jpg)
Event Handlers
CallbacksHandlers(Hooks)
WebHooks:HTTP Callbacks
![Page 36: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/36.jpg)
Analogy!
WebHooks Evented Web
![Page 37: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/37.jpg)
Analogy!
WebHooks Evented Web
AJAX Web 2.0
![Page 38: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/38.jpg)
Analogy!
WebHooks Evented Web
AJAX Web 2.0
Mechanism Big Picture
![Page 39: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/39.jpg)
Powerful glue code
![Page 40: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/40.jpg)
Demo + Code
![Page 41: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/41.jpg)
Web plugins
![Page 42: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/42.jpg)
Twilio WebHooks
![Page 43: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/43.jpg)
![Page 44: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/44.jpg)
![Page 45: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/45.jpg)
Smaller pieces loosely joined
![Page 46: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/46.jpg)
Program
STDIN STDOUT
STDERR
Program
![Page 47: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/47.jpg)
cat
xargs
wc
mailecho
grep
wget
![Page 48: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/48.jpg)
cat
xargs
wc
mailecho
grep
wget
![Page 49: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/49.jpg)
grepcat
xargs
wc
mailecho
wget
![Page 50: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/50.jpg)
mailgrepcat
xargs
wc
echowget
![Page 51: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/51.jpg)
![Page 52: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/52.jpg)
![Page 53: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/53.jpg)
![Page 54: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/54.jpg)
![Page 55: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/55.jpg)
![Page 56: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/56.jpg)
Revolution of workflow
![Page 57: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/57.jpg)
![Page 58: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/58.jpg)
![Page 59: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/59.jpg)
![Page 60: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/60.jpg)
![Page 61: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/61.jpg)
![Page 62: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/62.jpg)
![Page 63: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/63.jpg)
Web of Things
“API for everything...
![Page 64: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/64.jpg)
Web of Things
“API for everything......with events!”
![Page 65: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/65.jpg)
Home Automation
![Page 66: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/66.jpg)
Home Automation
![Page 67: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/67.jpg)
Life Automation
![Page 68: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/68.jpg)
Life Automation
![Page 69: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/69.jpg)
![Page 70: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/70.jpg)
The Evented Web
![Page 71: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/71.jpg)
The Evented Web Vision
• Powerful glue code
• Web plugins
• Smaller pieces loosely joined
• Revolution of workflow
![Page 72: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/72.jpg)
Live Web
Evented Web
![Page 73: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/73.jpg)
Action Items!
![Page 74: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/74.jpg)
Action Items!• Standardization
![Page 75: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/75.jpg)
Action Items!• Standardization
• PubSubHubbub
![Page 76: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/76.jpg)
Action Items!• Standardization
• PubSubHubbub• HTTP Futures
![Page 77: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/77.jpg)
Action Items!• Standardization
• PubSubHubbub• HTTP Futures
• Infrastructure
![Page 78: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/78.jpg)
Action Items!• Standardization
• PubSubHubbub• HTTP Futures
• Infrastructure• Handler Scripting
![Page 79: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/79.jpg)
Action Items!• Standardization
• PubSubHubbub• HTTP Futures
• Infrastructure• Handler Scripting• Tools
![Page 80: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/80.jpg)
Action Items!• Standardization
• PubSubHubbub• HTTP Futures
• Infrastructure• Handler Scripting• Tools
• Adoption + Awareness
![Page 81: Building an Event-driven Web @ Impact](https://reader031.fdocuments.us/reader031/viewer/2022013114/55582272d8b42a5e468b506a/html5/thumbnails/81.jpg)
Thanks!
Jeff Lindsay@progrium
Evented Web Summit