65
Architecting RIA

Architecture of RIA from JAOO

Embed Size (px)

DESCRIPTION

Josh Holmes and James Ward did a joint Architecture of RIA session at JAOO in Denmark. It was a ton of fun.

Citation preview

Page 1: Architecture of RIA from JAOO

Architecting

RIA

Page 2: Architecture of RIA from JAOO

Contact

Josh HolmesMicrosoft [email protected]

James WardAdobe [email protected] jamesward.com

Page 3: Architecture of RIA from JAOO

What is

by Kushal Das

Page 4: Architecture of RIA from JAOO

Is it…Rural Inoculation Association?Rare Isotope Accelerator?Royal Institute of ActingRampantly Inept Alien?Royally Idiotic Annoyance?Really Inane Acronym?Rich Internet Application?

Page 5: Architecture of RIA from JAOO

Ubiquity Richness Next Generation

Page 6: Architecture of RIA from JAOO

Back Button and Refresh Visual VocabularyState management

Browser Sandbox Business Logic in UI

Component Level Logic

Animation

new for Desktop Developers

new for Web Developer

What’s different with RIA?

Limited Runtime

Service Orientation

Non-text based layoutHype

Page 7: Architecture of RIA from JAOO
Page 8: Architecture of RIA from JAOO
Page 9: Architecture of RIA from JAOO
Page 10: Architecture of RIA from JAOO
Page 11: Architecture of RIA from JAOO

Taliesin West: Drafting Studio

Page 12: Architecture of RIA from JAOO
Page 13: Architecture of RIA from JAOO
Page 14: Architecture of RIA from JAOO

MVP Pattern View is more loosely

coupled to the model Easier to unit test Usually view to

presenter map one to one

Complex views may have multi presenters 

MVC Pattern Controller are

based on behaviors and can be shared across views

Can be responsible for determining which view to display (Front Controller Pattern)

Page 15: Architecture of RIA from JAOO
Page 16: Architecture of RIA from JAOO
Page 17: Architecture of RIA from JAOO
Page 18: Architecture of RIA from JAOO
Page 19: Architecture of RIA from JAOO
Page 20: Architecture of RIA from JAOO
Page 21: Architecture of RIA from JAOO
Page 22: Architecture of RIA from JAOO
Page 23: Architecture of RIA from JAOO
Page 24: Architecture of RIA from JAOO

..but don’t forget the power users

70 20 10

Page 25: Architecture of RIA from JAOO
Page 26: Architecture of RIA from JAOO
Page 27: Architecture of RIA from JAOO
Page 28: Architecture of RIA from JAOO
Page 29: Architecture of RIA from JAOO
Page 30: Architecture of RIA from JAOO
Page 31: Architecture of RIA from JAOO

with usability

Page 32: Architecture of RIA from JAOO

• Cookies are on a domain level• bar.com cannot access foo.com cookies…• Same domain - http://foo.com  is different

than http://bar.foo.com or http://www.foo.com • Same protocol - http://foo.com is different

than https://foo.com • Same port - http://foo.com is

different than http://foo.com:8080

• foo.com should feel securestoring user data in cookies

• Prevent cross-site forgery• Exploits a sites trust for a user

Page 33: Architecture of RIA from JAOO

• “Private” services (for your own app)• DO use browser-based authentication • Cookies, HTTP Auth, etc. • DO NOT enable public access via cross-domain policy file

• “Public” services (for 3rd-party apps)• DO NOT use browser-based authentication • DO publish cross-domain policy files • DO use “cross-domain-safe” authentication • E.g. URL signatures

• DO separate public services in their own domain• E.g. api.flickr.com vs. www.flickr.com

Page 34: Architecture of RIA from JAOO
Page 35: Architecture of RIA from JAOO
Page 36: Architecture of RIA from JAOO
Page 37: Architecture of RIA from JAOO
Page 38: Architecture of RIA from JAOO
Page 39: Architecture of RIA from JAOO
Page 40: Architecture of RIA from JAOO
Page 41: Architecture of RIA from JAOO

by Caution Mike

Page 42: Architecture of RIA from JAOO
Page 43: Architecture of RIA from JAOO
Page 44: Architecture of RIA from JAOO
Page 45: Architecture of RIA from JAOO
Page 46: Architecture of RIA from JAOO
Page 47: Architecture of RIA from JAOO

by billaday

Page 48: Architecture of RIA from JAOO
Page 49: Architecture of RIA from JAOO
Page 50: Architecture of RIA from JAOO
Page 51: Architecture of RIA from JAOO
Page 52: Architecture of RIA from JAOO
Page 53: Architecture of RIA from JAOO

by joeltelling

Page 54: Architecture of RIA from JAOO
Page 55: Architecture of RIA from JAOO
Page 56: Architecture of RIA from JAOO
Page 57: Architecture of RIA from JAOO

by mikeyexists

Page 58: Architecture of RIA from JAOO
Page 59: Architecture of RIA from JAOO
Page 60: Architecture of RIA from JAOO
Page 61: Architecture of RIA from JAOO
Page 62: Architecture of RIA from JAOO

Rich Internet Applications are meant to enhance user experience

Architecture of the client matters Use good development practices Leverage the framework Build for the user Don’t get religious

Take-aways

Page 63: Architecture of RIA from JAOO

http://www.joshholmes.com http://www.jamesward.com

Take the Next Step

Page 64: Architecture of RIA from JAOO

Architecting

RIA

Page 65: Architecture of RIA from JAOO

Contact

Josh HolmesMicrosoft [email protected]

James WardAdobe [email protected] jamesward.com