0
Taller de Spring 3, BlazeDS 4 y
            Flex 4


          Iván Álvarez (@ivanhoe)
       Erick Camacho (@ecamacho)
Agenda
•   Instalación del ambiente

•   La aplicación

•   Introducción a Spring

•   Introducción a Flex

•   Introducci...
Instalación del
             ambiente
• Eclipse -> Descomprimir
• Flash builder plugin -> Instalar
• Repositorio local mav...
Instalación del
            ambiente
  Existen 2 proyectos Maven:
• twitterds-solucion
• twitterds-lab
  en ambos: mvn ecl...
La aplicación

  Cliente de Twitter
• Backend Java + Spring
• Frontend Adobe Flex
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM




                  Application
 ...
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A



             ...
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B



  ...
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B

    ...
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B

    ...
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B

    ...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Los objetos son creados en el orden
  correcto b...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Los objetos son creados en el orden
  correcto b...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Los objetos son creados en el orden
  correcto b...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Los objetos son creados en el orden
  correcto b...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Los objetos son creados en el orden
  correcto b...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Los objetos son creados en el orden
  correcto b...
La inyección se realiza vía constructor:

•   BeanC beanC = new BeanC();

•   BeanB beanB = new BeanB( beanC );
    O vía ...
Application Context:
• Definición de Beans y sus dependencias
• Beans de infraestructura
• Definido en uno o más archivos .x...
Application Context:
• Instanciado mediante: new
  ClassPathXmlApplicationContext()
• Cargado mediante un Servlet Listener...
LABORATORIO 1:
1. Completar el código de
TwitterSendMessageServiceImpl.
2. Cargar el servicio como un Spring Bean
(service...
LABORATORIO 1:
4. Comprueba que todo funcione:
mvn install -o
5. Levanta jetty:
mvn jetty:run -o
6. Aplicación en
http://l...
Flash Builder
LABORATORIO
¿Flex + Java?
                            Cliente FLEX




  SOAP          HTTP                AMF
WebServices   WebServic...
¿AMF ?
• ActionScript Message Format
• Flash Player 6: AMF 0
• Flash Player 9: AMF 3
• Especificación abierta desde 2007
¿Por qué AMF?




•   http://www.jamesward.com/census/
AMF Remote Services
Java Players


• Adobe LiveCycle ES -> $$
• Adobe BlazeDS -> opensource
• GraniteDS -> opensource
+



• Spring Factory: Un adapter más
• Spring BlazeDS: Integra el Message Broker
  Servlet de BlazeDS a Spring.
+

• Configuración en un application context vía
  el namespace flex
• Configuración de servicios mediante
  anotaciones
• In...
+


JVM

      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+
     Laboratorio Spring BlazeDS

•Abrir web.xml, agregar configuración.
•Agregar anotaciones a Servicios
•Levantar aplica...
+


Laboratorio Flex: Consumir servicios BlazeDS
Links
•   BlazeDS: http://opensource.adobe.com/wiki/display/
    blazeds/BlazeDS/

•   Spring BlazeDS: http://www.springso...
Preguntas




    ¿?
SpringBlazeDS
SpringBlazeDS
SpringBlazeDS
SpringBlazeDS
SpringBlazeDS
Upcoming SlideShare
Loading in...5
×

SpringBlazeDS

619

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
619
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

















  • Abrir archivo services-config.xml
  • Abrir archivo web.xml y pruebas unitarias
























  • Transcript of "SpringBlazeDS"

    1. 1. Taller de Spring 3, BlazeDS 4 y Flex 4 Iván Álvarez (@ivanhoe) Erick Camacho (@ecamacho)
    2. 2. Agenda • Instalación del ambiente • La aplicación • Introducción a Spring • Introducción a Flex • Introducción a DataServices • Comunicación Spring + Flex • Preguntas
    3. 3. Instalación del ambiente • Eclipse -> Descomprimir • Flash builder plugin -> Instalar • Repositorio local maven • Ejecutar script de ambiente: Mac OS/X / Linux -> shell> . ./ambiente.sh Windows -> command> ambiente.bat
    4. 4. Instalación del ambiente Existen 2 proyectos Maven: • twitterds-solucion • twitterds-lab en ambos: mvn eclipse:eclipse Cargar proyectos en Eclipse
    5. 5. La aplicación Cliente de Twitter • Backend Java + Spring • Frontend Adobe Flex
    6. 6. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM
    7. 7. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Application Context
    8. 8. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Application Context
    9. 9. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Application Context
    10. 10. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Bean C Application Context
    11. 11. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Bean C Application Context
    12. 12. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Bean C Application Context
    13. 13. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Los objetos son creados en el orden correcto basados en sus dependencias
    14. 14. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Los objetos son creados en el orden correcto basados en sus dependencias Bean C
    15. 15. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Los objetos son creados en el orden correcto basados en sus dependencias Bean B Bean C
    16. 16. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Los objetos son creados en el orden correcto basados en sus dependencias Bean B Bean C
    17. 17. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Los objetos son creados en el orden correcto basados en sus dependencias Bean A Bean B Bean C
    18. 18. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Los objetos son creados en el orden correcto basados en sus dependencias Bean A Bean B Bean C
    19. 19. La inyección se realiza vía constructor: • BeanC beanC = new BeanC(); • BeanB beanB = new BeanB( beanC ); O vía Setter: • BeanC beanc = new BeanC(); • BeanB beanB = new BeanB( ); • beanB.setBeanC( beanC );
    20. 20. Application Context: • Definición de Beans y sus dependencias • Beans de infraestructura • Definido en uno o más archivos .xml
    21. 21. Application Context: • Instanciado mediante: new ClassPathXmlApplicationContext() • Cargado mediante un Servlet Listener • En Pruebas JUnit usando un Runner de Spring.
    22. 22. LABORATORIO 1: 1. Completar el código de TwitterSendMessageServiceImpl. 2. Cargar el servicio como un Spring Bean (services.xml) y descomenta la declaración de JMS en jms-config.xml 3. Completar la prueba de integración y ejecutarla
    23. 23. LABORATORIO 1: 4. Comprueba que todo funcione: mvn install -o 5. Levanta jetty: mvn jetty:run -o 6. Aplicación en http://localhost:9090/twitterds-lab-webapp
    24. 24. Flash Builder
    25. 25. LABORATORIO
    26. 26. ¿Flex + Java? Cliente FLEX SOAP HTTP AMF WebServices WebServices RemoteServices JavaScript Bridge JEE Backend Página HTML
    27. 27. ¿AMF ? • ActionScript Message Format • Flash Player 6: AMF 0 • Flash Player 9: AMF 3 • Especificación abierta desde 2007
    28. 28. ¿Por qué AMF? • http://www.jamesward.com/census/
    29. 29. AMF Remote Services
    30. 30. Java Players • Adobe LiveCycle ES -> $$ • Adobe BlazeDS -> opensource • GraniteDS -> opensource
    31. 31. + • Spring Factory: Un adapter más • Spring BlazeDS: Integra el Message Broker Servlet de BlazeDS a Spring.
    32. 32. + • Configuración en un application context vía el namespace flex • Configuración de servicios mediante anotaciones • Integración con Spring Security • Integración con JMS
    33. 33. + JVM Bean A Bean B Bean C Application Context
    34. 34. + JVM BlazeDS Bean A Bean B Bean C Application Context
    35. 35. + JVM BlazeDS Bean A Bean B Bean C Application Context
    36. 36. + JVM BlazeDS Bean A Bean B Bean C Application Context
    37. 37. + JVM BlazeDS Bean A Bean B Bean C Application Context
    38. 38. + Laboratorio Spring BlazeDS •Abrir web.xml, agregar configuración. •Agregar anotaciones a Servicios •Levantar aplicación web •Probar con jconsole
    39. 39. + Laboratorio Flex: Consumir servicios BlazeDS
    40. 40. Links • BlazeDS: http://opensource.adobe.com/wiki/display/ blazeds/BlazeDS/ • Spring BlazeDS: http://www.springsource.org/spring- flex • RIAHispano: http://www.riahispano.org • LiveData UG Mexico http://groups.adobe.com/ groups/f2f48b1925/summary • Jeremy Grelle: @jeremyg484 • http://flexblog.faratasystems.com/2006/11/12/ comparing-the-syntax-of-java-5-and-actionscript-3
    41. 41. Preguntas ¿?
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×