Architecting RIAs


Published on

A deck of slides I used for a presentation about Architecting RIAs on the Adobe Flash Platform and whether the practices applied could be used with JavaFX. I concluded the presentation with a small comparison between Flex/AIR and JavaFX.

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Architecting RIAs

  1. 1. Architecting RIAs With the Adobe Flash Platform … and what about JavaFX? Mark Nankman
  2. 2. Contents <ul><li>RIA </li></ul><ul><li>Adobe Flex </li></ul><ul><li>Adobe AIR </li></ul><ul><li>Adobe LifeCycle </li></ul><ul><li>Bonus material: Adobe Flex compared to JavaFX </li></ul>
  3. 3. RIA <ul><li>Rich </li></ul><ul><li>Internet </li></ul><ul><li>Application </li></ul>&quot;Rich Internet applications (RIAs) are emerging as vehicles to enable the next generation of Information Workplaces that are best suited for decision-makers and task-oriented workers who engage in complex, multistep processes — people who need seamless, individualized, and highly visual user experiences.&quot; Forrester:
  4. 4. TIA versus RIA Backoffice systems database Business logic Application server Web server Web browser HTTP GET/POST HTML Backoffice systems database Business logic Application server Presentation server Web server Web browser HTTP GET/POST XML or compressed binary data RIA Engine Application GUI Rendering Remoting Data Manager TIA RIA
  5. 5. Server-side MVC Architecture Server Client Model View Controller Model View Controller
  6. 6. RIA MVC Architecture Server Client Model Model View Controller
  7. 7. RIA Architecture blueprint: MVCS Views Services Models populates references notifies communicates interacts Media Service Comment Service Video Player Controller interface interface Video Browser Login, Search… Collection VideoInfo Comment Comment Session interface
  8. 8. MVCS In Summary <ul><li>Model : semantic data only </li></ul><ul><li>View : interaction and presentation only </li></ul><ul><li>Controller : actions , mediation , cross-cutting concerns </li></ul><ul><li>Services : communication only </li></ul>
  9. 9. Prototype Take into production U S E R E X P E R I E N C E a n d T E C H N O L O G Y Project initiation Project acceptance Produce graphic design Accessability training Platform installation Technical design Usability test Usability tests RIA Competence Center, a RIA specific project methodology Definition Launch Construction Design Graphical design Style guide Terminology, Methodology: Deliver, Test plan: functional testing & stress testing Quality User manual, Administration manual, Technical documentation Documentation User training, Administrator training, Developer training Training Meetings, Procedures: Delivery management, Incidence Management & Change Management Project Management RIA Architecture Backoffice Architecture Database schemas Visual Concept Usability requirements Accessability reqs. content tree Content architecture content templates Specifications Use cases Datamodel Programming RIA Components Backoffice components Database Scenarios Persona design usage scenarios Objectives Taskdefinitions
  10. 10. The Flash Platform
  11. 11. The Flash Platform (2)
  12. 12. The Flash Player <ul><li>Flash VM </li></ul><ul><li>Actionscript VM </li></ul><ul><li>Tamarin </li></ul><ul><li>Flash Player 10  ARM Processors </li></ul>
  13. 13. Flex <ul><li>Platform </li></ul><ul><li>Framework </li></ul><ul><li>Example applications </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul>
  14. 14. How Flex Works ... 9 MXML and ActionScript Compile XML/HTTP REST SOAP Web Services JEE Application Server LC Data Services Web Server Existing Applications and Infrastructure Flex Builder 3 IDE Flex SDK 3 MXML ActionScript Flex Class Library .swf .swf HTTP/S AMF/S RTMP/S SOAP RIA Clients Flash Player Adobe AIR
  15. 15. Flex Architecture sketch
  16. 16. AIR <ul><li>Desktop applications </li></ul><ul><li>Reuse your Flex skills </li></ul><ul><li>Reuse your Ajax skills </li></ul><ul><li>Example applications: </li></ul><ul><ul><li>Balsamiq Mockups </li></ul></ul><ul><ul><li>Google Analytics </li></ul></ul>
  17. 17. LiveCycle Enterprise Suite Cross-Platform Clients User Interface Technologies Tooling Solution Components Foundation LIVECYCLE ES ENTERPRISE SUITE Designer Workbench Flex Builder Common Administration, Invocation, Orchestration, Security Existing Customer Infrastructure PDF Flex ECM CRM/SFA ERP LDAP ... Reader Flash Browser AIR Forms ES Reader Extensions ES Barcoded Forms ES Data Services ES PDF Generator ES Rights Management ES Digital Signatures ES PDF Generator 3D ES Data Capture Information Assurance Document Output Output ES Production Print ES Process Management Process Management ES Business Activity Monitoring ES Content Services ES ES Connectors for ECM Content Services
  18. 18. BlazeDS <ul><li>Open Source </li></ul><ul><li>“ undressed” version of LCDS </li></ul><ul><li> </li></ul>
  19. 19. Flex Micro architecture: Cairngorm
  20. 20. Flash vs. JavaFX Vs.
  21. 21. JavaFX
  22. 22. JavaFX Platform
  23. 23. What is JavaFX? <ul><li>A programming language </li></ul><ul><li>A UI framework </li></ul><ul><li>A platform </li></ul>
  24. 24. Hello Flex
  25. 25. Hello JavaFX
  26. 26. JavaFX-Flex comparison <ul><li>Cross platform </li></ul><ul><li>Well suited for mobile </li></ul><ul><li>Infantile, but mature foundation </li></ul><ul><li>Clean code </li></ul><ul><li>Robust </li></ul><ul><li>Fast, well okay not really yet </li></ul><ul><li>Extremely cool </li></ul><ul><li>Cross platform </li></ul><ul><li>To heavy for mobile </li></ul><ul><li>Mature </li></ul><ul><li>Robust </li></ul><ul><li>Messy (XML + code) </li></ul><ul><li>Fast </li></ul><ul><li>Enterprise (  boring?) </li></ul>
  27. 27. Questions