Architecting R IA
Contact Josh Holmes Microsoft Evangelist [email_address] joshholmes.com James Ward Adobe Evangelist jaward@adobe.com  jame...
What is  by  Kushal Das
Is it… R ural  I noculation  A ssociation? R are  I sotope  A ccelerator? R oyal  I nstitute of  A cting R ampantly  I nep...
Ubiquity Richness Next Generation
Back Button and Refresh Visual Vocabulary State management Browser Sandbox Business Logic in UI Component Level Logic Anim...
 
 
 
 
Taliesin West: Drafting Studio
 
 
<ul><li>MVP Pattern </li></ul><ul><ul><li>View is more loosely coupled to the model </li></ul></ul><ul><ul><li>Easier to u...
 
 
 
 
 
 
 
 
 
..but don’t forget the  power users 70 20 10
 
 
 
 
 
 
with usability
<ul><li>Cookies are on a domain level </li></ul><ul><ul><li>bar.com cannot access foo.com cookies… </li></ul></ul><ul><ul>...
<ul><li>“ Private” services (for your own app) </li></ul><ul><ul><li>DO use browser-based authentication  </li></ul></ul><...
 
 
 
 
 
 
 
by  Caution Mike
 
 
 
 
 
by  billaday
 
 
 
 
 
by  joeltelling
 
 
 
by  mikeyexists
 
 
 
 
<ul><li>Rich Internet Applications are meant to enhance user experience </li></ul><ul><li>Architecture of the client matte...
<ul><li>http://www.joshholmes.com   </li></ul><ul><li>http://www.jamesward.com   </li></ul>Take the Next Step
Architecting R IA
Contact Josh Holmes Microsoft Evangelist [email_address] joshholmes.com James Ward Adobe Evangelist jaward@adobe.com  jame...
Upcoming SlideShare
Loading in...5
×

Architecture of RIA from JAOO

9,920

Published on

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

Published in: Technology, Design
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,920
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
175
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide
  • Title Slide
  • Architecture of RIA from JAOO

    1. 1. Architecting R IA
    2. 2. Contact Josh Holmes Microsoft Evangelist [email_address] joshholmes.com James Ward Adobe Evangelist jaward@adobe.com jamesward.com
    3. 3. What is by Kushal Das
    4. 4. Is it… R ural I noculation A ssociation? R are I sotope A ccelerator? R oyal I nstitute of A cting R ampantly I nept A lien? R oyally I diotic A nnoyance? R eally I nane A cronym? R ich I nternet A pplication?
    5. 5. Ubiquity Richness Next Generation
    6. 6. Back Button and Refresh Visual Vocabulary State 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 layout Hype
    7. 11. Taliesin West: Drafting Studio
    8. 14. <ul><li>MVP Pattern </li></ul><ul><ul><li>View is more loosely coupled to the model </li></ul></ul><ul><ul><li>Easier to unit test </li></ul></ul><ul><ul><li>Usually view to presenter map one to one </li></ul></ul><ul><ul><li>Complex views may have multi presenters  </li></ul></ul><ul><li>MVC Pattern </li></ul><ul><ul><li>Controller are based on behaviors and can be shared across views </li></ul></ul><ul><ul><li>Can be responsible for determining which view to display (Front Controller Pattern) </li></ul></ul>
    9. 24. ..but don’t forget the power users 70 20 10
    10. 31. with usability
    11. 32. <ul><li>Cookies are on a domain level </li></ul><ul><ul><li>bar.com cannot access foo.com cookies… </li></ul></ul><ul><ul><li>Same domain - http://foo.com  is different than http://bar.foo.com or http://www.foo.com </li></ul></ul><ul><ul><li>Same protocol - http://foo.com is different than https://foo.com </li></ul></ul><ul><ul><li>Same port - http://foo.com is different than http://foo.com:8080 </li></ul></ul><ul><li>foo.com should feel secure storing user data in cookies </li></ul><ul><li>Prevent cross-site forgery </li></ul><ul><ul><li>Exploits a sites trust for a user </li></ul></ul>
    12. 33. <ul><li>“ Private” services (for your own app) </li></ul><ul><ul><li>DO use browser-based authentication </li></ul></ul><ul><ul><li>Cookies, HTTP Auth, etc. </li></ul></ul><ul><ul><li>DO NOT enable public access via cross-domain policy file </li></ul></ul><ul><li>“ Public” services (for 3rd-party apps) </li></ul><ul><ul><li>DO NOT use browser-based authentication </li></ul></ul><ul><ul><li>DO publish cross-domain policy files </li></ul></ul><ul><ul><li>DO use “cross-domain-safe” authentication </li></ul></ul><ul><ul><li>E.g. URL signatures </li></ul></ul><ul><li>DO separate public services in their own domain </li></ul><ul><ul><li>E.g. api.flickr.com vs. www.flickr.com </li></ul></ul>
    13. 41. by Caution Mike
    14. 47. by billaday
    15. 53. by joeltelling
    16. 57. by mikeyexists
    17. 62. <ul><li>Rich Internet Applications are meant to enhance user experience </li></ul><ul><li>Architecture of the client matters </li></ul><ul><li>Use good development practices </li></ul><ul><li>Leverage the framework </li></ul><ul><li>Build for the user </li></ul><ul><li>Don’t get religious </li></ul>Take-aways
    18. 63. <ul><li>http://www.joshholmes.com </li></ul><ul><li>http://www.jamesward.com </li></ul>Take the Next Step
    19. 64. Architecting R IA
    20. 65. Contact Josh Holmes Microsoft Evangelist [email_address] joshholmes.com James Ward Adobe Evangelist jaward@adobe.com jamesward.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×