Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3

1,948
-1

Published on

This is the presentation I held at the JavaDay 09 Conference in Rome, Italy.

www.comtaste.com
casario.blogs.com

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,948
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Enterprise Rich Internet Applications con Java, Livecycle DS e Flex 3

  1. 1. MARCO CASARIO CTO – Comtaste http://casario.blogs.co m
  2. 2. My books GEN 09 WWW.COMTASTE.COM
  3. 3. My books GEN 09 WWW.COMTASTE.COM
  4. 4. My books GEN 09 WWW.COMTASTE.COM
  5. 5. My Books Advanced AIR Application Development GEN 09 WWW.COMTASTE.COM
  6. 6. Who i am GEN 09 WWW.COMTASTE.COM
  7. 7. GOAL Maximizing the User Experiences
  8. 8. MISSION “Bringing Sexy Back to the Enterprise applications” by a clever use of Rich Internet Applications and Multimedia content. Because better information workplaces: make customers happier improve the quality of work life for employees
  9. 9. WHY In other words: RIAs in enterprise environments dramatically increase staff productivity and responsive capacity Multimedia contents add enhanced effectiveness
  10. 10. WHY In other words: RIAs in enterprise environments dramatically increase staff productivity and responsive capacity Multimedia contents add enhanced effectiveness
  11. 11. TECHNOLOGIE S The technologies we use:  J2EE (Java, JSP, Hibernate, EJB3, Struts, Spring)  Ajax  Flash  Flex  AIR  Flash Media Server
  12. 12. TEAM Who can make it possible J2EE Developers Flex/Flash Developers Creative UI Designers
  13. 13. CLIENTS Accenture S.p.A. CapGemini S.p.A.   Adobe Systems Software Ireland Ltd. Itag S.p.A   Altran Cis S.p.A. Nexus Information Technologies   S.a.u.– Gruppo Iconmedialab Apress Inc. Televideocom S.p.A. Reply University of Malta – Link Campus Area Interactive Design S.r.l. STE BPU Banca S.p.A. – UBI Group HP TELECOM Poste Svizzere
  14. 14. CASE HISTORIE S
  15. 15. Flex Daily Solutions Who am I
  16. 16. Flash Player GEN 09 WWW.COMTASTE.COM
  17. 17. Flash Player 10 GEN 09 WWW.COMTASTE.COM
  18. 18. I numeri di Flex GURU MEETING Who am I GEN 09 WWW.COMTASTE.COM
  19. 19. I numeri di Flex GURU MEETING Who am I GEN 09 WWW.COMTASTE.COM
  20. 20. Capire Flex GEN 09 WWW.COMTASTE.COM
  21. 21. Ca sh P F yer Flapire lalex GEN 09 WWW.COMTASTE.COM
  22. 22. Capire Flex GEN 09 WWW.COMTASTE.COM
  23. 23. Capire Flex GEN 09 WWW.COMTASTE.COM
  24. 24. Capire Flex GEN 09 WWW.COMTASTE.COM
  25. 25. Capire Flex GEN 09 WWW.COMTASTE.COM
  26. 26. Enterprise Flex 1. Application Design Tool per UML Modeling ◦ Supporto per ActionScript 3 ◦ Auto generazione dello scheletro del codice Enterprise Architect - $239-$135 Visual Paradigm - $70-$59 VASGen - Free UMLet – Free StarUML - Free GEN 09 WWW.COMTASTE.COM
  27. 27. Enterprise Flex 2. Gestione del codice Tool per (source) code management (SCM) ◦ Integrazione in Eclipse/Flex Builder CVS Subversion Perforce / P4WSAD Clearcase GEN 09 WWW.COMTASTE.COM
  28. 28. Enterprise Flex 3. Generazione documentazione Tool per la generazione di documentazione API in formato da codice AS 3 ASDoc GEN 09 WWW.COMTASTE.COM
  29. 29. Enterprise Flex 4. Build management tool Flex Ant Tasks Fornisce uno standard per usare i progetti Ant nelle applicazioni Flex invocando i compilatori mxmlc e compc. Flex-Mojo (http://blog.flex-mojos.info/) Un plugin Maven per creare progetti Flex con Maven. GEN 09 WWW.COMTASTE.COM
  30. 30. Enterprise Flex 5. Unit Testing Flex Unit E’ uno unit testing framework per Flex ed ActionScript 3 (progetti e librerie) GEN 09 WWW.COMTASTE.COM
  31. 31. Enterprise Flex 6. Integrazione con framework Java Spring Spring BlazeDS Integration (RemoteObject e message  services) SpringSource Adapter for LiveCycle Data Services ES which  will provide integration with Adobe LiveCycle Data Services ( server push-based applications ) GEN 09 WWW.COMTASTE.COM
  32. 32. Enterprise Flex 6. Integrazione con framework Java Grails Grails Flex plugin : per comunicare da Flex ai servizi Grails senza nessuna configurazione GEN 09 WWW.COMTASTE.COM
  33. 33. Livecycle Data Services GEN 09 WWW.COMTASTE.COM
  34. 34. Collaborative Application GEN 09 WWW.COMTASTE.COM
  35. 35. Capire BlazeDS GEN 09 WWW.COMTASTE.COM
  36. 36. Flex è Open Source GEN 09 WWW.COMTASTE.COM
  37. 37. Best Practice Flex 1. Capire le Flex Application Le applicazioni Flex vengono eseguite all’interno del browser attraverso il Flash Player plugin Le applicazioni Flex sono file SWF che hanno 2 frames GEN 09 WWW.COMTASTE.COM
  38. 38. Best Practice Flex 1. Capire le Flex Application Il primo frame di un Flex movie contiene: 4. SystemManager 5. Preloader 6. DonwloadProgressBar GEN 09 WWW.COMTASTE.COM
  39. 39. Best Practice Flex 1. Capire le Flex Application E’ nel SystemManager object che avviene la maggior parte delle azioni. L’oggetto SystemManager è la parent class del tag Application (ma non solo ...) GEN 09 WWW.COMTASTE.COM
  40. 40. Best Practice Flex 1. Capire le Flex Application Il costruttore del SystemManager controlla: • Se si sta caricando in un altra applicazione il contenuto • Interrompe la riproduzione del flash movie • Comunica alla ResourceBundle class quale locale mostrare allo start up • Crea un event listener per l’evento INIT e lancia l’initHandler() GEN 09 WWW.COMTASTE.COM
  41. 41. Best Practice Flex 1. Capire le Flex Application Il loaderInfo object gestisce una serie di proprietà read-only e di eventi (complete, init, progress, httpStatus ...) Gestisce le informazioni sulla quantità di dati caricati e da caricare Una volta che il SystemManager è stato eseguito l’INIT event del loaderInfo object è caricato GEN 09 WWW.COMTASTE.COM
  42. 42. Best Practice Flex 1. Capire le Flex Application Nell’initHandler() viene utilizzato un metodo non documentato : addFrameScript() Questo metodo permette di richiamare un metodo ogni volta che l’applicazione entra in un frame specifico Viene chiamato l’evento initialize() GEN 09 WWW.COMTASTE.COM
  43. 43. Best Practice Flex 1. Capire le Flex Application Il metodo Initialize crea un Preloader object che viene aggiunto al SystemManager Vengono inoltre prese le informazioni di ogni RSL utilizzata nel progetto Vengono registrate le classi: • ResourceManager • FontRegistry • StyleManagers • flashvars GEN 09 WWW.COMTASTE.COM
  44. 44. Best Practice Flex 1. Capire le Flex Application Il Preloader comincia a caricare le RSL e crea un’istanza della DownloadProgressBar. E’ questa la classe da sovrascrivere se si vuole usare un custom preloader Il Flash Player sta per caricare il secondo frame ! GEN 09 WWW.COMTASTE.COM
  45. 45. Best Practice Flex 1. Capire le Flex Application Comincia la fase di istanziazione dell’interfaccia Viene creata un istanza dell’applicazione ma non viene ancora aggiunta al SystemManager ma viene passata al Preloader GEN 09 WWW.COMTASTE.COM
  46. 46. Best Practice Flex 1. Capire le Flex Application Il Preolader reagisce ai seguenti eventi: • validatePropertiesComplete • validateSizeComplete • ValidateDisplayListComplete • creationComplete Allo scattare di ognuno di questi eventi, il Preloader esegue un INIT_PROGRESS event GEN 09 WWW.COMTASTE.COM
  47. 47. Best Practice Flex 1. Capire le Flex Application Il SystemManager inizia il processo di inizializzazione dell’applicazione chiamando l’evento initialize() della subclass dell’Application GEN 09 WWW.COMTASTE.COM
  48. 48. Best Practice Flex 1. Capire le Flex Application Il SystemManager inizia il processo di inizializzazione dell’applicazione chiamando l’evento initialize() della subclass dell’Application L’applicazione raccoglie le informazioni per i suoi children dai Descriptors (istanze della classe ComponentDescriptor class creata per ogni MXML tag) GEN 09 WWW.COMTASTE.COM
  49. 49. Best Practice Flex 1. Capire le Flex Application Scatta l’evento preInitialize prima che i componenti vengono creati In questo evento è buona norma cambiare le proprietà di un componente GEN 09 WWW.COMTASTE.COM
  50. 50. Best Practice Flex 1. Capire le Flex Application Il metodo createChildren() viene invocato. Importante nello sviluppo di custom component perchè garantisce che i display objects vengano creati In questo metodo vengono creati i bordi dell’applicazione e le scrollbars (se ce n’è bisogno) GEN 09 WWW.COMTASTE.COM
  51. 51. Best Practice Flex 1. Capire le Flex Application Una volta che tutti i figli vengono creati ricorsivamente il metodo childrenCreated() viene lanciato. Questo metodo chiama i metodi di invalidazione: • invalidateProperties() • invalidateSize() • invalidateDisplayList() GEN 09 WWW.COMTASTE.COM
  52. 52. Best Practice Flex 1. Capire le Flex Application Ognuno di questi metodi chiede al Flex framework di invocare i metodi: commitProperties() measure() updateDisplayList() GEN 09 WWW.COMTASTE.COM
  53. 53. Best Practice Flex 1. Capire le Flex Application Vengono ora letti ed eseguiti i bindings assegnati alle proprietà dei child L’evento initialize per ogni child viene chiamato A questo punto i child sono stati creati ma non posizionati e dimensionati GEN 09 WWW.COMTASTE.COM
  54. 54. Best Practice Flex 1. Capire le Flex Application L’evento ENTER_FRAME chiama il codice all’interno della classe UIComponent che comunica con il LayoutManager e controlla se un componente deve esser misurato e ridisegnato Vengono chiamati di nuovo i metodi per l’invalidazione GEN 09 WWW.COMTASTE.COM
  55. 55. Best Practice Flex 1. Capire le Flex Application Se non ci sono altri componenti figli da creare, l’evento creationComplete su quel component viene eseguito GEN 09 WWW.COMTASTE.COM
  56. 56. Best Practice Flex 1. Capire le Flex Application Il Preloader che era in ascolto del creationComplete event dell’application esegue del codice e indica che il suo lavoro è finito. Il SystemManager rimuove il preloader e aggiunge l’applicazione al SystemManager che adesso si vede per la prima volta. GEN 09 WWW.COMTASTE.COM
  57. 57. Best Practice Flex 1. Capire le Flex Application L’evento applicationComplete viene eseguito sia dall’applicazione che dal SystemManager L’applicazione è ora visibile e lo start up è completo ! GEN 09 WWW.COMTASTE.COM
  58. 58. MARCO CASARIO CTO – Comtaste http://casario.blogs.co m

×