taller spring flex

46
Taller de Spring 3, BlazeDS 4 y Flex 4 Iván Álvarez (@ivanhoe) Erick Camacho (@ecamacho) Wednesday, October 6, 2010

Upload: ivan-alvarez

Post on 28-Jun-2015

679 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Taller spring flex

Taller de Spring 3, BlazeDS 4 y Flex 4

Iván Álvarez (@ivanhoe)Erick Camacho (@ecamacho)

Wednesday, October 6, 2010

Page 2: Taller spring flex

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

Wednesday, October 6, 2010

Page 3: Taller spring flex

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

Wednesday, October 6, 2010

Page 4: Taller spring flex

Instalación del ambiente

Existen 2 proyectos Maven:

• twitterds-solucion

• twitterds-lab

en ambos: mvn eclipse:eclipse

Cargar proyectos en Eclipse

Wednesday, October 6, 2010

Page 5: Taller spring flex

La aplicación

Cliente de Twitter

• Backend Java + Spring

• Frontend Adobe Flex

Wednesday, October 6, 2010

Page 6: Taller spring flex

• Contenedor IoC (Inversión de Control) usando Inyección de Dependencias.

JVM

Wednesday, October 6, 2010

Page 7: Taller spring flex

• Contenedor IoC (Inversión de Control) usando Inyección de Dependencias.

JVM

Application Context

Wednesday, October 6, 2010

Page 8: Taller spring flex

• Contenedor IoC (Inversión de Control) usando Inyección de Dependencias.

JVM

Application Context

Bean A

Wednesday, October 6, 2010

Page 9: Taller spring flex

• Contenedor IoC (Inversión de Control) usando Inyección de Dependencias.

JVM

Application Context

Bean A Bean B

Wednesday, October 6, 2010

Page 10: Taller spring flex

• Contenedor IoC (Inversión de Control) usando Inyección de Dependencias.

JVM

Application Context

Bean A Bean B

Bean C

Wednesday, October 6, 2010

Page 11: Taller spring flex

• Contenedor IoC (Inversión de Control) usando Inyección de Dependencias.

JVM

Application Context

Bean A Bean B

Bean C

Wednesday, October 6, 2010

Page 12: Taller spring flex

• Contenedor IoC (Inversión de Control) usando Inyección de Dependencias.

JVM

Application Context

Bean A Bean B

Bean C

Wednesday, October 6, 2010

Page 13: Taller spring flex

• Spring se encarga de crear los objetos e inyectar sus dependencias.

• Los objetos son creados en el orden correcto basados en sus dependencias

Wednesday, October 6, 2010

Page 14: Taller spring flex

• 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

Wednesday, October 6, 2010

Page 15: Taller spring flex

• 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

Wednesday, October 6, 2010

Page 16: Taller spring flex

• 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

Wednesday, October 6, 2010

Page 17: Taller spring flex

• 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

Wednesday, October 6, 2010

Page 18: Taller spring flex

• 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

Wednesday, October 6, 2010

Page 19: Taller spring flex

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 );

Wednesday, October 6, 2010

Page 20: Taller spring flex

Application Context:

• Definición de Beans y sus dependencias

• Beans de infraestructura

• Definido en uno o más archivos .xml

Wednesday, October 6, 2010

Page 21: Taller spring flex

Application Context:

• Instanciado mediante: new ClassPathXmlApplicationContext()

• Cargado mediante un Servlet Listener

• En Pruebas JUnit usando un Runner de Spring.

Wednesday, October 6, 2010

Page 22: Taller spring flex

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

Wednesday, October 6, 2010

Page 23: Taller spring flex

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

Wednesday, October 6, 2010

Page 24: Taller spring flex

Wednesday, October 6, 2010

Page 25: Taller spring flex

Wednesday, October 6, 2010

Page 26: Taller spring flex

Wednesday, October 6, 2010

Page 27: Taller spring flex

Wednesday, October 6, 2010

Page 28: Taller spring flex

Flash Builder

Wednesday, October 6, 2010

Page 29: Taller spring flex

LABORATORIO

Wednesday, October 6, 2010

Page 30: Taller spring flex

¿Flex + Java?Cliente FLEX

JEE Backend

SOAP WebServices

HTTP WebServices

AMF RemoteServices

Página HTML

JavaScript Bridge

Wednesday, October 6, 2010

Page 31: Taller spring flex

¿AMF ?• ActionScript Message Format

• Flash Player 6: AMF 0

• Flash Player 9: AMF 3

• Especificación abierta desde 2007

Wednesday, October 6, 2010

Page 32: Taller spring flex

¿Por qué AMF?

• http://www.jamesward.com/census/

Wednesday, October 6, 2010

Page 33: Taller spring flex

AMF Remote Services

Wednesday, October 6, 2010

Page 34: Taller spring flex

Java Players

• Adobe LiveCycle ES -> $$

• Adobe BlazeDS -> opensource

• GraniteDS -> opensource

Wednesday, October 6, 2010

Page 35: Taller spring flex

Wednesday, October 6, 2010

Page 36: Taller spring flex

• Spring Factory: Un adapter más

• Spring BlazeDS: Integra el Message Broker Servlet de BlazeDS a Spring.

+

Wednesday, October 6, 2010

Page 37: Taller spring flex

+

• 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

Wednesday, October 6, 2010

Page 38: Taller spring flex

+

Application Context

Bean A Bean B

Bean C

JVM

Wednesday, October 6, 2010

Page 39: Taller spring flex

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

Page 40: Taller spring flex

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

Page 41: Taller spring flex

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

Page 42: Taller spring flex

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

Page 43: Taller spring flex

+

Laboratorio Spring BlazeDS

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

Wednesday, October 6, 2010

Page 44: Taller spring flex

+

Laboratorio Flex: Consumir servicios BlazeDS

Wednesday, October 6, 2010

Page 46: Taller spring flex

¿?

Preguntas

Wednesday, October 6, 2010