SlideShare una empresa de Scribd logo
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/

Más contenido relacionado

Similar a 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
 
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
 
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
 
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 a 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
 
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
 
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
 
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
 

Último

Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesPABLOCESARGARZONBENI
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxJohanna4222
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.sofiasonder
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadaspqeilyn0827
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiegoCampos433849
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusraquelariza02
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfManuelCampos464987
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respetocdraco
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 

Último (20)

Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 

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/

Notas del editor