SlideShare una empresa de Scribd logo
1 de 46
Taller de Spring 3, BlazeDS 4 y
            Flex 4


          Iván Álvarez (@ivanhoe)
       Erick Camacho (@ecamacho)
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
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
Instalación del
            ambiente
  Existen 2 proyectos Maven:
• twitterds-solucion
• twitterds-lab
  en ambos: mvn eclipse:eclipse
  Cargar proyectos en Eclipse
La aplicación

    Cliente de Twitter
•   Backend Java + Spring
•   Frontend Adobe Flex
• 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.
• Los objetos son creados en el orden
  correcto basados en sus dependencias
• 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
• 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
• 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
• 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
• 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
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 );
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.
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
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
Flash Builder
LABORATORIO
¿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 qué AMF?




•   http://www.jamesward.com/census/
AMF Remote Services
Java Players


• Adobe LiveCycle ES -> $$
• Adobe BlazeDS -> opensource
• GraniteDS -> opensource
+



• Spring Factory: Un adapter más
• Spring BlazeDS: Integra el Message Broker
  Servlet de BlazeDS a Spring.
+

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


JVM

      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+


JVM
          BlazeDS
      Bean A     Bean B

           Bean C
               Application
                Context
+
     Laboratorio Spring BlazeDS

•Abrir web.xml, agregar configuración.
•Agregar anotaciones a Servicios
•Levantar aplicación web
•Probar con jconsole
+


Laboratorio Flex: Consumir servicios BlazeDS
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
Preguntas




    ¿?

Más contenido relacionado

Destacado

Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootCloudAppi
 
Representational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOASRepresentational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOASGuy K. Kloss
 
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die KeynotePlatforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die KeynoteApigee | Google Cloud
 
HATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API StyleHATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API StyleApigee | Google Cloud
 

Destacado (6)

Arquitectura REST
Arquitectura RESTArquitectura REST
Arquitectura REST
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring boot
 
Representational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOASRepresentational State Transfer (REST) and HATEOAS
Representational State Transfer (REST) and HATEOAS
 
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die KeynotePlatforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
Platforms, Cloud-Native Architectures, and APIs: Chicago Adapt or Die Keynote
 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second Edition
 
HATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API StyleHATEOAS 101 - Opinionated Introduction to a REST API Style
HATEOAS 101 - Opinionated Introduction to a REST API Style
 

Similar a Taller Spring3 + BlazeDS 4 + Flex 4

Spring BlazeDS Integration - Rumbo a Spring I/O
Spring BlazeDS Integration - Rumbo a Spring I/OSpring BlazeDS Integration - Rumbo a Spring I/O
Spring BlazeDS Integration - Rumbo a Spring I/OSergi Almar i Graupera
 
Spring on Flash Platform
Spring on Flash PlatformSpring on Flash Platform
Spring on Flash PlatformDaniel Ramos
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp UneMarcos Jara
 
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
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Frameworkexcedesoft
 
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
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.jsGDG Cali
 
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
 
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
 
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
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo 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
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
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
 

Similar a Taller Spring3 + BlazeDS 4 + Flex 4 (20)

Spring BlazeDS Integration - Rumbo a Spring I/O
Spring BlazeDS Integration - Rumbo a Spring I/OSpring BlazeDS Integration - Rumbo a Spring I/O
Spring BlazeDS Integration - Rumbo a Spring I/O
 
Spring on Flash Platform
Spring on Flash PlatformSpring on Flash Platform
Spring on Flash Platform
 
Taller spring flex
Taller spring flexTaller spring flex
Taller spring flex
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp Une
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
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
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
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
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.js
 
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
 
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
 
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
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo 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
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Backbeam
BackbeamBackbeam
Backbeam
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
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
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Taller Spring3 + BlazeDS 4 + Flex 4

  • 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.
  • 25.
  • 26.
  • 27.
  • 30. ¿Flex + Java? Cliente FLEX SOAP HTTP AMF WebServices WebServices RemoteServices JavaScript Bridge JEE Backend Página HTML
  • 31. ¿AMF ? • ActionScript Message Format • Flash Player 6: AMF 0 • Flash Player 9: AMF 3 • Especificación abierta desde 2007
  • 32. ¿Por qué AMF? • http://www.jamesward.com/census/
  • 34. Java Players • Adobe LiveCycle ES -> $$ • Adobe BlazeDS -> opensource • GraniteDS -> opensource
  • 35.
  • 36. + • Spring Factory: Un adapter más • Spring BlazeDS: Integra el Message Broker Servlet de BlazeDS a Spring.
  • 37. + • 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
  • 38. + JVM Bean A Bean B Bean C Application Context
  • 39. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 40. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 41. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 42. + JVM BlazeDS Bean A Bean B Bean C Application Context
  • 43. + Laboratorio Spring BlazeDS •Abrir web.xml, agregar configuración. •Agregar anotaciones a Servicios •Levantar aplicación web •Probar con jconsole
  • 44. + Laboratorio Flex: Consumir servicios BlazeDS
  • 45. 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
  • 46. Preguntas ¿?

Notas del editor

  1. Abrir archivo services-config.xml
  2. Abrir archivo web.xml y pruebas unitarias