domingo, 30 de mayo de 2010

Flex+Java+BlazeDS

Hace como tres meses inicie con este post pero por falta de tiempo no le pude dedicar lo necesario para que fuera publicado. La semana pasada (bueno de hace ya tiempo jaja) realice para parte de un proyecto la conexión de Flex con Java. Hacerlo es muy sencillo pero cuando eres nuevo y no conoces al respecto si te lleva algo de tiempo, porque por lo menos yo no encontré la información necesaria respecto a la implementación.

Flex
Es un framework desarrollado por Adobe, la cual te permite crear aplicaciones dinámicas de Internet (RIA's- Rich Internet Applications). Esto significa que es un patrón o un esqueleto para poder llevar acabo la implementación de una aplicación. Nos sirve mucho ya que con su uso es muy fácil de distinguir el modelo MVC (Modelo-Vista-Controlador). Flex cubrirá la parte de vista y controlador y Java manejará el modelo del negocio; es decir este último llevará toda la lógica y las operaciones internas necesarias. Mientras Flex sólo será la vista y mande a llamar eventos a partir de las acciones que realice el usuario.
¿Pero por qué Flex?... Adobe define a Flex como altamente productivo además de ser opensource, el cual sirve para poder construir y mantener aplicaciones web "expresivas" que pueden ser desplegadas en más navegadores, computadoras y SO. Esto gracias a que Flex utiliza Adobe Flash Player. Otra ventaja es que Flex utiliza AS y puede desarrollar interfaces gráficas, juegos y animaciones.

BlazeDS(binary distribution)



BlazeDS es sólo un puente entre Flex (capa de vista) y Java (capa de negocio). Es decir, tiene la funcionalidad de una interfaz.



Conexión
Antes que nada lo que debemos de tener instalado o descargado en nuestra computadora es:

  1. Flex Builder 3 (http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email)
  2. Eclipse (http://www.eclipse.org/downloads/)
  3. BlazeDS-binary distribution (http://flexorg.wip3.adobe.com/blazeds/3.0.x/milestone/3978/blazeds-bin-3.2.0.3978.zip)
  4. JDK (http://java.sun.com/javase/downloads/widget/jdk6.jsp)
  5. Apache Tomcat (http://tomcat.apache.org/download-60.cgi)
Ahora si ya que tenemos todo es hora de configurar!!!


  • Abrir eclipse. Se debe de configurar el servidor Apache Tomcat en esta IDE. Esto es en el Window-> Preferences ->Server -> Installed Runtimes. Y ahi es donde añadimos el servidor de Tomcat

  • Ahora debemos de agregar las bibliotecas de BlazeDS. Para esto es: File -> Import -> Web -> WAR File. Además se debe de escribir el nombre del proyecto.

  • Después de esto solo se deben de realizar las clases en java que se necesiten en su proyecto. Y para que flex sepa que clases son el código fuente se debe de modificar el fichero remoting-config.xml.  Como se muestra a continuacion.

<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.RemotingService">
<adapters>

   <adapters-definition id="java-object" class="flex.messaging" />
</adapters>
<default-channels>
   <channel ref="my-amf"/>
</default-channels>
<destination id="ClaseServiceDestination" channels="my-amf">
   <properties>
        <source> ejemplo.NombreClase</source>
   </properties>
</destination>


Así en las vistas realizadas en Flex se debe de agregar un RemoteObject, como se ve a continuación:



<?xml version="1.0" encoding="UTF-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
   import mx.rpc.events.ResultEvent;
   import mx.rpc.events.FaultEvent;
   import mx.controls.Alert;
   import mx.utils.ObjectUtil;
<mx:RemoteObject id="remoteClaseService" destination="ClaseServiceDestination" showBusyCursor="true">
<mx:method name="resultado" result="resultClase(event)" fault="faultResultado(event)">
</mx:RemoteObject>
<mx:Button label="Obtener Resultado" click="remoteClaseService.metodoClase()"/>
</mx:Application>


No hay comentarios:

Publicar un comentario