The Spring of Adobe Flex Remoting

François Le Droff
François Le DroffSoftware Architect at Adobe
The Spring of Adobe Flex Remoting




                                                                  ®



  http://www.flickr.com/photos/wisdoc/431285814/
Copyright 2008 Adobe Systems Incorporated. All rights reserved.
François Le Droff


       “Just another Java guy”
                Adobe Technology and Service Innovation
                10 ans d’expérience (web 1+n.0)
                OSS geek :
                         contributeur sur qsos, xradar , leader du projet
                         fna,
                         membre de l’ossgtp, du ParisJUG, et ParisJBUG
                         conférencier à MAX, et Solution Linux
                         blogs :
                            http://www.droff.com
                            http://blogs.adobe.com/francoisledroff/
                         ledroff@adobe.com

                                                                            ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Spring & Flex Remoting




       Spring & Flex :
                Avant : SpringFactory
                Maintenant : Spring-flex 1.0.0-RELEASE




                         http://www.springsource.org/spring-flex
                         LCDS Spring : à suivre…




                                                                   ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Remoting




                   http://blog.xebia.fr/2008/09/16/blazeds/




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Spring et Flex Remoting

       Par défaut, « Flex Remoting » instancie et de gére le cycle de vie des remote
       objects définis dans le fichier de configuration remoting-config.xml.


       La philosophie de Spring IoC est de laisser le conteneur instancier les
       composants ( et d’injecter leurs dépendances).


       La clef d’intégration de Spring et « Flex Remoting » , donc, est de trouver le
       meilleur moyen d’exposer des « Flex Remoting » services , tout en laissant le
       conteneur Spring gérer la configuration, la sécurité, l’instanciation, et le
       cycle de vie des implémentation (legacy ou pas) des ces services.




                                                                                        ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Flex Remoting + Spring Factory




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Ancienne approche: Spring factory

       Le rôle de la factory est de fournir des instances d’objets prêts à l’emploi à BlazeDS, plutôt que
       de laisser BlazeDS instancier les composants. Pour créer une factory, il faut créer une classes qui
       implémente l’interface flex.messaging.FlexFactory, et implémenter la méthode lookup() utilisée
       par BlazeDS pour obtenir une instance d’un remote object.


       Enregistrer la factory Spring dans le fichier de configuration services-config.xml :
                1.<factories>
                2.<factory id="spring" class="flex.samples.factories.SpringFactory"/>
                3.</factories>


       Configurer la destination pour qu’elle utilise la factory:
                1.<destination id="myService">
                2.<properties>
                3.<factory>spring</factory>
                4.<source>myBean</source>
                5.</properties>
                6.</destination>




                                                                                                             ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Spring-Factory: Les limites

       L’approche par lookup de dépendances décrites ci-dessus est en désaccord
       avec l’approche de Spring (injection de dépendance).
       Les objets doivent être configurés deux fois : une première fois dans le
       fichier remoting-config.xml de BlazeDS, et une fois de plus dans le fichier
       Spring de contexte de l’application.
       L’intégration se limite à du remoting basique et ne couvre pas d’autres
       aspects importants comme la sécurité et le messaging.




                                                                                     ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Spring-Flex




                                                                  AMF Broker




                                                                               Service
                                                                               Spring
                                                                    Spring




                                                                                         ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Spring-Flex : Projet d’intégration avec SpringSource

       Le MessageBroker, clef de voute du moteur de LCDS, est configuré comme
       un bean géré par Spring et n’a plus besoin d’être configuré dans le fichier
       web.xml
       Les messages Flex sont routés vers le MessageBroker à travers le
       DispatcherServlet de Spring
       Les RemoteObjects sont configurés « à la de Spring »
       Intégration de
                Spring Security
                « Exception translators »




                                                                                     ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Spring-Flex
                 Demo
                    &
             Revue de Code :



                                                                  http://fna.googlecode.com/svn/trunk/fna/samples/riveria_ju
                                                                  g/spring_flex_todo/
                                                                  http://www.gnu.org/licenses/lgpl.html

                                                                                                                               ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
A few magic details : Spring AutoWiring

       With a simple SpringFactory (and/or JavaAdapter) approach, you need to
       configure each new Java remote object service in remoting-config.xml.
       @RemotingDestination (JDK5 annotation) allows you to autowire Spring
       beans directly into BlazeDS.




                                                                                ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
A few magic details : Application Context




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
client side




                                                                  ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Questions ?


                                                                                ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
1 of 15

Recommended

#2 Architecture OSGi by
#2 Architecture OSGi#2 Architecture OSGi
#2 Architecture OSGiGuillaume Sauthier
901 views19 slides
Elsass JUG - OSGi by
Elsass JUG - OSGiElsass JUG - OSGi
Elsass JUG - OSGiFrançois Fornaciari
1.3K views39 slides
Présentation OSGI by
Présentation OSGIPrésentation OSGI
Présentation OSGICynapsys It Hotspot
3K views27 slides
La plateforme de services dynamiques OSGi by
La plateforme de services dynamiques OSGiLa plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGiDidier Donsez
3.7K views223 slides
Spring boot anane maryem ben aziza syrine by
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSyrine Ben aziza
108 views35 slides
Presentation Spring by
Presentation SpringPresentation Spring
Presentation SpringNathaniel Richand
7.6K views23 slides

More Related Content

What's hot

Développement d'applications pour la plateforme Java EE by
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
2K views65 slides
Spring mvc 3.0 web flow by
Spring mvc 3.0 web flowSpring mvc 3.0 web flow
Spring mvc 3.0 web flowSlimen Belhaj Ali
1.7K views48 slides
Java Entreprise Edition by
Java Entreprise EditionJava Entreprise Edition
Java Entreprise EditionSabri Bouchlema
840 views130 slides
Hibernate : vue d’ensemble by
Hibernate : vue d’ensembleHibernate : vue d’ensemble
Hibernate : vue d’ensembleProfLibre
73 views16 slides
Websphere by
WebsphereWebsphere
WebsphereSlimen Belhaj Ali
1.2K views34 slides
20100225 Ippon Osgi Are You Ready by
20100225 Ippon Osgi Are You Ready20100225 Ippon Osgi Are You Ready
20100225 Ippon Osgi Are You ReadyGeoffray Gruel
951 views43 slides

Viewers also liked

Iccesomar code english_ by
Iccesomar code english_Iccesomar code english_
Iccesomar code english_internetstats
749 views36 slides
Venecia www.giiaa.com by
Venecia www.giiaa.comVenecia www.giiaa.com
Venecia www.giiaa.comwww.Giiaa.com Web
286 views32 slides
"Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de... by
"Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de..."Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de...
"Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de...LIVIO LANTERI
749 views89 slides
Librarians as Agents of Change by
Librarians as Agents of ChangeLibrarians as Agents of Change
Librarians as Agents of ChangeBarbara Fister
1.2K views26 slides
Flex Continuous Quality Builds Flex & (Ant || Maven) by
Flex Continuous Quality Builds Flex & (Ant || Maven)Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)François Le Droff
1K views25 slides
Er&l slides fister by
Er&l slides   fisterEr&l slides   fister
Er&l slides fisterBarbara Fister
950 views31 slides

Viewers also liked(9)

"Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de... by LIVIO LANTERI
"Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de..."Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de...
"Rapporto mercato immobiliare settore residenziale 2013" a cura di Agenzia de...
LIVIO LANTERI749 views
Librarians as Agents of Change by Barbara Fister
Librarians as Agents of ChangeLibrarians as Agents of Change
Librarians as Agents of Change
Barbara Fister1.2K views
Flex Continuous Quality Builds Flex & (Ant || Maven) by François Le Droff
Flex Continuous Quality Builds Flex & (Ant || Maven)Flex Continuous Quality Builds Flex & (Ant || Maven)
Flex Continuous Quality Builds Flex & (Ant || Maven)
Alla scoperta di Ubuntu Phone, lo smartphone Open Source by Marco Trevisan
Alla scoperta di Ubuntu Phone, lo smartphone Open SourceAlla scoperta di Ubuntu Phone, lo smartphone Open Source
Alla scoperta di Ubuntu Phone, lo smartphone Open Source
Marco Trevisan890 views

Similar to The Spring of Adobe Flex Remoting

Flash Builder et Flash Catalyst by
Flash Builder et Flash CatalystFlash Builder et Flash Catalyst
Flash Builder et Flash CatalystMichael Chaize
805 views41 slides
20081113 - Nantes Jug - Apache Maven by
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache MavenArnaud Héritier
1.2K views43 slides
Flex Php E Seminar Fr by
Flex Php E Seminar FrFlex Php E Seminar Fr
Flex Php E Seminar FrMichael Chaize
691 views17 slides
Flex et Php Afup by
Flex et Php AfupFlex et Php Afup
Flex et Php AfupMichael Chaize
888 views24 slides
Annotations pour les Geeks by
Annotations pour les GeeksAnnotations pour les Geeks
Annotations pour les Geeksjviet
713 views54 slides
Devoxx 2017 : toutes les actualités technologiques à surveiller ! by
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
1.7K views15 slides

Similar to The Spring of Adobe Flex Remoting(20)

Flash Builder et Flash Catalyst by Michael Chaize
Flash Builder et Flash CatalystFlash Builder et Flash Catalyst
Flash Builder et Flash Catalyst
Michael Chaize805 views
20081113 - Nantes Jug - Apache Maven by Arnaud Héritier
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
Arnaud Héritier1.2K views
Annotations pour les Geeks by jviet
Annotations pour les GeeksAnnotations pour les Geeks
Annotations pour les Geeks
jviet713 views
Devoxx 2017 : toutes les actualités technologiques à surveiller ! by Société ELOSI
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Société ELOSI1.7K views
French Webinar: XL Deploy 4.0 by XebiaLabs
French Webinar: XL Deploy 4.0French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0
XebiaLabs2.5K views
20091020 - Normandy Jug - Builders Battle by Arnaud Héritier
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
Arnaud Héritier1.3K views
Spring Boot & Containers - Do's & Don'ts by Julien Wittouck
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
Julien Wittouck200 views
At2008 Grenoble Hugonnet Sanlaville Public by Emmanuel Hugonnet
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
Emmanuel Hugonnet1.6K views
Sauvegarder et restaurer l'état des applications mobiles by pprem
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
pprem46 views
Présentation prime facesfinal by Aymen Drira
Présentation prime facesfinalPrésentation prime facesfinal
Présentation prime facesfinal
Aymen Drira6.9K views
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ... by Siham Rim Boudaoud
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Siham Rim Boudaoud38.7K views
Adobe flex® by finalspy
Adobe flex®Adobe flex®
Adobe flex®
finalspy1.9K views
Aspect avec AspectJ by simeon
Aspect avec AspectJAspect avec AspectJ
Aspect avec AspectJ
simeon2.2K views

More from François Le Droff

Implémentez une intégration avec AEM presque sans code by
Implémentez une intégration avec AEM presque sans codeImplémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans codeFrançois Le Droff
256 views24 slides
Devops days berlin-2016 by
Devops days berlin-2016Devops days berlin-2016
Devops days berlin-2016François Le Droff
328 views15 slides
JHipster meetup #2 by
JHipster meetup #2JHipster meetup #2
JHipster meetup #2François Le Droff
921 views11 slides
Hairy/Java Security @ Codemotion Berlin 2015 by
Hairy/Java Security @ Codemotion Berlin 2015Hairy/Java Security @ Codemotion Berlin 2015
Hairy/Java Security @ Codemotion Berlin 2015François Le Droff
1.1K views67 slides
barbus & barbares finistjug by
barbus & barbares finistjugbarbus & barbares finistjug
barbus & barbares finistjugFrançois Le Droff
755 views69 slides
Devoxx 2015-barbus-et-barbares by
Devoxx 2015-barbus-et-barbaresDevoxx 2015-barbus-et-barbares
Devoxx 2015-barbus-et-barbaresFrançois Le Droff
5.7K views64 slides

More from François Le Droff(15)

Implémentez une intégration avec AEM presque sans code by François Le Droff
Implémentez une intégration avec AEM presque sans codeImplémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans code
François Le Droff256 views
Hairy/Java Security @ Codemotion Berlin 2015 by François Le Droff
Hairy/Java Security @ Codemotion Berlin 2015Hairy/Java Security @ Codemotion Berlin 2015
Hairy/Java Security @ Codemotion Berlin 2015
François Le Droff1.1K views
Master chef and puppet show - Devoxx France 2014 by François Le Droff
Master chef and puppet show - Devoxx France 2014Master chef and puppet show - Devoxx France 2014
Master chef and puppet show - Devoxx France 2014
François Le Droff691 views
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures by François Le Droff
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
François Le Droff6.9K views
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ... by François Le Droff
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
Flex and LiveCycle Data Services Best Practices from the Trenches (Adobe MAX ...
François Le Droff1.4K views
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source by François Le Droff
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open sourceSoirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
Soirée Qualite Logicielle Paris JUG : Tour d'horizon des outils open source
François Le Droff1.5K views
Quality Best Practices & Toolkit for Enterprise Flex by François Le Droff
Quality Best Practices & Toolkit for Enterprise FlexQuality Best Practices & Toolkit for Enterprise Flex
Quality Best Practices & Toolkit for Enterprise Flex
François Le Droff1.2K views
Flex Services And Spring with Spring-Flex ParisJug by François Le Droff
Flex Services And Spring with Spring-Flex ParisJugFlex Services And Spring with Spring-Flex ParisJug
Flex Services And Spring with Spring-Flex ParisJug
François Le Droff400 views
Flex For Java Architects Ledroff Breizh Jug V Blog Cc by François Le Droff
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc

The Spring of Adobe Flex Remoting

  • 1. The Spring of Adobe Flex Remoting ® http://www.flickr.com/photos/wisdoc/431285814/ Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 2. François Le Droff “Just another Java guy” Adobe Technology and Service Innovation 10 ans d’expérience (web 1+n.0) OSS geek : contributeur sur qsos, xradar , leader du projet fna, membre de l’ossgtp, du ParisJUG, et ParisJBUG conférencier à MAX, et Solution Linux blogs : http://www.droff.com http://blogs.adobe.com/francoisledroff/ ledroff@adobe.com ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 3. Spring & Flex Remoting Spring & Flex : Avant : SpringFactory Maintenant : Spring-flex 1.0.0-RELEASE http://www.springsource.org/spring-flex LCDS Spring : à suivre… ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 4. Flex Remoting http://blog.xebia.fr/2008/09/16/blazeds/ ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 5. Spring et Flex Remoting Par défaut, « Flex Remoting » instancie et de gére le cycle de vie des remote objects définis dans le fichier de configuration remoting-config.xml. La philosophie de Spring IoC est de laisser le conteneur instancier les composants ( et d’injecter leurs dépendances). La clef d’intégration de Spring et « Flex Remoting » , donc, est de trouver le meilleur moyen d’exposer des « Flex Remoting » services , tout en laissant le conteneur Spring gérer la configuration, la sécurité, l’instanciation, et le cycle de vie des implémentation (legacy ou pas) des ces services. ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 6. Flex Remoting + Spring Factory ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 7. Ancienne approche: Spring factory Le rôle de la factory est de fournir des instances d’objets prêts à l’emploi à BlazeDS, plutôt que de laisser BlazeDS instancier les composants. Pour créer une factory, il faut créer une classes qui implémente l’interface flex.messaging.FlexFactory, et implémenter la méthode lookup() utilisée par BlazeDS pour obtenir une instance d’un remote object. Enregistrer la factory Spring dans le fichier de configuration services-config.xml : 1.<factories> 2.<factory id="spring" class="flex.samples.factories.SpringFactory"/> 3.</factories> Configurer la destination pour qu’elle utilise la factory: 1.<destination id="myService"> 2.<properties> 3.<factory>spring</factory> 4.<source>myBean</source> 5.</properties> 6.</destination> ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 8. Spring-Factory: Les limites L’approche par lookup de dépendances décrites ci-dessus est en désaccord avec l’approche de Spring (injection de dépendance). Les objets doivent être configurés deux fois : une première fois dans le fichier remoting-config.xml de BlazeDS, et une fois de plus dans le fichier Spring de contexte de l’application. L’intégration se limite à du remoting basique et ne couvre pas d’autres aspects importants comme la sécurité et le messaging. ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 9. Spring-Flex AMF Broker Service Spring Spring ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 10. Spring-Flex : Projet d’intégration avec SpringSource Le MessageBroker, clef de voute du moteur de LCDS, est configuré comme un bean géré par Spring et n’a plus besoin d’être configuré dans le fichier web.xml Les messages Flex sont routés vers le MessageBroker à travers le DispatcherServlet de Spring Les RemoteObjects sont configurés « à la de Spring » Intégration de Spring Security « Exception translators » ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 11. Spring-Flex Demo & Revue de Code : http://fna.googlecode.com/svn/trunk/fna/samples/riveria_ju g/spring_flex_todo/ http://www.gnu.org/licenses/lgpl.html ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 12. A few magic details : Spring AutoWiring With a simple SpringFactory (and/or JavaAdapter) approach, you need to configure each new Java remote object service in remoting-config.xml. @RemotingDestination (JDK5 annotation) allows you to autowire Spring beans directly into BlazeDS. ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 13. A few magic details : Application Context ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 14. client side ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 15. Questions ? ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.