SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
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
 
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
 
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
 
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
 
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

Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalEmanuelCastro64
 
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
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfJoseAlejandroPerezBa
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskbydaniela5
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdflauralizcano0319
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888ElianaValencia28
 
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
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxhellendiaz12
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6SaraMineiropalacio
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaElizabethLpezSoto
 
_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
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024anasofiarodriguezcru
 

Último (18)

Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamental
 
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)
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888
 
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
 
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docxBLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
BLOG, EXCEL AVANZADO, MÉTODOS ESTADÍSTICOS..docx
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6tecno 2024.pdf sara mineiro palacio 10-6
tecno 2024.pdf sara mineiro palacio 10-6
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestría
 
_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
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024
 

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