SpringSource ha recentemente annunciato Spring BlazeDS Integration, un nuovo progetto open source per permettere una facile integrazione tra il framework Spring e Adobe BlazeDS, una tecnologia open source basata su server Java remoting e Web messaging.
Il plugin di SpringSource fornisce un approccio più semplice ed intuitivo agli sviluppatori Spring e Java per creare Enterprise Rich Internet Applications utilizzando il framework Adobe Flex, una pietra miliare della Flash Platform.
In questa sessione ai partecipanti verrà fornita una panoramica del framework Flex e di BlazeDS, illustrando i vantaggi e le modalità di integrazione al framework Spring attraverso il plugin Spring BlazeDS.
16. Showcase Comtaste Open Source Projects Pantaste (http://code.google.com/p/pantaste/) A library to create ActionScript-based personalized start page or personal web portal much like iGoogle, My Yahoo!, Netvibes etc DAO-EXT (http://code.google.com/p/dao-ext/) an Adobe AIR tool that allows developers to automatically generate ActionScript Data Access Objects (DAO) and Value Objects starting from a local SQLite database.
20. Upcoming Spring-Flex Training Corsi Spring in Italiano Comtaste ha creato un percorso didattico rivolto a chi già utilizza Flex in ambiente Enterprise e vuole esplorare le possibilità di integrazione con Spring. Comtaste e SpringSource stanno lavorando insieme per offrire corsi di Spring in lingua italiana.
21. Spring + Flex + BlazeDS MARCO CASARIO CTO – Comtaste http://casario.blogs.com
34. Flex + Spring Flex 3 Component Model (Halo) / Component Skin Graphics Layout Animation Parts States Behavior Logic Data WWW.COMTASTE.COM
35. Flex + Spring Flex 4 Component Model (Spark) ActionScript MXML Skin Component Graphics Layout Animation Parts States Behavior Logic Data CSS properties WWW.COMTASTE.COM
83. Flex + Spring Perché Flex e Spring insieme Spring è di fatto uno standard emergente per il business tier delle applicazioni Java Enterprise Flex rappresenta lo standard per le RIA Nell’integrazione lo sviluppatore non deve abbandonare l’approccio server side di Spring WWW.COMTASTE.COM
86. Migrazione da Local transactions e JTA non richiedono codiceWWW.COMTASTE.COM
87. Flex + Spring Remoting Service Permette al client di invocare metodi di oggetti sull’application server Le informazioni tipizzate (Java / AS) sono mantenute Encoding dei dati in formato binario WWW.COMTASTE.COM
92. Flex + Spring Flex Remoting: le basi WWW.COMTASTE.COM
93. Flex + Spring Flex Remoting: le basi WWW.COMTASTE.COM
94.
95. Necessità di molteplici configurazioniIl vecchio approccio è stato una barriera per l’adozione di Flex e BlazeDS dagli sviluppatori Spring. WWW.COMTASTE.COM
96. Flex + Spring SpringFactory: il vecchio approccio WWW.COMTASTE.COM
99. Indirizzare i messaggi http di flex al MessageBroker attraverso lo Spring DispatcherServlethttp://www.springsource.org/spring-flex WWW.COMTASTE.COM
110. Flex + Spring Spring-Flex:configurazione A questo punto Spring gestisce il MessageBroker per permettere ai beans di essere connessi direttamente alle remoting call di Flex. In questo modo le operazioni di serializzazione e deserializzazione tra Java e AMF avvengono automaticamente Questo ci permette di non scrivere molto codice di configurazione nel file remoting-config.xml WWW.COMTASTE.COM
111. Flex + Spring Spring-Flex:configurazione Nel remoting-config.xml ci saranno solo gli elementi di configurazione nativi di BlazeDS: <service id=“remoting-service“ class=“flex.messaging.services.RemotingService” > <adapters> <adapter-definition id="java-object" class="flex.messaging.services.remoting.adapters.JavaAdapter"/> </adapters> <default-channels> <channel ref="my-amf"/> </default-channels> WWW.COMTASTE.COM
112. Flex + Spring Spring-Flex:configurazione Siamo pronti a collegare i beans nell’application context: <bean id="product" class="org.springframework.flex.messaging.remoting.FlexRemotingServiceExporter"> <property name="messageBroker" ref="mySpringManagedMessageBroker"/> <property name="service" ref="productService"/> </bean> Espone il servizio ProductService a BlazeDS remoting WWW.COMTASTE.COM
113. Flex + Spring Nomi di metodi riservati per RemoteObject If a remote method has the same name as a method defined by the RemoteObject class, or by any of its parent classes, then you cannot call the remote method directly. The RemoteObject class defines the following method names: WWW.COMTASTE.COM
114. Flex + Spring Spring-Flex: Sicurezza WWW.COMTASTE.COM
115. Flex + Spring Spring-Flex: Messaging Il progetto già prevede la compatibilità col nuovo sistema di Spring Integration per le comunicazione asincrone Integrazione con BlazeDS MessageService senza usare la configurazione del file message-services.xml Sono esposti adapters per Spring JMS e SpringIntegration per permettere la comunicazione tra il client Flex e i message-driven POJOs di Spring WWW.COMTASTE.COM
116. Flex + Spring Spring-Flex: Sicurezza WWW.COMTASTE.COM
123. Flex + Spring Spring ActionScript Il progetto è mantenuto dallo stesso creatore del Prana framework (http://www.springactionscript.org/) E’ entrato a far parte di Spring Extension Il framework contiene un Inversion of Control Container, un MVCS framework, estensioni per Cairngorm e PureMVC frameworks e altre utilities. WWW.COMTASTE.COM
124. Flex + Spring Spring ActionScript E’ un container ActionScript che applica il design pattern IoC: IoC tende a tener disaccoppiati i singoli componenti di un sistema, in cui le eventuali dipendenze non vengono scritte all'interno del componente stesso, ma gli vengono iniettate dall'esterno: non si segue il normale flusso di controllo dei linguaggi imperativi, in cui, nel momento del bisogno, si richiamano funzioni di classi o librerie esterne, gli oggetti quindi non istanziano e richiamano gli oggetti dal quale il loro lavoro dipende, ma queste funzionalità vengono fornite da un ambiente esterno tramite dei contratti definiti da entrambe le entità. La Dependency Injection è una delle tecniche con le quali si può attuare l'IOC. WWW.COMTASTE.COM