jueves, 20 de mayo de 2010

Integrando Flex y Java

Esta unión permite realizar aplicaciones con la potencia de java mas la elegancia de Flash/Flex.

Flex es un framework de desarrollo que permite crear RIA's
(Aplicaciones de Internet Enriquecidas), las cuales permiten tener una aplicación web con casi todas las ventajas como si se tratara de una aplicación de escritorio, además de que agregan características tradicionales de las aplicaciones como las conocemos y una ventaja es que pueden ejecutar tareas en la maquina donde se ejecuten sin la necesidad de refrescar la pagina un beneficio de programar en Flex y ligarlo con Java es que éste último es un poderoso lenguaje de programación que por si solo(o con frameworks) puede crear aplicaciones útiles sean web o sean de escritorio, sin embargo, en cuanto a interfaz se refiere no son muy usables, puede que para la mayoría de los usuarios eso esté bien pero no estaría acorde con las nuevas tecnologías como la web 2.0 y la nueva web 3.0 por esta razón, las nuevas aplicaciones web deben ser además de potentes bonitas. Pero java como lo conocemos no cuenta con esta característica, a pesar de JavaFX que simplemente no funcionó.

Por otro lado Flex este es todo lo contrario de Java, pues genera aplicaciones muy bonitas bien adornadas, con efectos muy llamativos, pero tiene un punto débil y es que no pude acceder a bases de datos por si mismo “para garantizar la seguridad” y esto le quita mucho poder sin embargo las interfaces que genera son simplemente geniales, por esa razón se decidió unir lo bonito de Flex con la potencia de Java, y así se completó a java lo feo de sus interfaces con Flex y a Flex la potencia que le falta con Java; de esta manera se asegura tener en el Core todo el poder JAVA y en la vista toda la elegancia de aplicaciones Flash.

Una de las características de Flex es basicamente que a diferencia de otros entornos de programación basados en Flash da todas las posibilidades de crear un proyecto de programación Action Script pero sin la línea del tiempo.

Un breve ejemplo:

El clásico “Hola mundo” desde Java integrado con Flex:

Aquí vemos como se llama la Clase Java mediante un Objeto Remoto:

Aquí vemos la ejecución y que al pulsar el botón nos muestra en la caja de texto el mensaje del método en la clase Java

EJEMPLO 2:

Diferencias entre Flex y Java Applet;

La primera calculadora fue hecha con Java, la segunfa es una aplicacion en Flex:

Ejemplo 3:

En código: como comunicarse desde un proyecto Flex con un proyecto Java en NetBeans

En Flex:

<mx:HTTPService

id="delContact"

useProxy="false"

url="http://localhost:8084/UPPM/ServletContact?action=2"

result="result_deleteContact(event)"

fault="faultHandler(event)"

method="POST"

showBusyCursor="true"

resultFormat="text">

<mx:request xmlns="">

<email>

{delEmail.text}

email>

mx:request>

mx:HTTPService>

Explicación:

HTTPService id="delContact"        

// delContact es el identificador del mx, con el cual se llama desde un método en el mxml para que realice la operación que se le asigne.

http://localhost:8084/UPPM/ServletContact?action=2

// dirección http del servlet con el que conectara para realizar la acción que se le ha asignado en este caso será la acción 2.

result="result_deleteContact(event)"

// la respuesta de la acción 2 que se ha enviado será enviada como el parámetro “event” a la función result_deleteContact(event).

fault="faultHandler(event)" method="POST" showBusyCursor="true" resultFormat="text"

// parámetros para el resto del funcionamiento del proyecto; se dejan igual.

<mx:request xmlns="">

<email>

{delEmail.text}

email>

mx:request>

//La petición se envía con el parámetro <email> que incluye el dato contenido en una caja de texto llamada delEmail

En NetBeans:

protected void processRequest(HttpServletRequest request, HttpServletResponse response){

//método al que llega la petición enviada por el proyecto Flex

int Action = Integer.parseInt(request.getParameter("action"));

//la acción que se envió

switch(Action)

{

case 1: …

case 2: //Eliminar un usuario

out.print(delUser(request, response)); //meter dentro de response lo que devuelva el método delUser

break;

}

}

public String delUser(HttpServletRequest request, HttpServletResponse response) //método delUser

{

String email = request.getParameter("email"); //obtener el parámetro que se envio (email)

ConnectToDatabase(); //conectar con la base de datos

Res=DB.delete(email); //método eliminar (delete) dentro de una clase llamada DB, teniendo como parámetro el dato enviado

this.contactB.disconnect(); //desconectar de la base de datos

return res; //retornar res para que ese dato se lleve al proyecto Flex y éste lo utilice y lo envie al método result_deleteContact

}

No hay comentarios:

Publicar un comentario