SpringBlazeDS

782 views

Published on

  • Be the first to comment

  • Be the first to like this

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 ¿?

×