building an event-driven web @ impact

81
Building an Event-driven Web Jeff Lindsay @progrium

Upload: jeff-lindsay

Post on 17-May-2015

1.929 views

Category:

Technology


2 download

DESCRIPTION

This is a revised talk on the Evented Web given at Impact 2011 in Utah.

TRANSCRIPT

Page 1: Building an Event-driven Web @ Impact

Building an Event-driven Web

Jeff Lindsay@progrium

Page 2: Building an Event-driven Web @ Impact

Event-driven Programming

Page 3: Building an Event-driven Web @ Impact

Event-driven Programming

Page 4: Building an Event-driven Web @ Impact

The Web as a Platform

Page 5: Building an Event-driven Web @ Impact

The Web as a Platform

is a

Service-oriented Platform

Page 6: Building an Event-driven Web @ Impact

The Web as a Platform

is a

Service-oriented Platform(SOA: Service Oriented Architecture)

Page 7: Building an Event-driven Web @ Impact

S3EC2

MapReduce

CloudFront

SimpleDB

FPS

Simple Email Service

SQS

EBS

SNS

Page 8: Building an Event-driven Web @ Impact
Page 9: Building an Event-driven Web @ Impact

The Mashup

Page 10: Building an Event-driven Web @ Impact

Composition vs

Integration

Page 11: Building an Event-driven Web @ Impact
Page 12: Building an Event-driven Web @ Impact

The Web API (SOA)is designed for composition,

not integration

Page 13: Building an Event-driven Web @ Impact

The Evented Web

Page 14: Building an Event-driven Web @ Impact
Page 15: Building an Event-driven Web @ Impact

Web App

API

Page 16: Building an Event-driven Web @ Impact

Web App

API Events

Page 17: Building an Event-driven Web @ Impact

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

PayPal IPN

Page 19: Building an Event-driven Web @ Impact

Twilio WebHooks

Page 20: Building an Event-driven Web @ Impact
Page 21: Building an Event-driven Web @ Impact
Page 22: Building an Event-driven Web @ Impact
Page 23: Building an Event-driven Web @ Impact

The Evented Web Vision

Page 24: Building an Event-driven Web @ Impact

The Evented Web Vision

• Powerful glue code

Page 25: Building an Event-driven Web @ Impact

The Evented Web Vision

• Powerful glue code

• Web plugins

Page 26: Building an Event-driven Web @ Impact

The Evented Web Vision

• Powerful glue code

• Web plugins

• Smaller pieces loosely joined

Page 27: Building an Event-driven Web @ Impact

The Evented Web Vision

• Powerful glue code

• Web plugins

• Smaller pieces loosely joined

• Revolution of workflow

Page 28: Building an Event-driven Web @ Impact

Live Web

Page 29: Building an Event-driven Web @ Impact

Live Web

Evented Web

Page 30: Building an Event-driven Web @ Impact

Live Web

Evented Web

UX driven

Plumbing driven

Page 31: Building an Event-driven Web @ Impact

Live Web

Evented Web

Page 32: Building an Event-driven Web @ Impact

Live Web

Evented Web Events

Page 33: Building an Event-driven Web @ Impact

Event Handlers

Page 34: Building an Event-driven Web @ Impact

Event Handlers

CallbacksHandlers(Hooks)

Page 35: Building an Event-driven Web @ Impact

Event Handlers

CallbacksHandlers(Hooks)

WebHooks:HTTP Callbacks

Page 36: Building an Event-driven Web @ Impact

Analogy!

WebHooks Evented Web

Page 37: Building an Event-driven Web @ Impact

Analogy!

WebHooks Evented Web

AJAX Web 2.0

Page 38: Building an Event-driven Web @ Impact

Analogy!

WebHooks Evented Web

AJAX Web 2.0

Mechanism Big Picture

Page 39: Building an Event-driven Web @ Impact

Powerful glue code

Page 40: Building an Event-driven Web @ Impact

Demo + Code

Page 41: Building an Event-driven Web @ Impact

Web plugins

Page 42: Building an Event-driven Web @ Impact

Twilio WebHooks

Page 43: Building an Event-driven Web @ Impact
Page 44: Building an Event-driven Web @ Impact
Page 45: Building an Event-driven Web @ Impact

Smaller pieces loosely joined

Page 46: Building an Event-driven Web @ Impact

Program

STDIN STDOUT

STDERR

Program

Page 47: Building an Event-driven Web @ Impact

cat

xargs

wc

mailecho

grep

wget

Page 48: Building an Event-driven Web @ Impact

cat

xargs

wc

mailecho

grep

wget

Page 49: Building an Event-driven Web @ Impact

grepcat

xargs

wc

mailecho

wget

Page 50: Building an Event-driven Web @ Impact

mailgrepcat

xargs

wc

echowget

Page 51: Building an Event-driven Web @ Impact
Page 52: Building an Event-driven Web @ Impact
Page 53: Building an Event-driven Web @ Impact
Page 54: Building an Event-driven Web @ Impact
Page 55: Building an Event-driven Web @ Impact
Page 56: Building an Event-driven Web @ Impact

Revolution of workflow

Page 57: Building an Event-driven Web @ Impact
Page 58: Building an Event-driven Web @ Impact
Page 59: Building an Event-driven Web @ Impact
Page 60: Building an Event-driven Web @ Impact
Page 61: Building an Event-driven Web @ Impact
Page 62: Building an Event-driven Web @ Impact
Page 63: Building an Event-driven Web @ Impact

Web of Things

“API for everything...

Page 64: Building an Event-driven Web @ Impact

Web of Things

“API for everything......with events!”

Page 65: Building an Event-driven Web @ Impact

Home Automation

Page 66: Building an Event-driven Web @ Impact

Home Automation

Page 67: Building an Event-driven Web @ Impact

Life Automation

Page 68: Building an Event-driven Web @ Impact

Life Automation

Page 69: Building an Event-driven Web @ Impact
Page 70: Building an Event-driven Web @ Impact

The Evented Web

Page 71: Building an Event-driven Web @ Impact

The Evented Web Vision

• Powerful glue code

• Web plugins

• Smaller pieces loosely joined

• Revolution of workflow

Page 72: Building an Event-driven Web @ Impact

Live Web

Evented Web

Page 73: Building an Event-driven Web @ Impact

Action Items!

Page 74: Building an Event-driven Web @ Impact

Action Items!• Standardization

Page 75: Building an Event-driven Web @ Impact

Action Items!• Standardization

• PubSubHubbub

Page 76: Building an Event-driven Web @ Impact

Action Items!• Standardization

• PubSubHubbub• HTTP Futures

Page 77: Building an Event-driven Web @ Impact

Action Items!• Standardization

• PubSubHubbub• HTTP Futures

• Infrastructure

Page 78: Building an Event-driven Web @ Impact

Action Items!• Standardization

• PubSubHubbub• HTTP Futures

• Infrastructure• Handler Scripting

Page 79: Building an Event-driven Web @ Impact

Action Items!• Standardization

• PubSubHubbub• HTTP Futures

• Infrastructure• Handler Scripting• Tools

Page 80: Building an Event-driven Web @ Impact

Action Items!• Standardization

• PubSubHubbub• HTTP Futures

• Infrastructure• Handler Scripting• Tools

• Adoption + Awareness

Page 81: Building an Event-driven Web @ Impact

Thanks!

Jeff Lindsay@progrium

Evented Web Summit