SlideShare a Scribd company logo
1 of 43
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 Flex
• Integrando Spring Security
• Integrando con BlazeDS Message Service
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
                   Context
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A



                     Application
                      Context
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B



                     Application
                      Context
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B

                Bean C
                     Application
                      Context
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B

                Bean C
                     Application
                      Context
• Contenedor IoC (Inversión de Control)
  usando Inyección de Dependencias.
       JVM
            Bean A     Bean B

                Bean C
                     Application
                      Context
• 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
• 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
• 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
• 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
• 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
• 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
Application Context:
• Definición de Beans y sus dependencias
• Beans de infraestructura
• Definido en uno o más archivos .xml
Application Context:
• Instanciado mediante: new
  ClassPathXmlApplicationContext()
• Cargado mediante un Servlet Listener
• En Pruebas JUnit usando un Runner de
  Spring.
• 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
Integración empresarial:
• Las aplicaciones empresariales no funcionan
  en isolación. Requieren:
  • Database Connection Pools
  • Transacciones
  • Seguridad
  • Mensajería
Flash Platform
Flex, RIA
Flex + Java
                             Cliente FLEX




  SOAP           HTTP                AMF
WebServices    WebServices       RemoteServices   JavaScript Bridge




               JEE Backend                          Página HTML
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
• Integración con JMS
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 />
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
Exportando Beans
• Versión XML
      <flex:remoting-destination ref=”productService” />

• Versión Anotaciones
   • @RemotingDestination
   • @RemotingInclude
   • @RemotingExclude
DEMO
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>
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
   • JMS
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 protocolo de mensajería
DEMO
Referencias

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

•    http://tv.adobe.com/watch/max-2009-develop/
    integrating-spring-with-blazeds-and-livecycle-data-
    services/

More Related Content

Similar to Spring BlazeDS Integration - Rumbo a Spring I/O

Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineMario Cortés Flores
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexicoAmazon Web Services LATAM
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp UneMarcos Jara
 
AWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic BeanstalkAWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic BeanstalkMauro Parra-Miranda
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota MexicoHermann Pais
 
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y SwiftDesarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y SwiftSoftware Guru
 
SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift
SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift
SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift Carlos J. Brito Abundis
 
Microsoft Virtual Academy - Live Session - Xamarin con Azure Storage
Microsoft Virtual Academy - Live Session - Xamarin con Azure StorageMicrosoft Virtual Academy - Live Session - Xamarin con Azure Storage
Microsoft Virtual Academy - Live Session - Xamarin con Azure Storageenriqueaguilar
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.jsGDG Cali
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSAmazon Web Services LATAM
 
Mejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasMejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasAmazon Web Services LATAM
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresGuillermo Javier Bellmann
 
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructura
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructuraDevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructura
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructuraAlejandro García Miravet
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Fernando Redondo Ramírez
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 

Similar to Spring BlazeDS Integration - Rumbo a Spring I/O (20)

Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
Taller spring flex
Taller spring flexTaller spring flex
Taller spring flex
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp Une
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
AWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic BeanstalkAWS Summit Mexico City 2018 - Usando Elastic Beanstalk
AWS Summit Mexico City 2018 - Usando Elastic Beanstalk
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
 
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y SwiftDesarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
Desarrollando aplicaciones iOS con datos en tiempo real con Firebase y Swift
 
SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift
SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift
SG Desarrollando Aplicaciones iOS con Datos en Tiempo Real con Firebase y Swift
 
Microsoft Virtual Academy - Live Session - Xamarin con Azure Storage
Microsoft Virtual Academy - Live Session - Xamarin con Azure StorageMicrosoft Virtual Academy - Live Session - Xamarin con Azure Storage
Microsoft Virtual Academy - Live Session - Xamarin con Azure Storage
 
spring framework
spring frameworkspring framework
spring framework
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.js
 
Técnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWSTécnicas para implementación de Continuous Delivery en AWS
Técnicas para implementación de Continuous Delivery en AWS
 
Mejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasMejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernas
 
Introducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos AiresIntroducción a Azure App Service - MUG Buenos Aires
Introducción a Azure App Service - MUG Buenos Aires
 
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructura
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructuraDevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructura
DevOpsDays Madrid 2020 - Audita y evalua la seguridad de tu infraestructura
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 

Recently uploaded

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 

Recently uploaded (20)

La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 

Spring BlazeDS Integration - Rumbo a Spring I/O

  • 1. Spring BlazeDS Integration Sergi Almar i Graupera (@sergialmar) Iván Álvarez (@ivanhoe)
  • 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
  • 4.
  • 5. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM
  • 6. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Application Context
  • 7. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Application Context
  • 8. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Application Context
  • 9. • Contenedor IoC (Inversión de Control) usando Inyección de Dependencias. JVM Bean A Bean B Bean C 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. • 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
  • 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 C
  • 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. • 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
  • 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. • 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
  • 18. Application Context: • Definición de Beans y sus dependencias • Beans de infraestructura • Definido en uno o más archivos .xml
  • 19. Application Context: • Instanciado mediante: new ClassPathXmlApplicationContext() • Cargado mediante un Servlet Listener • En Pruebas JUnit usando un Runner de Spring.
  • 20. • 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
  • 21. Integración empresarial: • Las aplicaciones empresariales no funcionan en isolación. Requieren: • Database Connection Pools • Transacciones • Seguridad • Mensajería
  • 24. Flex + Java Cliente FLEX SOAP HTTP AMF WebServices WebServices RemoteServices JavaScript Bridge JEE Backend Página HTML
  • 25. AMF • ActionScript Message Format • Flash Player 6: AMF 0 • Flash Player 9: AMF 3 • Especificación abierta desde 2007
  • 28. Java • Adobe LiveCycle ES -> $$ • Adobe BlazeDS -> opensource • GraniteDS -> opensource
  • 30. + • Configuración vía el namespace flex • Configuración de servicios mediante anotaciones • Integración con Spring Security • Integración con JMS
  • 31. 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 />
  • 32. 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
  • 33. Exportando Beans • Versión XML <flex:remoting-destination ref=”productService” /> • Versión Anotaciones • @RemotingDestination • @RemotingInclude • @RemotingExclude
  • 34. DEMO
  • 35. 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>
  • 36. Spring Security • Securizando channels • Securizando Endpoints URL paths
  • 37. Spring Security • Securización de métodos siempre posible • XML • Anotaciones
  • 38. DEMO
  • 39. BlazeDS Message Service • Abstracción de comunicación de mensajería asíncrona • Mensajeria AMF nativa de BlazeDS • JMS
  • 40. BlazeDS Message Service • Abstracción de comunicación de mensajería asíncrona • Spring Integration
  • 41. BlazeDS Message Service • MessageTemplate para enviar mensajes a cualquier destino BlazeDS • Abstracción del protocolo de mensajería
  • 42. DEMO
  • 43. Referencias • http://www.springsource.org/spring-flex • http://tv.adobe.com/watch/max-2009-develop/ integrating-spring-with-blazeds-and-livecycle-data- services/

Editor's Notes