Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Spring BlazeDS
   Integration
Sergi Almar i Graupera (@sergialmar)
       Iván Álvarez (@ivanhoe)
Agenda
• Introducció a Spring
• Introducción a Flex + BlazeDS
• Spring BlazeDS Integration
• Exportando Spring beans a Fle...
Spring Framework
• 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.
• Constructor o setter injection
• Los objetos son...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Constructor o setter injection
• Los objetos son...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Constructor o setter injection
• Los objetos son...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Constructor o setter injection
• Los objetos son...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Constructor o setter injection
• Los objetos son...
• Spring se encarga de crear los objetos e
  inyectar sus dependencias.
• Constructor o setter injection
• Los objetos son...
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...
• Spring utiliza extensivamente AOP para
  añadir funcionalidad a nuestra aplicación
• Permite modularizar los comportamie...
Integración empresarial:
• Las aplicaciones empresariales no funcionan
  en isolación. Requieren:
  • Database Connection ...
Flash Platform
Flex, RIA
Flex + Java
                             Cliente FLEX




  SOAP           HTTP                AMF
WebServices    WebServi...
AMF

• ActionScript Message Format
• Flash Player 6: AMF 0
• Flash Player 9: AMF 3
• Especificación abierta desde 2007
Por que AMF?
AMF Remote Services
Java

• Adobe LiveCycle ES -> $$
• Adobe BlazeDS -> opensource
• GraniteDS -> opensource
BlazeDS
+
• Configuración vía el namespace flex
• Configuración de servicios mediante
  anotaciones
• Integración con Spring Security...
MessageBroker
• Corazón de Spring BlazeDS Integration
• Tipicamente configurado como servlet en
  web.xml
• Ahora configurad...
Exportando Beans
• Spring intenta realizar todo de manera
  declarativa
• En Spring Remoting tenemos Exporters para
  expo...
Exportando Beans
• Versión XML
      <flex:remoting-destination ref=”productService” />

• Versión Anotaciones
   • @Remoti...
DEMO
Spring Security

• Integración con Spring Security 2 y 3
• Configuración típica de Spring Security sin
  securización de UR...
Spring Security

• Securizando channels


• Securizando Endpoints URL paths
Spring Security
• Securización de métodos siempre posible
 • XML

 • Anotaciones
DEMO
BlazeDS Message Service
• Abstracción de comunicación de
  mensajería asíncrona
   • Mensajeria AMF nativa de BlazeDS
   •...
BlazeDS Message Service

• Abstracción de comunicación de
  mensajería asíncrona
   • Spring Integration
BlazeDS Message Service
  • MessageTemplate para enviar mensajes a
    cualquier destino BlazeDS
  • Abstracción del proto...
DEMO
Referencias

•   http://www.springsource.org/spring-flex

•    http://tv.adobe.com/watch/max-2009-develop/
    integrating-...
Spring BlazeDS Integration - Rumbo a Spring I/O
Upcoming SlideShare
Loading in …5
×

Spring BlazeDS Integration - Rumbo a Spring I/O

2,573 views

Published on

Primer webinar de Rumbo a Spring I/O. Integrando Spring con Flex con Spring BlazeDS Integration

Published in: Technology
  • Be the first to comment

Spring BlazeDS Integration - Rumbo a Spring I/O

  1. 1. Spring BlazeDS Integration Sergi Almar i Graupera (@sergialmar) Iván Álvarez (@ivanhoe)
  2. 2. Agenda • Introducció a Spring • Introducción a Flex + BlazeDS • Spring BlazeDS Integration • Exportando Spring beans a Flex • Integrando Spring Security • Integrando con BlazeDS Message Service
  3. 3. Spring Framework
  4. 4. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM
  5. 5. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Application Context
  6. 6. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Application Context
  7. 7. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Application Context
  8. 8. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Bean C Application Context
  9. 9. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Bean C 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. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Constructor o setter injection • Los objetos son creados en el orden correcto basados en sus dependencias
  12. 12. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Constructor o setter injection • Los objetos son creados en el orden correcto basados en sus dependencias Bean C
  13. 13. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Constructor o setter injection • Los objetos son creados en el orden correcto basados en sus dependencias Bean B Bean C
  14. 14. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Constructor o setter injection • Los objetos son creados en el orden correcto basados en sus dependencias Bean B Bean C
  15. 15. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Constructor o setter injection • Los objetos son creados en el orden correcto basados en sus dependencias Bean A Bean B Bean C
  16. 16. • Spring se encarga de crear los objetos e inyectar sus dependencias. • Constructor o setter injection • Los objetos son creados en el orden correcto basados en sus dependencias Bean A Bean B Bean C
  17. 17. Application Context: • Definición de Beans y sus dependencias • Beans de infraestructura • Definido en uno o más archivos .xml
  18. 18. Application Context: • Instanciado mediante: new ClassPathXmlApplicationContext() • Cargado mediante un Servlet Listener • En Pruebas JUnit usando un Runner de Spring.
  19. 19. • Spring utiliza extensivamente AOP para añadir funcionalidad a nuestra aplicación • Permite modularizar los comportamientos comunes (seguridad, gestión de errores...) • Spring AOP genera proxys dinámicos o delega a CGLIB
  20. 20. Integración empresarial: • Las aplicaciones empresariales no funcionan en isolación. Requieren: • Database Connection Pools • Transacciones • Seguridad • Mensajería
  21. 21. Flash Platform
  22. 22. Flex, RIA
  23. 23. Flex + Java Cliente FLEX SOAP HTTP AMF WebServices WebServices RemoteServices JavaScript Bridge JEE Backend Página HTML
  24. 24. AMF • ActionScript Message Format • Flash Player 6: AMF 0 • Flash Player 9: AMF 3 • Especificación abierta desde 2007
  25. 25. Por que AMF?
  26. 26. AMF Remote Services
  27. 27. Java • Adobe LiveCycle ES -> $$ • Adobe BlazeDS -> opensource • GraniteDS -> opensource
  28. 28. BlazeDS
  29. 29. + • Configuración vía el namespace flex • Configuración de servicios mediante anotaciones • Integración con Spring Security • Integración con JMS
  30. 30. MessageBroker • Corazón de Spring BlazeDS Integration • Tipicamente configurado como servlet en web.xml • Ahora configurado como un spring managed bean aprovechando el DispatcherServlet <flex:messageBroker />
  31. 31. Exportando Beans • Spring intenta realizar todo de manera declarativa • En Spring Remoting tenemos Exporters para exportar a RMI, HttpInvoker, Hessian... • Para exportar Spring beans a Flex también lo haremos de manera declarativa
  32. 32. Exportando Beans • Versión XML <flex:remoting-destination ref=”productService” /> • Versión Anotaciones • @RemotingDestination • @RemotingInclude • @RemotingExclude
  33. 33. DEMO
  34. 34. Spring Security • Integración con Spring Security 2 y 3 • Configuración típica de Spring Security sin securización de URLs • Se instala automaticamente un LoginCommand <flex:message-broker> <flex:secured /> </flex:message-broker>
  35. 35. Spring Security • Securizando channels • Securizando Endpoints URL paths
  36. 36. Spring Security • Securización de métodos siempre posible • XML • Anotaciones
  37. 37. DEMO
  38. 38. BlazeDS Message Service • Abstracción de comunicación de mensajería asíncrona • Mensajeria AMF nativa de BlazeDS • JMS
  39. 39. BlazeDS Message Service • Abstracción de comunicación de mensajería asíncrona • Spring Integration
  40. 40. BlazeDS Message Service • MessageTemplate para enviar mensajes a cualquier destino BlazeDS • Abstracción del protocolo de mensajería
  41. 41. DEMO
  42. 42. Referencias • http://www.springsource.org/spring-flex • http://tv.adobe.com/watch/max-2009-develop/ integrating-spring-with-blazeds-and-livecycle-data- services/

×