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.

O'Reilly ETech Conference: Laszlo RIA


Published on

Laszlo presentation at the 2003 O'Reilly Emerging Technologies conference.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

O'Reilly ETech Conference: Laszlo RIA

  1. 1. O’Reilly Emerging Technology Conference Oliver Steele Chief Software Architect Laszlo Systems, Inc. April 23, 2003
  2. 2. Announcement <ul><li>BOF: Are There Riches in Rich Internet Applications? </li></ul><ul><ul><li>“This BOF will provide a forum to discuss the economics of software and services focused on the user experience: how the industry obsession with servers will interact with the emerging emphasis on application front ends.” </li></ul></ul><ul><li>Winchester (this room) 6-7pm </li></ul><ul><li>Pizza </li></ul>
  3. 3. LZX Goal: RIA Development <ul><li>LZX = XML + JavaScript </li></ul><ul><ul><li>DHTML with different tags </li></ul></ul><ul><ul><li>Tags to declare views, layouts, data, animation </li></ul></ul><ul><ul><li>Leverages existing skills and capabilities </li></ul></ul><ul><ul><ul><li>Developer sees DHTML </li></ul></ul></ul><ul><ul><ul><li>Deployer sees J2EE servlet </li></ul></ul></ul><ul><ul><ul><li>Browser sees SWF file </li></ul></ul></ul><ul><ul><ul><li>User sees a RIA </li></ul></ul></ul><ul><li>HTML is designed for static page publication </li></ul><ul><ul><li>page = content + structure + format </li></ul></ul><ul><ul><li>HTML = text + markup + style </li></ul></ul><ul><li>LZX is designed for rich internet applications </li></ul><ul><ul><li>RIA = data + logic + presentation </li></ul></ul><ul><ul><li>LZX = XML + JavaScript + components </li></ul></ul>
  4. 4. Thin Internet Application
  5. 5. Dynamic Internet Application
  6. 6. Rich Internet Application
  7. 7. Ingredients of a RIA
  8. 8. Ingredients of a RIA Platform
  9. 9. Features <ul><li>Model </li></ul><ul><ul><li>Data (XML) </li></ul></ul><ul><ul><li>Data Requests (HTTP) </li></ul></ul><ul><ul><li>Data Binding (XPath; DOM) </li></ul></ul><ul><li>View </li></ul><ul><ul><li>View Components (XML tags) </li></ul></ul><ul><ul><li>View Hierarchies (XML structure) </li></ul></ul><ul><ul><li>Animation (SMIL-like) </li></ul></ul><ul><ul><li>Constraints (JavaScript expressions) </li></ul></ul><ul><li>Control </li></ul><ul><ul><li>Scripting (JavaScript) </li></ul></ul><ul><ul><li>Events (CSS Event names) </li></ul></ul><ul><li>Modularity and Extensibility </li></ul><ul><ul><li>Classes (XML tags) </li></ul></ul><ul><ul><li>Includes (XInclude) </li></ul></ul><ul><ul><li>Component Libraries (tags + includes) </li></ul></ul>
  10. 10. Pizza
  11. 11. LZX Feature Walkthrough
  12. 12. Desktop Application Model (MVC)
  13. 13. Supporting RIA Development <ul><li>Best Development Practices </li></ul><ul><ul><li>Modularity </li></ul></ul><ul><ul><li>Extensibility </li></ul></ul><ul><ul><li>Separation of concerns (MVC) </li></ul></ul><ul><li>Team Development Practices </li></ul><ul><ul><li>Text-based </li></ul></ul><ul><ul><li>Collaboration </li></ul></ul><ul><ul><li>Media import </li></ul></ul><ul><li>Productivity </li></ul><ul><ul><li>Declarative </li></ul></ul><ul><ul><li>Standards-based </li></ul></ul><ul><ul><li>Low boilerplate </li></ul></ul>
  14. 14. Architecture of a RIA <ul><li>Model </li></ul><ul><ul><li>Data </li></ul></ul><ul><li>View </li></ul><ul><ul><li>Media </li></ul></ul><ul><ul><li>Animation </li></ul></ul><ul><ul><li>Components </li></ul></ul><ul><li>Control </li></ul><ul><ul><li>User interaction </li></ul></ul><ul><ul><li>Business logic </li></ul></ul><ul><ul><li>Server transactions </li></ul></ul>
  15. 15. LZX Ingredients <ul><li>XML </li></ul><ul><ul><li>View hierarchy </li></ul></ul><ul><ul><li>Data </li></ul></ul><ul><li>JavaScript </li></ul><ul><ul><li>Program logic and behavior </li></ul></ul><ul><ul><li>“ Back door” </li></ul></ul><ul><li>Other Technologies </li></ul><ul><ul><li>XPath for binding views to data </li></ul></ul><ul><ul><li>HTTP for data and media queries </li></ul></ul>
  16. 16. Looking Back: HTML <ul><li>Simple applications are simple </li></ul><ul><li>Complex applications are feasible </li></ul><ul><li>Supports collaboration between developers and designers </li></ul><ul><li>The domain is the </li></ul><ul><li>Presentation of static documents. </li></ul>
  17. 17. Looking Forward: RIA Development <ul><li>Simple applications should be simple </li></ul><ul><li>Complex applications should be feasible </li></ul><ul><li>Support collaboration between developers and designers </li></ul><ul><li>The domain is the presentation of rich interactive transactional web-deployed applications. </li></ul>