Architecting RIAs  With the Adobe Flash Platform … and what about JavaFX? Mark Nankman
Contents RIA Adobe Flex Adobe AIR Adobe LifeCycle Bonus material: Adobe Flex compared to JavaFX
RIA Rich Internet Application "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." Forrester:
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
Server-side MVC Architecture Server Client http://osteele.com/archives/2004/08/web-mvc Model View Controller Model View Controller
RIA MVC Architecture Server Client http://osteele.com/archives/2004/08/web-mvc Model Model View Controller
RIA Architecture blueprint: MVCS Views Services Models populates references notifies communicates interacts http://joeberkovitz.com/blog/reviewtube/ Media Service Comment Service Video Player Controller interface interface Video Browser Login, Search… Collection VideoInfo Comment Comment Session interface
MVCS In Summary Model :  semantic data  only View :  interaction and presentation  only Controller :  actions ,  mediation ,  cross-cutting concerns Services :  communication  only
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
The Flash Platform
The Flash Platform (2)
The Flash Player Flash VM Actionscript VM Tamarin Flash Player 10    ARM Processors
Flex Platform Framework Example applications http://www.volkswagen.co.uk/used/search http://www.miele.nl
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
Flex Architecture sketch
AIR Desktop applications Reuse your Flex skills Reuse your Ajax skills Example applications: Balsamiq Mockups Google Analytics
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
BlazeDS Open Source “ undressed” version of LCDS http://www.adobe.com/devnet/livecycle/articles/blazeds_gettingstarted.html
Flex Micro architecture: Cairngorm
Flash vs. JavaFX Vs.
JavaFX
JavaFX Platform
What is JavaFX? A programming language A UI framework A platform
Hello Flex
Hello JavaFX
JavaFX-Flex comparison Cross platform Well suited for mobile Infantile, but mature foundation Clean code Robust Fast, well okay not really yet Extremely cool Cross platform To heavy for mobile Mature Robust Messy (XML + code) Fast Enterprise  (   boring?)
Questions

Architecting RIAs

  • 1.
    Architecting RIAs With the Adobe Flash Platform … and what about JavaFX? Mark Nankman
  • 2.
    Contents RIA AdobeFlex Adobe AIR Adobe LifeCycle Bonus material: Adobe Flex compared to JavaFX
  • 3.
    RIA Rich InternetApplication "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." Forrester:
  • 4.
    TIA versus RIABackoffice 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.
    Server-side MVC ArchitectureServer Client http://osteele.com/archives/2004/08/web-mvc Model View Controller Model View Controller
  • 6.
    RIA MVC ArchitectureServer Client http://osteele.com/archives/2004/08/web-mvc Model Model View Controller
  • 7.
    RIA Architecture blueprint:MVCS Views Services Models populates references notifies communicates interacts http://joeberkovitz.com/blog/reviewtube/ Media Service Comment Service Video Player Controller interface interface Video Browser Login, Search… Collection VideoInfo Comment Comment Session interface
  • 8.
    MVCS In SummaryModel : semantic data only View : interaction and presentation only Controller : actions , mediation , cross-cutting concerns Services : communication only
  • 9.
    Prototype Take intoproduction 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.
  • 11.
  • 12.
    The Flash PlayerFlash VM Actionscript VM Tamarin Flash Player 10  ARM Processors
  • 13.
    Flex Platform FrameworkExample applications http://www.volkswagen.co.uk/used/search http://www.miele.nl
  • 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.
  • 16.
    AIR Desktop applicationsReuse your Flex skills Reuse your Ajax skills Example applications: Balsamiq Mockups Google Analytics
  • 17.
    LiveCycle Enterprise SuiteCross-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.
    BlazeDS Open Source“ undressed” version of LCDS http://www.adobe.com/devnet/livecycle/articles/blazeds_gettingstarted.html
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
    What is JavaFX?A programming language A UI framework A platform
  • 24.
  • 25.
  • 26.
    JavaFX-Flex comparison Crossplatform Well suited for mobile Infantile, but mature foundation Clean code Robust Fast, well okay not really yet Extremely cool Cross platform To heavy for mobile Mature Robust Messy (XML + code) Fast Enterprise (  boring?)
  • 27.