Michael Adobe Flex Java 1 London
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,686
On Slideshare
2,618
From Embeds
68
Number of Embeds
4

Actions

Shares
Downloads
55
Comments
0
Likes
0

Embeds 68

http://skillsmatter.com 65
http://www.slideshare.net 1
http://192.168.56.101 1
http://smash 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Advanced mechanisms between JAVA and FLEX LONDON - 16th of June © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 2. Feel free to contact me Michaël Chaize Flash Platform Evangelist My blog: www.RIAgora.com @mchaize ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 2
  • 3. Applications & User Interfaces in the Enterprise world Global 2004 RICH INTERNET WEB APPLICATIONS APPLICATIONS 1998 REACH 1992 Local MAINFRAME CLIENT/SERVER Text UI RICH Integrated Rich GUI ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 4
  • 4. Why Do Intuitive User Experiences Ma er? Forrester August 7, 2009 e State Of Enterprise IT Budgets: 2009 by Heidi Lo and Andrew Bartels ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 4
  • 5. Rich User Experiences: Opportunities for internal users ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 5
  • 6. Rich User Experiences: Opportunities for internal users 5 mins 20 secs Increase productivity & improve decision making ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 6
  • 7. NATO ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 7
  • 8. NATO ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 8
  • 9. NATO From system-centric views, to user-centric applications. ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 9
  • 10. RIA and technical challenges Web 1.0 application Rich Internet Application • Be er response time • Light bandwidth • Less load on the server side • Less tests on the client side SERVER SERVER <page> <page> <page> <page> <data> <page> <page> <page> <application> CLIENT CLIENT ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 11. e Flash Platform is the leading solution for rapidly building RIAs Multiscreen Content and Applications TOOLS FRAMEWORK SERVERS SERVICES CLIENTS FLASH PLATFORM Flash Flash Flex Flash Media Flash Flash Player Professional Catalyst Server Family Platform Services Flash Builder LiveCycle AIR Creative Suite ColdFusion Analytics & Optimization © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. All external content and images pending approvals.
  • 12. eBanking application ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 12
  • 13. 97% Flash Player 10 (March 2010)
  • 14. ADOBE FLEX 4
  • 15. What is Flex and how it works Flash Builder IDE Browser Flex SDK Flash Player MXML ActionScript Flex Class Library SOAP HTTP/S AMF/S RTMP/S Web Server Compile XML/HTTP LC Data Services REST SOAP Web Services J2EE Application Server Existing Applications & Infrastructure ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 16. &
  • 17. JAVA VALUE OBJECT JAVA SERVICE CLASS DATABASE AdobeEvent.java EventService.java TABLES adobeusers int idEvent List getEvents() adobevents int idUser AdobeEvent getEvent(idEvent) String evtName AdobeEvent getEventbyIDUser(idUser) String evtCity List getActivityByuser() String evtCountry boolean update(event) int evtAudience boolean remove(event) int evtDate boolean deleteEvent(event) JAVA VALUE OBJECT JAVA SERVER PAGE AdobeActivityEvent.java listEvents.jsp int idUser <activity> String userName <adobeEvent> int nbEvents </adobeEvent> <adobeEvent> </adobeEvent> </activity>
  • 18. HTTP Request & WebServices ADOBE FLEX 4
  • 19. Flex/JSP architecture UI LAYER Web browser SERVER XML on HTTP(s) Java servlet container (tomcat, WAS…) PRESENTATION /SERVICES/DAO Webapp (WAR) LAYER JAVA classes/services listEvents.jsp EventService.java public getEvents() DATABASE/ STORAGE LAYER WSDL JDBC 2008 Adobe Systems Incorporated. All Rights Reserved.
  • 20. HTTP
  • 21. Flex and <HTTPRequest> ! Same with PHP, Ruby, Perl, ASP... ! Returns XML, text, tabulated text, JSON... ! Use send() to launch the request ! Result and Fault events ! New data-services wizard in Flash Builder 4 to generate a STUB on the client side © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 22. Flex and <Webservice> ! Web Services Description Language 1.1 (WSDL 1.1) document ! e Flex web service API generally supports Simple Object Access Protocol (SOAP) 1.1, XML Schema 1.0, and WSDL 1.1 RPC-encoded, RPC-literal, and document-literal (bare and wrapped style parameters). ! Flex supports web service requests and results that are forma ed as SOAP messages © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 23. XML AMF Published in December 2007 1.1Mo 5000 rows ? 29Ko
  • 24. Remoting AMF ADOBE FLEX 4
  • 25. LiveCycle Data Services ES LiveCycle Data Services ES LiveCycle Data Services is a set of Java EE Service components and APIs used to: Data Management Adapters Data Synchronization LiveCycle Create data-intensive RIAs with less code, less risk, and O -line Applications accelerated time to market due to an innovative client- Data Paging ColdFusion server programming model RPC Services Integrate RIAs with existing applications, back-end data, Hibernate Web Service and JEE infrastructure HTTP Service SQL Easily integrate RIAs with LiveCycle document and Remote Object Service process services JMS Messaging Enable collaboration, o ine AIR and real-time data Publish & Subscribe Java streaming applications to be built in a scalable and Collaboration reliable manner with robust publish and subscribe Custom… Real Time Data Push messaging Proxy Service Generate PDF documents from RIAs that include graphical assets Web-tier Compiler Portal Deployment RIA-PDF Generation © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 26. Blaze DS LiveCycle Data Services ES BlazeDS is a set of Java EE components Service Data Management Adapters and APIs, and a subset of LiveCycle Data Data Synchronization Services: LiveCycle O -line Applications - Free and open source. Data Paging ColdFusion - High performance data transfer for more responsive RPC Services Hibernate applications using AMF Web Service - Real-time server push over standard HTTP HTTP Service SQL Remote Object Service - Full pub/sub messaging that extends existing JMS messaging infrastructure Messaging Publish & Subscribe Java Collaboration Custom… Real Time Data Push Proxy Service Web-tier Compiler Portal Deployment RIA-PDF Generation © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 27. LCDS.war A le named « LCDS.war » is provided to start your Flex/Java projects. ! Structure of the WAR le: ! +WEB-INF/classes To place your Java classes ! +WEB-INF/lib Hosts the JAVA libraries of LCDS ! +WEB-INF/ ex Hosts the XML con guration les ! Remoting-con g.xml Destinations to Java classes for remoting ! Messaging-con g.xml Destinations for messaging ! Data-Management-con g.xml Destinations to Java assemblers ! Proxy-con g.xml Destinations to HTTP services ! Services-con g.xml Channels con gurations © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 28. Java and ActionScript value objects Java VO ActionScript VO © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 29. Java and ActionScript types STRING STRING BOOLEAN BOOLEAN INT, SHORT, BYTE INT DOUBLE, FLOAT, LONG NUMBER CALENDAR, DATE DATE OBJECT OBJECT COLLECTION ARRAYCOLLECTION OBJECT[] ARRAY ORG.W3C.DOCUMENT XML OBJECT NULL NULL © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 30. Flex/Java classic architecture UI LAYER Web browser AMF over HTTPs SERVER Java servlet container (tomcat, WAS…) PRESENTATION /SERVICES/DAO Webapp (WAR) LAYER LiveCycle Data Services JAVA classes/services JAVA <-> AMF RPC services Messaging Data Mgt EventService.java public getEvents() DATABASE/ STORAGE LAYER WSDL JDBC 2008 Adobe Systems Incorporated. All Rights Reserved.
  • 31. Remoting
  • 32. Messaging ADOBE FLEX 4
  • 33. Channels Message MessageBrokerServlet Broker Servlet-based endpoints AMF Endpoint Remoting HTTPEndpoint StreamingAMFEndpoint HTTPProxy Socket Server (LCDS only) Flex client Message NIO-based endpoints NIOAMFEndpoint Data Management NIOHTTPEndpoint RTMPEndpoint © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 34. Publish/Subscribe Messaging LiveCycle DS / Blaze DS !Client A Message Endpoint Service !Client B !RTMP !Client C !AMF Publisher !HTTP Subscriber © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 35. BEST RIA WORKFLOW DESIGNERS DEVELOPERS FLASH CS5 FLASH CATALYST CS5 FLASH BUILDER 4
  • 36. Quick Chat
  • 37. Publish/Subscribe Messaging : private messages LiveCycle DS / Blaze DS !Client A to clientA Message Endpoint Service !Client B !RTMP !Client C !AMF Publisher !HTTP Subscriber © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 38. AIR pilot
  • 39. Data Push - Messaging LiveCycle DS / Blaze DS Messaging Adapter X System X Message JMS Endpoint JMS Adapter Services Provider Messaging Adapter Y System Y !RTMP !AMF Publisher !HTTP Subscriber © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 40. LIFE AS AN EVANGELIST THE GPS CHIPSET ISSUE
  • 41. Real-Time Tracker
  • 42. Data Management Services ADOBE FLEX 4
  • 43. Data Management Services LiveCycle Data Services JDBC Client A RDBMS Adapter Endpoint Data Object DAO Service Adapter Client B Hibernate Hibernate Adapter CFC Client C Adapter ColdFusion © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 44. Data Management Bene ts 1. Automatic Client to Middle-Tier Synchronization ! Change Tracking ! Automatic invocation of remote services 2. Highlander Principle: there is only one instance of a given entity in memory at any given time 3. Con ict resolution 4. O ine Synchronization (thanks to Adobe AIR) 5. Lazy loading 6. Paging 7. Cross-client synchronization © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 45. Data Management
  • 46. Model driven development ADOBE FLEX 4
  • 47. Code Driven Development Code •UI controls / formatters / styles • Calculated elds • Validation Rules • Variants (conditional properties) • Localization • Security • Data Retrieval Logic (paging, lazy loading) • Data Synchronization Logic Model •Basic Data Description Model Server-side code Client-side code © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 48. Model Driven Development Code • Ad-hoc customization • View composition • External business/validation logic Model • Rich data model (data and behaviors) • Calculated elds • Validation Rules • Variants (conditional properties) • Localization • Security • UI hints/defaults: controls, formatters, styles Model includes enough information to derive data retrieval, persistence, and synchronization logic Model Server-side code Client-side code © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 49. Model Driven Development Bene ts Productivity: Less code to write ! No persistence code or data sync code ! Value objects and service stubs are automatically generated Maintainability: Less code to maintain ! Changes to the model are automatically propagated Consistency ! Between client and server (for example, constraints and validation rules are de ned in the model, not duplicated using di erent languages in the client and the server) ! Across views (for example, UI controls, styles, and validation rules are de ned in the model, not duplicated across di erent views) Approachability ! No code to write to implement complex capabilities such as persistence, synchronization, paging, lazy loading, o ine, etc. Innovation: ! O ine and client synchronization capabilities ! Model is language independent and can be leveraged by di erent client technologies and tools (Flex, PDF, etc) © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 50. Model Driven
  • 51. Rich Internet Applications
  • 52. Out of the browser O ine/Online sync (salesForce) Invoke OS Native Processes Embed your own Java libraries Soon on smartphones ADOBE AIR 2.0
  • 53. AIR <> JAVA NATIVE PROCESS & UDP
  • 54. Flex and Java developers
  • 55. Learn a new language ? Flex and Java developers FAST and FUN
  • 56. Agile development ? JavaUnit and FlexUnit JavaPMD and FlexPMD MAVEN, ANT MVC frameworks Hudson, Sonar reports FlexCover, FlexCPD, load tests Flex and Java developers Keep your tools and methodologies
  • 57. Large-scale systems ? Adobe J2EE Flex and Java libraries developers Leading framework for Enterprise RIA
  • 58. &
  • 59. JAVA JAVA + FLEX rockstar rockstar
  • 60. e Flash Platform is the leading solution for rapidly building RIAs Multiscreen Content and Applications TOOLS FRAMEWORK SERVERS SERVICES CLIENTS FLASH PLATFORM Flash Flash Flex Flash Media Flash Flash Player Professional Catalyst Server Family Platform Services Flash Builder LiveCycle AIR Creative Suite ColdFusion Analytics & Optimization © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. All external content and images pending approvals.
  • 61. Feel free to contact me Michaël Chaize Flash Platform Evangelist My blog: www.RIAgora.com @mchaize ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 62