SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Incrementando la usabilidad y la interactividad con el usuario
¿Qué es flex?
Plataforma de desarrollo de Adobe
especializada en la creación de
aplicaciones ricas basadas en su
motor flash.
Usa un estilo de código por un lado
usado xml y etiquetas igual que html
(denominados archivos MXML) y por
otro lado el uso de ActionScript       Depende de
similar a java que ya venia usándose
en productos flash.
Flex y Flash
Flex y flash generan el mismo
contenido en esencia:
       El motor de flash detecta por
        igual:
         Cuando se usa flex 3
         Cuando se usa flash CS3
         Cuando combinas ambas
          tecnologias.
Combinando el talento de flash y la
metodolofia de flex se puede crear :
     La mejor experiencia visual y
      usabilidad.
     Integracion de funcionalidad y
      data de negocio.
     Usar “arte” flash dentro de
      aplicaciones flex.
     Comunicación entre aplicaciones
      hechas en flash con flex.
Plataforma Flex versión 3
   Flex SDK 3 (FREE)                                    Flex Builder 3
    MXML and ActionScript 3.0                       Visual Layout

    Flex Framework and Class Library                Code Hinting
    Command-line Compiler & Debugger
                                                    Debugging

   Flex                                             Skinning and Styling
                   Extensible Charting Components
   Charting

   Flex Data Services 3

    Message Service

    Data Management Service

    RPC Services
Como funciona flex
     MXML y ActionScript   Componentes flex
Como funciona flex
 Flex Builder IDE                            Browser
                                          Flash Player
     Flex SDK
 MXML      ActionScript
                                              .swf
  Flex Class Library
                                  Data                       Data


                                          Web Server
      Compilar

                             XML/HTTP                Flex Data Services 2
                               REST
                          SOAP Web Services
                                                 J2EE Application Server
        .swf
                             Aplicaciones e infraestructura existente
Flex Builder 3
Es un IDE basado en eclipse para
desarrollar aplicaciones basadas en
flex sdk, flash player 9, actionscript
3, livecycle DataServices y flex
charting.
Actualmente se encuentra
disponible para windows, mac OS X
y linux.
Puedes instalar el flex builder o un
plugin para un entorno de eclipse ya
existente.
IShares




          http://exploringetfs.com/
Google Financial




      http://www.brightpointinc.com/Gallery/GoogleFinance.asp
Degrafa Map demo




  http://www.degrafa.org/source/DegrafaMapSample/DegrafaMapDemo.html
Ilog Elixir demo : Organization Chart




   http://visudemos.ilog.com/webdemos/orgchart/orgchart.html
Empresas que ofrecen consultoria en flex
Librerias Flex




  BirdEye
Frameworks Flex

              • Usa patron mvc
  Cairgormn   • Uso de commands y eventos
              • Framework oficial de Adobe

              • Orientado plenamente a eventos
              • “Inyecta” las referencias a la GUI

              • Usa patron mvc con 5 capas.
              • Usado para varios lenguajes no solo
                AS3
Tipos de comunicación con flex
Incrustar parametros (FlashVars) directamente en el HTML que
carga el SWF


     HTTPService: Usado para carga de data desde una URL sobre
     HTTP. Mayormente usado para carga de archivos y de
     servicios web REST.


           WebService : Clase que usa un WSDL para la llamada de
           metodos remotos.


                RemoteObject : Usado para llamadas flash remoting. Similar a
                los webservices pero la comunicación es sobre el protocolo
                AMF3 (mas compacto y rapido para parsear data xml).


                      Flex Distributed Messaging : Incluido solo en LiveCyle para uso
                      de mensajeria (JMS)
Usando Spring
Para los ejemplos practicos         Apache CXF
usaremos solo 2 de los 5 tipos de
comunicación :


• Servicios web : Usando el
framework Apache CXF (basado en
Xfire).
•Remote Object : Usando BlazeDS
Sobre el uso de WebServices en Flex
• La clase WebService permite
controlar tanto el resultado como el
error al momento de llamar a un
metodo de un servicio web.
•Los parametros son definidos en un
Array al momento de enviarlos al
metodo.
•Si el servicio web no se encuentra
en el mismo dominio de la aplicación
web (colgada previamente en un
servidor) no podra conectarse. Para
eso es necesario el uso del archivo
crossdomain.xml en el root del
dominio del servicio web.
Ejemplo de un crossdomain.xml
Software a usar
Para nuestra demo usaremos

•Apache CXF 2.2.1 ( es uno de los mas
usados en java junto con Axis, tiene
como predecesor a Xfire).
•JDK 1.5
•FlexBuilder 3
•Eclipse 3.4
•Spring 2.0 (incluido en las librerias de
CXF)
•Tomcat 6.0

Esta demo mostrara un hola mundo
con nuestro nombre enviado como
parametro
Integrando CXF con Spring
Para integrar CXF con spring
necesitamos :


•Las dependencias usadas por CXF.
Son aproximadamente 25 jars
•Escribir nuestros servicios usando
Anotaciones ( necesario java 1.5).
•Declarar dichos servicios como
beans en spring.
•Declarar el servlet de CXF usado
para la creacion y publicacion del
WSDL a partir del codigo java.
Desarrollando los servicios en Flex
Para la parte Flex se desarrollara :

• Crear nuestro proyecto y editar el
archivo mxml por defecto.
•Crear un panel y una caja de texto y
un boton para realizar la llamada.
•Crear una instancia de la clase
WebService que llame a nuestro
metodo creado en el servicio java.
•Crear el metodo que recibira el
resultado en el caso de éxito.
Poniendo todo en marcha!
Sobre el uso de RemoteObjects en Flex
•Transmite y recibe data binaria por    •Los servicios que ofrecen soporte a
medio del protocolo AMF (Action         AMF son
Message Format) , propietario de
Adobe liberado recientemente.               • Adobe LiveCycle Data
•Este protocolo permite eliminar la
                                                Services (version de
necesidad de parsear informacion                pago)
XML transformando los objetos               •   Blaze Data Services
directamente a objetos AS.                      (version libre)
•El protocolo AMF es mas rapido y
                                            •   Adobe ColdFusion
tiene mejor rendimiento que usar
HTTP y webservices.                         •   AMFPHP
•Para obtener la direccion del punto        •   SabreAMF
de acceso para el servidor , la clase
remoteobject usa canales en este
                                            •   Midnight Coders
caso un canal AMFChannel.                       WebORB (para .Net)
Que es Blaze DS ?
Es un set de servicios que ofrece
conectividad a protocolos AMF3.
BlazeDS provee los siguientes
servicios:
     • Remoting Service (uso de
      objetos remotos)
    • Message Service. (uso de
      mensajeria tipo JMS)
    • Proxy Service. (permite
      acceder a servicios que se
      encuentran en distintos
      dominios sin usar
      crossdomain.xml)
Como integramos BlazeDS con Spring?
Como veiamos, si Blaze puede
acceder a objetos remotos, y Spring
Beans puede generar objetos java,
no seria listo para usar los objetos
spring como objetos remotos? Claro
la idea es esa pero es necesario
configuracion de por medio.
 Por defecto los objetos accedidos
por Flex son objetos remotos
creados por BlazeDS .
La clave de usar la integracion es de
dejar que Spring se encarge de
instanciar los objetos y que BlazeDS
solo se encarge de publicarlos.
                                        Ejemplo de una arquitectura
                                        usando BlazeDS , Flex y Spring
Software a usar
Para nuestra demo usaremos

•Blaze DS (WAR con librerias y achivos
necesarios)
•JDK 1.5
•FlexBuilder 3
•Eclipse 3.4
•Tomcat 6.0
•Spring 2.5 (spring.jar y spring-
webmvc.)
•Flex-Spring Integration ( 1.0.0M2)

Esta demo se mostrara una lista de
alumnos y el profesor encargado para
una clase.
Integrando BlazeDS con Spring
Para integrar BlazeDS con spring
necesitamos hacer:


•Crear los archivos remoting-
config.xml y services-config.xml (por
defecto creadas en el war de Blaze)
•Crearemos 2 archivos xml
(appContext y webAppContext) para
manejar los beans de spring y blaze.
•Registrar los beans en dichos
archivos.                               Los servicios java son instanciados en
•Modificar el web.xml para que          appContext.xml para luego ser
                                        publicados por WebAppContext.xml
responda a las peticiones de spring.
Integrando BlazeDS con Spring
Luego de crear los archivos de
configuracion creamos 3 clases : una
que nos devolvera los alumnos y el
profesor designado y las otros 2
seran las clases Profesor y Alumno.


Como ven en la figura, los archivos
que se encuentran en la carpeta flex
estan relacionado a cada tipo de
servicio : messaging, proxy ,
remoting y services ; este ultimo se
encarga de manejar los 3 anteriores.
El resultado ?
Cuales son las ventajas de usar spring con flex?
Entre las principales ventajas
tenemos :
•Usar la arquitectura que nos ofrece
Spring y sus framework relacionados
para crear soluciones ricas ,
escalables y solidas.
•Ofrecer al usuario una experiencia
nueva en terminos de usabilidad,
flexibilidad e interaccion.
•Ofrecer una solucion completa y al
mismo tiempo modularizable para
ser integrado con otros sistemas.
•Transparencia al momento de
publicar nuestros servicios para flex.
Referencias
Libros:
•Flex in Action (2009)
•The Essential Guide for Flex 3 (2008)
•A Beginner´s guide Flex 3 (2008)


Links
•http://blog.flexexamples.com/
•http://merhl.com/
•http://ntt.cc/
•http://www.dehats.com/drupal/
•http://coenraets.org/blog/


Mi blog
•http://blog.govisualperu.com/


Twitter :
@govisualperu (RIA, Ajax, Flex, Grails, etc)


Consultoria? Desarrollo? Cursos Flex, AIR , RIA?
http://govisualperu.com/
Integrando Flex  Y Spring

Weitere ähnliche Inhalte

Was ist angesagt?

Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NETwilliamsm
 
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006Álvaro Ortiz
 
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)Domingo Suarez Torres
 
Introducción ASP .NET
Introducción ASP .NET Introducción ASP .NET
Introducción ASP .NET Universidad
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajaxjuliocasal
 
Revista servidores web
Revista servidores webRevista servidores web
Revista servidores weblilavaldez
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjectsmamcx
 
Trabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NETTrabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NETJavier Roig
 

Was ist angesagt? (17)

Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
LaCoctelera.com y The Shaker - Conferencia Rails Hispana 2006
 
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
SG 09 Patrones de Integración Empresarial Apache Camel (Draft)
 
20001215 Programación de Servlets y WML
20001215   Programación de Servlets y WML20001215   Programación de Servlets y WML
20001215 Programación de Servlets y WML
 
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
[Code Camp 2009] Aplicaciones de tiempo real con Silverlight y ASP.NET - COME...
 
Asp.net
Asp.netAsp.net
Asp.net
 
Pdfwebservices
PdfwebservicesPdfwebservices
Pdfwebservices
 
Introducción ASP .NET
Introducción ASP .NET Introducción ASP .NET
Introducción ASP .NET
 
Web service
Web serviceWeb service
Web service
 
Web Services
Web ServicesWeb Services
Web Services
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
 
20001020 Programación ASP y WML
20001020 Programación ASP y WML20001020 Programación ASP y WML
20001020 Programación ASP y WML
 
Revista servidores web
Revista servidores webRevista servidores web
Revista servidores web
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Trabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NETTrabajar con bases de datos desde ASP.NET
Trabajar con bases de datos desde ASP.NET
 

Ähnlich wie Integrando Flex Y Spring

Ähnlich wie Integrando Flex Y Spring (20)

Flex mobile
Flex mobileFlex mobile
Flex mobile
 
Flex mobile
Flex mobileFlex mobile
Flex mobile
 
Flex mobile
Flex mobileFlex mobile
Flex mobile
 
Adobe flex
Adobe flexAdobe flex
Adobe flex
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 
Mc silverlight2 dia1
Mc silverlight2 dia1Mc silverlight2 dia1
Mc silverlight2 dia1
 
Clase Introducción a AS3
Clase Introducción a AS3Clase Introducción a AS3
Clase Introducción a AS3
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot blogger
 
Andre.paola9
Andre.paola9Andre.paola9
Andre.paola9
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Programacion
ProgramacionProgramacion
Programacion
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
Charla internet
Charla internetCharla internet
Charla internet
 
Plataforma net
Plataforma netPlataforma net
Plataforma net
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 

Kürzlich hochgeladen

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Kürzlich hochgeladen (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Integrando Flex Y Spring

  • 1. Incrementando la usabilidad y la interactividad con el usuario
  • 2.
  • 3. ¿Qué es flex? Plataforma de desarrollo de Adobe especializada en la creación de aplicaciones ricas basadas en su motor flash. Usa un estilo de código por un lado usado xml y etiquetas igual que html (denominados archivos MXML) y por otro lado el uso de ActionScript Depende de similar a java que ya venia usándose en productos flash.
  • 4. Flex y Flash Flex y flash generan el mismo contenido en esencia:  El motor de flash detecta por igual:  Cuando se usa flex 3  Cuando se usa flash CS3  Cuando combinas ambas tecnologias. Combinando el talento de flash y la metodolofia de flex se puede crear :  La mejor experiencia visual y usabilidad.  Integracion de funcionalidad y data de negocio.  Usar “arte” flash dentro de aplicaciones flex.  Comunicación entre aplicaciones hechas en flash con flex.
  • 5. Plataforma Flex versión 3 Flex SDK 3 (FREE) Flex Builder 3 MXML and ActionScript 3.0 Visual Layout Flex Framework and Class Library Code Hinting Command-line Compiler & Debugger Debugging Flex Skinning and Styling Extensible Charting Components Charting Flex Data Services 3 Message Service Data Management Service RPC Services
  • 6. Como funciona flex MXML y ActionScript Componentes flex
  • 7. Como funciona flex Flex Builder IDE Browser Flash Player Flex SDK MXML ActionScript .swf Flex Class Library Data Data Web Server Compilar XML/HTTP Flex Data Services 2 REST SOAP Web Services J2EE Application Server .swf Aplicaciones e infraestructura existente
  • 8. Flex Builder 3 Es un IDE basado en eclipse para desarrollar aplicaciones basadas en flex sdk, flash player 9, actionscript 3, livecycle DataServices y flex charting. Actualmente se encuentra disponible para windows, mac OS X y linux. Puedes instalar el flex builder o un plugin para un entorno de eclipse ya existente.
  • 9.
  • 10. IShares http://exploringetfs.com/
  • 11. Google Financial http://www.brightpointinc.com/Gallery/GoogleFinance.asp
  • 12. Degrafa Map demo http://www.degrafa.org/source/DegrafaMapSample/DegrafaMapDemo.html
  • 13. Ilog Elixir demo : Organization Chart http://visudemos.ilog.com/webdemos/orgchart/orgchart.html
  • 14. Empresas que ofrecen consultoria en flex
  • 15. Librerias Flex BirdEye
  • 16. Frameworks Flex • Usa patron mvc Cairgormn • Uso de commands y eventos • Framework oficial de Adobe • Orientado plenamente a eventos • “Inyecta” las referencias a la GUI • Usa patron mvc con 5 capas. • Usado para varios lenguajes no solo AS3
  • 17.
  • 18. Tipos de comunicación con flex Incrustar parametros (FlashVars) directamente en el HTML que carga el SWF HTTPService: Usado para carga de data desde una URL sobre HTTP. Mayormente usado para carga de archivos y de servicios web REST. WebService : Clase que usa un WSDL para la llamada de metodos remotos. RemoteObject : Usado para llamadas flash remoting. Similar a los webservices pero la comunicación es sobre el protocolo AMF3 (mas compacto y rapido para parsear data xml). Flex Distributed Messaging : Incluido solo en LiveCyle para uso de mensajeria (JMS)
  • 19. Usando Spring Para los ejemplos practicos Apache CXF usaremos solo 2 de los 5 tipos de comunicación : • Servicios web : Usando el framework Apache CXF (basado en Xfire). •Remote Object : Usando BlazeDS
  • 20.
  • 21. Sobre el uso de WebServices en Flex • La clase WebService permite controlar tanto el resultado como el error al momento de llamar a un metodo de un servicio web. •Los parametros son definidos en un Array al momento de enviarlos al metodo. •Si el servicio web no se encuentra en el mismo dominio de la aplicación web (colgada previamente en un servidor) no podra conectarse. Para eso es necesario el uso del archivo crossdomain.xml en el root del dominio del servicio web.
  • 22. Ejemplo de un crossdomain.xml
  • 23. Software a usar Para nuestra demo usaremos •Apache CXF 2.2.1 ( es uno de los mas usados en java junto con Axis, tiene como predecesor a Xfire). •JDK 1.5 •FlexBuilder 3 •Eclipse 3.4 •Spring 2.0 (incluido en las librerias de CXF) •Tomcat 6.0 Esta demo mostrara un hola mundo con nuestro nombre enviado como parametro
  • 24. Integrando CXF con Spring Para integrar CXF con spring necesitamos : •Las dependencias usadas por CXF. Son aproximadamente 25 jars •Escribir nuestros servicios usando Anotaciones ( necesario java 1.5). •Declarar dichos servicios como beans en spring. •Declarar el servlet de CXF usado para la creacion y publicacion del WSDL a partir del codigo java.
  • 25. Desarrollando los servicios en Flex Para la parte Flex se desarrollara : • Crear nuestro proyecto y editar el archivo mxml por defecto. •Crear un panel y una caja de texto y un boton para realizar la llamada. •Crear una instancia de la clase WebService que llame a nuestro metodo creado en el servicio java. •Crear el metodo que recibira el resultado en el caso de éxito.
  • 26. Poniendo todo en marcha!
  • 27.
  • 28. Sobre el uso de RemoteObjects en Flex •Transmite y recibe data binaria por •Los servicios que ofrecen soporte a medio del protocolo AMF (Action AMF son Message Format) , propietario de Adobe liberado recientemente. • Adobe LiveCycle Data •Este protocolo permite eliminar la Services (version de necesidad de parsear informacion pago) XML transformando los objetos • Blaze Data Services directamente a objetos AS. (version libre) •El protocolo AMF es mas rapido y • Adobe ColdFusion tiene mejor rendimiento que usar HTTP y webservices. • AMFPHP •Para obtener la direccion del punto • SabreAMF de acceso para el servidor , la clase remoteobject usa canales en este • Midnight Coders caso un canal AMFChannel. WebORB (para .Net)
  • 29. Que es Blaze DS ? Es un set de servicios que ofrece conectividad a protocolos AMF3. BlazeDS provee los siguientes servicios: • Remoting Service (uso de objetos remotos) • Message Service. (uso de mensajeria tipo JMS) • Proxy Service. (permite acceder a servicios que se encuentran en distintos dominios sin usar crossdomain.xml)
  • 30. Como integramos BlazeDS con Spring? Como veiamos, si Blaze puede acceder a objetos remotos, y Spring Beans puede generar objetos java, no seria listo para usar los objetos spring como objetos remotos? Claro la idea es esa pero es necesario configuracion de por medio. Por defecto los objetos accedidos por Flex son objetos remotos creados por BlazeDS . La clave de usar la integracion es de dejar que Spring se encarge de instanciar los objetos y que BlazeDS solo se encarge de publicarlos. Ejemplo de una arquitectura usando BlazeDS , Flex y Spring
  • 31. Software a usar Para nuestra demo usaremos •Blaze DS (WAR con librerias y achivos necesarios) •JDK 1.5 •FlexBuilder 3 •Eclipse 3.4 •Tomcat 6.0 •Spring 2.5 (spring.jar y spring- webmvc.) •Flex-Spring Integration ( 1.0.0M2) Esta demo se mostrara una lista de alumnos y el profesor encargado para una clase.
  • 32. Integrando BlazeDS con Spring Para integrar BlazeDS con spring necesitamos hacer: •Crear los archivos remoting- config.xml y services-config.xml (por defecto creadas en el war de Blaze) •Crearemos 2 archivos xml (appContext y webAppContext) para manejar los beans de spring y blaze. •Registrar los beans en dichos archivos. Los servicios java son instanciados en •Modificar el web.xml para que appContext.xml para luego ser publicados por WebAppContext.xml responda a las peticiones de spring.
  • 33. Integrando BlazeDS con Spring Luego de crear los archivos de configuracion creamos 3 clases : una que nos devolvera los alumnos y el profesor designado y las otros 2 seran las clases Profesor y Alumno. Como ven en la figura, los archivos que se encuentran en la carpeta flex estan relacionado a cada tipo de servicio : messaging, proxy , remoting y services ; este ultimo se encarga de manejar los 3 anteriores.
  • 35.
  • 36. Cuales son las ventajas de usar spring con flex? Entre las principales ventajas tenemos : •Usar la arquitectura que nos ofrece Spring y sus framework relacionados para crear soluciones ricas , escalables y solidas. •Ofrecer al usuario una experiencia nueva en terminos de usabilidad, flexibilidad e interaccion. •Ofrecer una solucion completa y al mismo tiempo modularizable para ser integrado con otros sistemas. •Transparencia al momento de publicar nuestros servicios para flex.
  • 37. Referencias Libros: •Flex in Action (2009) •The Essential Guide for Flex 3 (2008) •A Beginner´s guide Flex 3 (2008) Links •http://blog.flexexamples.com/ •http://merhl.com/ •http://ntt.cc/ •http://www.dehats.com/drupal/ •http://coenraets.org/blog/ Mi blog •http://blog.govisualperu.com/ Twitter : @govisualperu (RIA, Ajax, Flex, Grails, etc) Consultoria? Desarrollo? Cursos Flex, AIR , RIA? http://govisualperu.com/