netapp michael galpin

98
Networked Applications An Emerging Pattern in RIA Development

Upload: rajivmordani

Post on 07-May-2015

1.204 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Netapp Michael Galpin

Networked ApplicationsAn Emerging Pattern in RIA Development

Page 2: Netapp Michael Galpin

Who am I?

Michael Galpin

http://fupeg.blogspot.com

eBay -- Application Architecture

Writer -- developerWorks, TSS, JDJ

Page 3: Netapp Michael Galpin

Traditional Web Applications

Page 4: Netapp Michael Galpin

Traditional Web Applications

Browser

Page 5: Netapp Michael Galpin

Traditional Web Applications

Browser

Request

Page 6: Netapp Michael Galpin

Traditional Web Applications

BrowserServer

Request

Page 7: Netapp Michael Galpin

Traditional Web Applications

BrowserServer

HTML

Request

Page 8: Netapp Michael Galpin

Traditional Web Applications

BrowserServer

HTML

Request

Page 9: Netapp Michael Galpin

Networked Applications

Page 10: Netapp Michael Galpin

Networked Applications

Browser

Page 11: Netapp Michael Galpin

Networked Applications

Browser

Request

Page 12: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

Page 13: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Page 14: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Page 15: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Page 16: Netapp Michael Galpin

Networked Applications

Browser

Request Web Server

App

Request

Page 17: Netapp Michael Galpin

Networked Applications

Browser App Server

Request Web Server

App

Request

Data

Page 18: Netapp Michael Galpin

Why?

Page 19: Netapp Michael Galpin

Architecture

Page 20: Netapp Michael Galpin

Architectureclient server

pres app1998

“Hello World”

Page 21: Netapp Michael Galpin

Architectureclient server

pres app1998

client serverpres app

2003

“Hello World”

Ajax

Page 22: Netapp Michael Galpin

Architectureclient server

pres app1998

client serverpres app

2003

client serverpres app

2008?

“Hello World”

Ajax

RIA

Page 23: Netapp Michael Galpin

Performance(seriously)

Page 24: Netapp Michael Galpin
Page 25: Netapp Michael Galpin
Page 26: Netapp Michael Galpin

$$$$$$$$$$$$$$

Page 27: Netapp Michael Galpin

$$$$$$$$$$$$$$

Less (Server)ProcessingLess ServersMore Money

Page 28: Netapp Michael Galpin

$$$$$$$$$$$$$$

Less (Server)ProcessingLess ServersMore Money

More (Client) ProcessingMore Cores

Free! (Thanks Users)

Page 29: Netapp Michael Galpin

$$$$$$$$$$$$$$

Less (Server)ProcessingLess ServersMore Money

More (Client) ProcessingMore Cores

Free! (Thanks Users)

Less Bandwidth More Money

Page 30: Netapp Michael Galpin

Mobility

Page 31: Netapp Michael Galpin

Mobility

a.com

a.app

Page 32: Netapp Michael Galpin

Mobility

a.com

a.app

b.com

a.app

Page 33: Netapp Michael Galpin

Mobility

a.com

a.app

b.com

a.app

facebook.com

a.app

Page 34: Netapp Michael Galpin

Mobility

a.com

a.app

b.com

a.app

facebook.com

a.app

a.air

a.app

Page 35: Netapp Michael Galpin

But What About Ajax?

Page 36: Netapp Michael Galpin

Ajax?

Page 37: Netapp Michael Galpin

Ajax?

Browser

Page 38: Netapp Michael Galpin

Ajax?

Browser

Request

Page 39: Netapp Michael Galpin

Ajax?

Browser App Server

Request

Page 40: Netapp Michael Galpin

Ajax?

Browser App Server

Request

Page 41: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

Page 42: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

Page 43: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

Page 44: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

???

Page 45: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

HTML?

Page 46: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

Data?

Page 47: Netapp Michael Galpin

Ajax?

Browser App Server

Request

HTML+JS

XHR

Data?

Page 48: Netapp Michael Galpin

How?

Page 49: Netapp Michael Galpin

JS Widget Kits

Page 50: Netapp Michael Galpin

JS Widget Kits

Page 51: Netapp Michael Galpin

JS Widget Kits

Page 52: Netapp Michael Galpin

Good

Page 53: Netapp Michael Galpin

Good

Functional Programming!

Page 54: Netapp Michael Galpin

Good

Functional Programming!

Frameworks!

Page 55: Netapp Michael Galpin

Good

Functional Programming!

Frameworks!

Choices!

Page 56: Netapp Michael Galpin

Bad

Page 57: Netapp Michael Galpin

Bad

Browsers

Page 58: Netapp Michael Galpin

Bad

Browsers

DOM APIs

Page 59: Netapp Michael Galpin

Bad

Browsers

DOM APIs

Mix-n-Match?

Page 60: Netapp Michael Galpin

Ugly

Page 61: Netapp Michael Galpin

Ugly

JavaScript is Sloooooow

Page 62: Netapp Michael Galpin

Ugly

JavaScript is Sloooooow

Cross Domains

Page 63: Netapp Michael Galpin

Ugly

JavaScript is Sloooooow

Ref Count

Cross Domains

Page 64: Netapp Michael Galpin

Google Web Toolkit

Page 65: Netapp Michael Galpin

Google Web Toolkit

Page 66: Netapp Michael Galpin

Google Web Toolkit

Page 67: Netapp Michael Galpin

Good

Page 68: Netapp Michael Galpin

GoodOOP

Page 69: Netapp Michael Galpin

GoodOOP

Static Typing

Page 70: Netapp Michael Galpin

GoodOOP

Killer JavaScriptStatic Typing

Page 71: Netapp Michael Galpin

GoodOOP

Killer JavaScriptStatic Typing

TOOLS

Page 72: Netapp Michael Galpin

Bad

Page 73: Netapp Michael Galpin

BadOOP

Page 74: Netapp Michael Galpin

BadOOP

Static Typing

Page 75: Netapp Michael Galpin

BadOOP

Killer JavaScript

Static Typing

Page 76: Netapp Michael Galpin

JavaScript

Page 77: Netapp Michael Galpin

Flex

Page 78: Netapp Michael Galpin

Good

Page 79: Netapp Michael Galpin

Good

MXML

Page 80: Netapp Michael Galpin

Good

ActionScript

MXML

Page 81: Netapp Michael Galpin

Good

ActionScript

MXML

Flash Player

Page 82: Netapp Michael Galpin

Good

ActionScript

MXML

Flash Player

Tools

Page 83: Netapp Michael Galpin

More Good

Page 84: Netapp Michael Galpin

More Good

Browser Independence

Page 85: Netapp Michael Galpin

More Good

Browser Independence

Evolves

Page 86: Netapp Michael Galpin

More Good

Browser Independence

Evolves

Handsome

Page 87: Netapp Michael Galpin

More Good

Browser Independence

Evolves

Handsome

Plays Well With Others

Page 88: Netapp Michael Galpin

Even More Good

Page 89: Netapp Michael Galpin

Even More Good

Speed

Page 90: Netapp Michael Galpin

Even More Good

Speed

Mark-Sweep

Page 91: Netapp Michael Galpin

Even More Good

Speed

Mark-Sweep

crossdomain.xml

Page 92: Netapp Michael Galpin

Not Good

Page 93: Netapp Michael Galpin

Not Good$$$

Page 94: Netapp Michael Galpin

Not Good$$$

Developers, Developers, Developers

Page 95: Netapp Michael Galpin

Not Good

500 KB

$$$

Developers, Developers, Developers

Page 96: Netapp Michael Galpin

But What About...

Page 97: Netapp Michael Galpin

But What About...

Page 98: Netapp Michael Galpin

But What About...