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
Próxima SlideShare
Cargando en…5
×

Spring BlazeDS Integration - Rumbo a Spring I/O

2.518 visualizaciones

Publicado el

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

Publicado en: Tecnología
0 comentarios
3 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
2.518
En SlideShare
0
De insertados
0
Número de insertados
155
Acciones
Compartido
0
Descargas
80
Comentarios
0
Recomendaciones
3
Insertados 0
No insertados

No hay notas en la diapositiva.










































  • 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/

    ×