Taller Spring3 + BlazeDS 4 + Flex 4
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Taller Spring3 + BlazeDS 4 + Flex 4

on

  • 3,610 views

Taller impartido el 20 de febrero de 2010 en Monterrey, México.

Taller impartido el 20 de febrero de 2010 en Monterrey, México.
Autores:
Ivan Alvarez (@ivanhoe)
Erick Camacho (@ecamacho)
para riaHispano

Statistics

Views

Total Views
3,610
Views on SlideShare
3,520
Embed Views
90

Actions

Likes
0
Downloads
88
Comments
0

3 Embeds 90

http://www.riahispano.org 44
http://www.slideshare.net 31
http://riahispano.org 15

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Abrir archivo services-config.xml
  • Abrir archivo web.xml y pruebas unitarias

Taller Spring3 + BlazeDS 4 + Flex 4 Presentation Transcript

  • 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 );
  • 20. Application Context: • Definición de Beans y sus dependencias • Beans de infraestructura • Definido en uno o más archivos .xml
  • 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
  • 24. Flash Builder
  • 25. LABORATORIO
  • 26. ¿Flex + Java? Cliente FLEX SOAP HTTP AMF WebServices WebServices RemoteServices JavaScript Bridge JEE Backend Página HTML
  • 27. ¿AMF ? • ActionScript Message Format • Flash Player 6: AMF 0 • Flash Player 9: AMF 3 • Especificación abierta desde 2007
  • 28. ¿Por qué AMF? • http://www.jamesward.com/census/
  • 29. AMF Remote Services
  • 30. Java Players • Adobe LiveCycle ES -> $$ • Adobe BlazeDS -> opensource • GraniteDS -> opensource
  • 31. + • Spring Factory: Un adapter más • Spring BlazeDS: Integra el Message Broker Servlet de BlazeDS a Spring.
  • 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. + JVM Bean A Bean B Bean C Application Context
  • 34. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 35. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 36. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 37. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 38. + Laboratorio Spring BlazeDS •Abrir web.xml, agregar configuración. •Agregar anotaciones a Servicios •Levantar aplicación web •Probar con jconsole
  • 39. + Laboratorio Flex: Consumir servicios BlazeDS
  • 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. Preguntas ¿?