Spring BlazeDS Integration
Aplicaciones ricas usando Flex & JavaEE
sábado 27 de noviembre de 2010
¿Quien soy?
sábado 27 de noviembre de 2010
¿Quien soy?
• Profesional dedicado a la creación de aplicaciones ricas desde una perspectiva del programador.
sábado 27 de noviembre de 2010
¿Quien soy?
• Profesional dedicado a la creación de aplicaciones ricas desde una perspectiva del programador.
• Pasion por la usabilidad y desarrollo iterativo.
sábado 27 de noviembre de 2010
¿Quien soy?
• Profesional dedicado a la creación de aplicaciones ricas desde una perspectiva del programador.
• Pasion por la usabilidad y desarrollo iterativo.
• Fan de Flex, jquery y HTML5
sábado 27 de noviembre de 2010
¿Quien soy?
• Profesional dedicado a la creación de aplicaciones ricas desde una perspectiva del programador.
• Pasion por la usabilidad y desarrollo iterativo.
• Fan de Flex, jquery y HTML5
• .. y tambien de java, especificamente Spring y Jboss
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
¿Que es Flex ?
sábado 27 de noviembre de 2010
¿Que es Flex ?Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
ES
sábado 27 de noviembre de 2010
Flex
ES
sábado 27 de noviembre de 2010
Flex
ES PARA
sábado 27 de noviembre de 2010
Flex
ES PARA
sábado 27 de noviembre de 2010
Flex
ES PARA
La version corta
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
sábado 27 de noviembre de 2010
Flex
La versión completa
sábado 27 de noviembre de 2010
MXML y ActionScript Componentes flex
Flex
Principales componentes
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
¿Que podemos hacer con Flex?
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
DASHBOARD
sábado 27 de noviembre de 2010
DASHBOARD
sábado 27 de noviembre de 2010
DASHBOARD MOBILES
sábado 27 de noviembre de 2010
DASHBOARD MOBILES
sábado 27 de noviembre de 2010
DASHBOARD MOBILES
DESKTOPsábado 27 de noviembre de 2010
DASHBOARD MOBILES
DESKTOPsábado 27 de noviembre de 2010
DASHBOARD MOBILES
DESKTOPMULTITOUCH
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Plataforma
sábado 27 de noviembre de 2010
Plataforma
• Flex SKD “Hero”
sábado 27 de noviembre de 2010
Plataforma
• Flex SKD “Hero”
• Flash Builder “Burrito”
sábado 27 de noviembre de 2010
Plataforma
• Flex SKD “Hero”
• Flash Builder “Burrito”
• Flash Catalyst “Panini”
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
¿Que es BlazeDS?
sábado 27 de noviembre de 2010
¿Que es BlazeDS? BlazeDS
sábado 27 de noviembre de 2010
BlazeDS
sábado 27 de noviembre de 2010
BlazeDS
sábado 27 de noviembre de 2010
BlazeDS
sábado 27 de noviembre de 2010
BlazeDSMessage Broker
sábado 27 de noviembre de 2010
BlazeDSMessage Broker
sábado 27 de noviembre de 2010
BlazeDSMessage Broker
sábado 27 de noviembre de 2010
BlazeDSMessage Broker
sábado 27 de noviembre de 2010
BlazeDSMessage Broker POJOs
sábado 27 de noviembre de 2010
BlazeDSMessage Broker POJOs
sábado 27 de noviembre de 2010
BlazeDS
AMF
Message Broker POJOs
sábado 27 de noviembre de 2010
BlazeDS
AMF
Message Broker POJOs
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
Message Broker POJOs
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
Message Broker POJOs
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
Spring Integra
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
Spring Integra
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
Spring Integra SPR
ING
CO
RE
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
Spring Integra
applicationContext.xml
SPRIN
G C
OR
E
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
Spring Integra
applicationContext.xml
SS
SPRIN
G C
OR
E
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
Spring Integra
applicationContext.xml
SS
SS
SPRIN
G C
OR
E
sábado 27 de noviembre de 2010
BlazeDS
AMF
WS
HTTP
Message Broker POJOs
service-config.xml
remote-config.xml
Spring Integra
applicationContext.xml
SS
SS
SS
SPRIN
G C
OR
E
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Spring BlazeDS Integra
sábado 27 de noviembre de 2010
• Ultima version estable : 1.0.3.
Spring BlazeDS Integra
sábado 27 de noviembre de 2010
• Ultima version estable : 1.0.3.
• Usa Adobe BlazeDS 3.2 o superior.
Spring BlazeDS Integra
sábado 27 de noviembre de 2010
• Ultima version estable : 1.0.3.
• Usa Adobe BlazeDS 3.2 o superior.
• Integracion con Spring ROO
Spring BlazeDS Integra
sábado 27 de noviembre de 2010
Arquitectura final
sábado 27 de noviembre de 2010
Arquitectura final
sábado 27 de noviembre de 2010
Arquitectura final
sábado 27 de noviembre de 2010
Arquitectura final
sábado 27 de noviembre de 2010
Arquitectura final
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX SWF
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX SWF
CSS
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX SWF
CSS
JPG
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX SWF
CSS
JPG
LIB
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX SWF
CSS
JPG
LIB
CLIENTE
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX SWF
CSS
JPG
LIB
CLIENTE SERVIDOR
sábado 27 de noviembre de 2010
Arquitectura finalSPR
ING
CO
RE
FLEX SWF
CSS
JPG
LIB
CLIENTE SERVIDOR
sábado 27 de noviembre de 2010
Armando el servidor
SPRIN
G C
OR
E
sábado 27 de noviembre de 2010
Requerimientos(servidor)
sábado 27 de noviembre de 2010
Requerimientos(servidor)
• Eclipse 3.5 (recomendado Spring Tool Suite)
sábado 27 de noviembre de 2010
Requerimientos(servidor)
• Eclipse 3.5 (recomendado Spring Tool Suite)
• Tomcat 6
sábado 27 de noviembre de 2010
Requerimientos(servidor)
• Eclipse 3.5 (recomendado Spring Tool Suite)
• Tomcat 6
• BlazeDS 4 (WAR)
sábado 27 de noviembre de 2010
Requerimientos(servidor)
• Eclipse 3.5 (recomendado Spring Tool Suite)
• Tomcat 6
• BlazeDS 4 (WAR)
• Spring Framework 3.0.5
sábado 27 de noviembre de 2010
Requerimientos(servidor)
• Eclipse 3.5 (recomendado Spring Tool Suite)
• Tomcat 6
• BlazeDS 4 (WAR)
• Spring Framework 3.0.5
• Spring BlazeDS Integration 1.0.3
sábado 27 de noviembre de 2010
Requerimientos(servidor)
• Eclipse 3.5 (recomendado Spring Tool Suite)
• Tomcat 6
• BlazeDS 4 (WAR)
• Spring Framework 3.0.5
• Spring BlazeDS Integration 1.0.3
• Librerias adicionales : AOP Alliance, backport-util-current 3.1, cglib 2.2, asm 3.3
sábado 27 de noviembre de 2010
Requerimientos(servidor)
• Eclipse 3.5 (recomendado Spring Tool Suite)
• Tomcat 6
• BlazeDS 4 (WAR)
• Spring Framework 3.0.5
• Spring BlazeDS Integration 1.0.3
• Librerias adicionales : AOP Alliance, backport-util-current 3.1, cglib 2.2, asm 3.3
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Paso 1
sábado 27 de noviembre de 2010
Paso 1
sábado 27 de noviembre de 2010
Paso 1• Importar BlazeDS WAR
sábado 27 de noviembre de 2010
Paso 1• Importar BlazeDS WAR• Copiar las librerias
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Exportamos el war de blazeds
sábado 27 de noviembre de 2010
Exportamos el war de blazeds
sábado 27 de noviembre de 2010
Exportamos el war de blazeds
Tooooodas las libreriasen la carpeta /WEB-INF/lib
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Paso 2
sábado 27 de noviembre de 2010
Paso 2
sábado 27 de noviembre de 2010
Paso 2• Agregar el server• Modificar el web.xml• Agregar el applicationContext.ml
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Agregamos el tomcat 6
sábado 27 de noviembre de 2010
Agregamos el tomcat 6
sábado 27 de noviembre de 2010
Agregamos el tomcat 6
Agregamos elsoporte para spring
en el web.xml
sábado 27 de noviembre de 2010
Agregamos el tomcat 6
Agregamos elsoporte para spring
en el web.xml
sábado 27 de noviembre de 2010
Agregamos el tomcat 6
Agregamos elsoporte para spring
en el web.xml
Agregamos el archivoapplicationContext.xml
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Paso 3
sábado 27 de noviembre de 2010
Paso 3
sábado 27 de noviembre de 2010
Paso 3• Creamos nuestros servicios• Creamos nuestros beans
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Creamos la claseProductosService
sábado 27 de noviembre de 2010
Creamos la claseProductosService
sábado 27 de noviembre de 2010
Creamos la claseProductosService
Creamos la claseProductoBean
sábado 27 de noviembre de 2010
Creamos la claseProductosService
Creamos la claseProductoBean
Creamos la claseProductoDataStore
sábado 27 de noviembre de 2010
Creamos la claseProductosService
Creamos la claseProductoBean
Creamos la claseProductoDataStore
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Conclusiones(servidor)
sábado 27 de noviembre de 2010
FLEX
SWF
CSS
JPG
LIB
Diseñandoel cliente
sábado 27 de noviembre de 2010
Requerimientos(flex)
sábado 27 de noviembre de 2010
Requerimientos(flex)
• Flash Builder “Burrito”
• Flash Catalyst “Panini” (solo usado si se exportara el diseño de otro formato)
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Paso 1
sábado 27 de noviembre de 2010
Paso 1
sábado 27 de noviembre de 2010
Paso 1• Prototipado inicial•Crear proyecto flash web
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
•Omigraffle•Visio•Lapiz y papel
sábado 27 de noviembre de 2010
•Omigraffle•Visio•Lapiz y papel
sábado 27 de noviembre de 2010
•Omigraffle•Visio•Lapiz y papel
Creamos el proyecto flex
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Paso 2
sábado 27 de noviembre de 2010
Paso 2
sábado 27 de noviembre de 2010
Paso 2• Creamos la pantalla• Creamos los componentes• Creamos la conexión remota
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Nuestro diseñobase
sábado 27 de noviembre de 2010
Nuestro diseñobase
sábado 27 de noviembre de 2010
Nuestro diseñobase
Agregamosla llamada al servidor
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Paso 3
sábado 27 de noviembre de 2010
Paso 3
sábado 27 de noviembre de 2010
Paso 3• Creamos los objetos de dominio• Creamos una pantalla de edición
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Creamos nuestro objeto de dominio
sábado 27 de noviembre de 2010
Creamos nuestro objeto de dominio
sábado 27 de noviembre de 2010
Creamos nuestro objeto de dominio
Cargamos nuestrosdatos para mostrarlos
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Conclusiones(flex)
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
15 Minutosde reflexión
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
Es bueno ... pero
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfaz
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfaz
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfazdejas el procesamiento
de la aplicación al cliente
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfazdejas el procesamiento
de la aplicación al cliente
Porque puedes usar los efectos de flash
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfazdejas el procesamiento
de la aplicación al cliente
Porque puedes usar los efectos de flash
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfazdejas el procesamiento
de la aplicación al cliente
Porque puedes usar los efectos de flash
distrae al usuario y recarga la aplicación
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfazdejas el procesamiento
de la aplicación al cliente
Porque puedes usar los efectos de flash
distrae al usuario y recarga la aplicación
Porque usa un runtime que se encuentra en la
mayoría de PCs
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfazdejas el procesamiento
de la aplicación al cliente
Porque puedes usar los efectos de flash
distrae al usuario y recarga la aplicación
Porque usa un runtime que se encuentra en la
mayoría de PCs
sábado 27 de noviembre de 2010
Es bueno ... peroPorque separa la lógica de
negocio de la interfazdejas el procesamiento
de la aplicación al cliente
Porque puedes usar los efectos de flash
distrae al usuario y recarga la aplicación
Porque usa un runtime que se encuentra en la
mayoría de PCs
su ciclo de vidano permite procesamiento
sobrecargado
sábado 27 de noviembre de 2010
Recomendacionesal usar Flex
sábado 27 de noviembre de 2010
Recomendacionesal usar Flex
• Evitar realizar procesamiento (logica). Dejar todo eso al servidor.
sábado 27 de noviembre de 2010
Recomendacionesal usar Flex
• Evitar realizar procesamiento (logica). Dejar todo eso al servidor.
• Evitar el uso desmedido de renderers en los componentes del tipo lista.
sábado 27 de noviembre de 2010
Recomendacionesal usar Flex
• Evitar realizar procesamiento (logica). Dejar todo eso al servidor.
• Evitar el uso desmedido de renderers en los componentes del tipo lista.
• Modularizar modularizar modularizar!!
sábado 27 de noviembre de 2010
Recomendacionesal usar Flex
• Evitar realizar procesamiento (logica). Dejar todo eso al servidor.
• Evitar el uso desmedido de renderers en los componentes del tipo lista.
• Modularizar modularizar modularizar!!
• Evitar la creación de formularios extensos (no es una pagina html).
sábado 27 de noviembre de 2010
Recomendacionesal usar Flex
• Evitar realizar procesamiento (logica). Dejar todo eso al servidor.
• Evitar el uso desmedido de renderers en los componentes del tipo lista.
• Modularizar modularizar modularizar!!
• Evitar la creación de formularios extensos (no es una pagina html).
• Usar Maven.sábado 27 de noviembre de 2010
Recomendacionesal usar Spring BlazeDS
sábado 27 de noviembre de 2010
Recomendacionesal usar Spring BlazeDS• Usar SpringSecurity para manejar permisos.
sábado 27 de noviembre de 2010
Recomendacionesal usar Spring BlazeDS• Usar SpringSecurity para manejar permisos.
• Si usas Hibernate, ten cuenta que BlazeDS no soporta lazyloading (para solucionar este problema usar dpHibernate).
sábado 27 de noviembre de 2010
Recomendacionesal usar Spring BlazeDS• Usar SpringSecurity para manejar permisos.
• Si usas Hibernate, ten cuenta que BlazeDS no soporta lazyloading (para solucionar este problema usar dpHibernate).
• La paginación se maneja de una manera distinta (por carga de scroll de una lista).
sábado 27 de noviembre de 2010
Recomendacionesal usar Spring BlazeDS• Usar SpringSecurity para manejar permisos.
• Si usas Hibernate, ten cuenta que BlazeDS no soporta lazyloading (para solucionar este problema usar dpHibernate).
• La paginación se maneja de una manera distinta (por carga de scroll de una lista).
• Usar Maven.
sábado 27 de noviembre de 2010
Algunas notas adicionales
sábado 27 de noviembre de 2010
Algunas notas adicionales
• Las pruebas con flex no son tan faciles : existe FlexUnit, FlexMonkey pero aun no estan totalmente maduras.
sábado 27 de noviembre de 2010
Algunas notas adicionales
• Las pruebas con flex no son tan faciles : existe FlexUnit, FlexMonkey pero aun no estan totalmente maduras.
• Existe módulos para controlar metricas de código de AS3 con Hudson y Sonar.
sábado 27 de noviembre de 2010
Algunas notas adicionales
• Las pruebas con flex no son tan faciles : existe FlexUnit, FlexMonkey pero aun no estan totalmente maduras.
• Existe módulos para controlar metricas de código de AS3 con Hudson y Sonar.
• Para aplicaciones empresariales, usar frameworks para flex como Mate o Cairgohrn.
sábado 27 de noviembre de 2010
¿Quieres saber mas?
• Busca en google “devnet flex”.
• Libros
• Twitter: @ricdex
• http://bie-development.pe
• http://bie-agency.pe
sábado 27 de noviembre de 2010
sábado 27 de noviembre de 2010
GRACIAS!
sábado 27 de noviembre de 2010
GRACIAS!
sábado 27 de noviembre de 2010
Top Related