Architecture of RIA from JAOO

12,701 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
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
12,701
On SlideShare
0
From Embeds
0
Number of Embeds
3,196
Actions
Shares
0
Downloads
177
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide
  • Title Slide
  • 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

    ×