Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Architecture of RIA from JAOO

13,270 views

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
  • Be the first to comment

Architecture of RIA from JAOO

  1. Architecting R IA
  2. Contact Josh Holmes Microsoft Evangelist [email_address] joshholmes.com James Ward Adobe Evangelist jaward@adobe.com jamesward.com
  3. What is by Kushal Das
  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. Ubiquity Richness Next Generation
  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.  
  8.  
  9.  
  10.  
  11. Taliesin West: Drafting Studio
  12.  
  13.  
  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>
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24. ..but don’t forget the power users 70 20 10
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31. with usability
  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>
  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>
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. by Caution Mike
  42.  
  43.  
  44.  
  45.  
  46.  
  47. by billaday
  48.  
  49.  
  50.  
  51.  
  52.  
  53. by joeltelling
  54.  
  55.  
  56.  
  57. by mikeyexists
  58.  
  59.  
  60.  
  61.  
  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
  63. <ul><li>http://www.joshholmes.com </li></ul><ul><li>http://www.jamesward.com </li></ul>Take the Next Step
  64. Architecting R IA
  65. Contact Josh Holmes Microsoft Evangelist [email_address] joshholmes.com James Ward Adobe Evangelist jaward@adobe.com jamesward.com

×