1. Taller de Spring 3, BlazeDS 4 y
Flex 4
Iván Álvarez (@ivanhoe)
Erick Camacho (@ecamacho)
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. 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. Instalación del
ambiente
Existen 2 proyectos Maven:
• twitterds-solucion
• twitterds-lab
en ambos: mvn eclipse:eclipse
Cargar proyectos en Eclipse
5. La aplicación
Cliente de Twitter
• Backend Java + Spring
• Frontend Adobe Flex
6. • Contenedor IoC (Inversión de Control)
usando Inyección de Dependencias.
JVM
7. • Contenedor IoC (Inversión de Control)
usando Inyección de Dependencias.
JVM
Application
Context
8. • Contenedor IoC (Inversión de Control)
usando Inyección de Dependencias.
JVM
Bean A
Application
Context
9. • Contenedor IoC (Inversión de Control)
usando Inyección de Dependencias.
JVM
Bean A Bean B
Application
Context
10. • Contenedor IoC (Inversión de Control)
usando Inyección de Dependencias.
JVM
Bean A Bean B
Bean C
Application
Context
11. • Contenedor IoC (Inversión de Control)
usando Inyección de Dependencias.
JVM
Bean A Bean B
Bean C
Application
Context
12. • Contenedor IoC (Inversión de Control)
usando Inyección de Dependencias.
JVM
Bean A Bean B
Bean C
Application
Context
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. • 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. • 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. • 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. • 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. • 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. 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 );
21. Application Context:
• Instanciado mediante: new
ClassPathXmlApplicationContext()
• Cargado mediante un Servlet Listener
• En Pruebas JUnit usando un Runner de
Spring.
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. 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
36. +
• Spring Factory: Un adapter más
• Spring BlazeDS: Integra el Message Broker
Servlet de BlazeDS a Spring.
37. +
• 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
38. +
JVM
Bean A Bean B
Bean C
Application
Context
39. +
JVM
BlazeDS
Bean A Bean B
Bean C
Application
Context
40. +
JVM
BlazeDS
Bean A Bean B
Bean C
Application
Context
41. +
JVM
BlazeDS
Bean A Bean B
Bean C
Application
Context
42. +
JVM
BlazeDS
Bean A Bean B
Bean C
Application
Context
43. +
Laboratorio Spring BlazeDS
•Abrir web.xml, agregar configuración.
•Agregar anotaciones a Servicios
•Levantar aplicación web
•Probar con jconsole