taller spring flex

Post on 28-Jun-2015

679 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Taller de Spring 3, BlazeDS 4 y Flex 4

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

Wednesday, October 6, 2010

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

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

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

La aplicación

Cliente de Twitter

• Backend Java + Spring

• Frontend Adobe Flex

Wednesday, October 6, 2010

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

JVM

Wednesday, October 6, 2010

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

JVM

Application Context

Wednesday, October 6, 2010

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

JVM

Application Context

Bean A

Wednesday, October 6, 2010

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

JVM

Application Context

Bean A Bean B

Wednesday, October 6, 2010

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

JVM

Application Context

Bean A Bean B

Bean C

Wednesday, October 6, 2010

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

JVM

Application Context

Bean A Bean B

Bean C

Wednesday, October 6, 2010

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

JVM

Application Context

Bean A Bean B

Bean C

Wednesday, October 6, 2010

• 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

• 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

• 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

• 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

• 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

• 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

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

Application Context:

• Definición de Beans y sus dependencias

• Beans de infraestructura

• Definido en uno o más archivos .xml

Wednesday, October 6, 2010

Application Context:

• Instanciado mediante: new ClassPathXmlApplicationContext()

• Cargado mediante un Servlet Listener

• En Pruebas JUnit usando un Runner de Spring.

Wednesday, October 6, 2010

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

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

Wednesday, October 6, 2010

Wednesday, October 6, 2010

Wednesday, October 6, 2010

Wednesday, October 6, 2010

Flash Builder

Wednesday, October 6, 2010

LABORATORIO

Wednesday, October 6, 2010

¿Flex + Java?Cliente FLEX

JEE Backend

SOAP WebServices

HTTP WebServices

AMF RemoteServices

Página HTML

JavaScript Bridge

Wednesday, October 6, 2010

¿AMF ?• ActionScript Message Format

• Flash Player 6: AMF 0

• Flash Player 9: AMF 3

• Especificación abierta desde 2007

Wednesday, October 6, 2010

¿Por qué AMF?

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

Wednesday, October 6, 2010

AMF Remote Services

Wednesday, October 6, 2010

Java Players

• Adobe LiveCycle ES -> $$

• Adobe BlazeDS -> opensource

• GraniteDS -> opensource

Wednesday, October 6, 2010

Wednesday, October 6, 2010

• Spring Factory: Un adapter más

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

+

Wednesday, October 6, 2010

+

• 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

+

Application Context

Bean A Bean B

Bean C

JVM

Wednesday, October 6, 2010

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

+

Application Context

Bean A Bean B

Bean C

BlazeDSJVM

Wednesday, October 6, 2010

+

Laboratorio Spring BlazeDS

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

Wednesday, October 6, 2010

+

Laboratorio Flex: Consumir servicios BlazeDS

Wednesday, October 6, 2010

¿?

Preguntas

Wednesday, October 6, 2010

top related