www.guasax.com

guasax

flexframework

Desarrollo ágil de componentes
Flex & AIR.

Crea tus aplicaciones RIA y reutiliza tus componentes con Guasax

Hola mundo con Guasax (paso a paso)

Preparando el entorno

En cuanto al entorno de programación nos vale tanto FlexBuilder 2.0.1 standalone como Eclipse WTP + Plugin Flex Builder.

Creando el proyecto

Para seguir este tutorial podemos bajar el codigo fuente del proyecto e importarlo en nuestro entorno de programación. Podeís descargar el proyecto aquí .

Una vez importado el proyecto en nuestro Flex Builder , o al crear un proyecto nuevo, tenemos que tener en cuenta 2 cosas principalmente.

  1. Tenemos que cargar la librería GuasaxLibrary.swc en build path de flex.
  2. Tenemos que actualizar las opciones de compilación para leer el fichero de mensajes del directorio adecuado.
Estos pasos a seguir los hemos descrito también aquí

Si partimos del codigo de ejemplo del programa HolaMundo que comentamos más arriba ya tendremos resueltas estas cuestiones, la unica salvedad puede ser actualizar algunas rutas absolutas de directorios que nos coloca FlexBuilder, cuestión que podemos resolver editando las propiedades del proyecto y actualizando el Flex Build path -> Libray path.

El fichero principal de nuestra aplicación

Este ejemplo tenemos un minimo numero de ficheros para llevar a cabo la función del holamundo, en primer lugar tenemos un fichero MXML principal en el que definiremos el interface necesario para invocar la operación mediante un botón. Desde la función que maneja el “click” del botón realizaremos la invocación del metodo mediante guasax.

Además en el evento “creationComplete” de la aplicación , iniciaremos el framework cargado el fichero de configuración de nuestros componentes en el contenedor.

Aquí podemos ver el codigo del fichero MXML.

Configurando las acciones en XML

Una vez que sabemos que acciones queremos invocar tenemos que definir las mismas en un fichero XML que agrupe las mismas en componentes. La estructura del fichero XML para este ejemplo es esta:

En este ejemplo solamente tenemos un componente con una acción. En la definición del componente además de darle un identificador, tenemos que proporcionarle el nombre cualificado de la Clase que va a implementar los metodos de las acciones que vamos a invocar.

Dentro del elemento “component” definimos las acciones. En este ejemplo tenemos una sola acción con un identificador id=”sayHello”, por el cual será invocada a través del guasax container, y un nombre de metodo method=”sayHello” , que identifica el nombre del metodo real que vamos a ejecutar cuando disparemos esta acción.

En este ejemplo se llaman igual pero esto no tiene porque ser así. Hay una serie de atributos que pueden tener los elementos action y component que trataremos en posteriores ejemplos.

Creando la logica de negocio. Los BO

Como hemos comentado arriba , las acciones se invocan de un determinado componente , representado por una clase que denominamos Bussiness Object, u objeto de negocio, en la que delegamos la logica de nuestra aplicación relacionada con el tratamiento, acceso y trasformación de datos dentro de nuestra aplicación. Igualmente desde este tipo de clases conectaremos con el FDS cuando tengamos que invocar este tipo de servicios.

Para lo cual tambíen tenemos en guasax una clase de utilidad , ServiceLocator, que nos ayudará en este fin. Como podemos ver en la clase HelloWorldBO , esta es una clase que en Java denominariamos un POJO (Plain Old Java Object), es decir una clase que no recibe la intrusión del framework en forma de implementación de interfaces o extensión de clases, ligándola a un determinado entorno de ejecución o contenedor. Es una clase simple utilizable en cualquier otra parte de nuetro programa/s sin necesidad de estar bajo el control del framework guasax.

En esta clase simplemente definimos un metodo que como podemos ver se llama sayHello(), igual que el nombre que hemos indicado en el fichero de configuración en XML , en el atributo method=”sayHello”

Invocando la acción

Para invocar cualquier acción siempre tenemos que pensar que la vamos a llamar a través del framework, que como veremos en posteriores ejemplos, nos ayudará a dotar de más posibilidades a la ejecución de un método de nuestra lógica. Para realizar la llamada de una acción tenemos varios metodos, dependiendo del comportamiento que deseemos en la ejecución.

En este ejemplo, simplemente ejecutamos la acción, pasándole, si fuera necesario, los parametros de entrada que recibe el metodo que se ejecuta para esta acción. Como podemos ver en el método de atención al evento “click” del botón , a través del GuasaxContainer , llamamos al método executeAction, pasándole el identificador (un String) de la acción que queremos ejecutar, y un Array de parametros , en este caso null ya que el método no recibe parametros.

Si recibiera parametros , estos se pasarían en el array en el mismo orden en que se reciben los parametros formales del método a ejecutar.

En el caso de que necesitemos recuperar en el mismo lugar de la ejecución el valor que retorna el metodo del BO que estamos ejecutando, recibimos como objeto de retorno de las ejecuciones a los métodos guasax de executeAction un objeto de tipo ResponseActionVO, en el que tenemos un metodo getResult(), del cual podemos extraer el objeto real que devuelve el método que ejecutamos del BO. Un ejemplo de esto podría ser así:

En este ejemplo en la ejecución del metodo, simplemente mostramos un mensaje en forma de Alert. Desde estos metodos normalmente modificaremos el modelo de nuestra aplicación, invocaremos servicios remotos, o llevaremos a cabo célculos complejos que se realizan en local en nuestra aplicación.

Enlaces, recursos, y codigo


Te recomendamos que visites WedTool
Diseño web: Ricardo Tayar
Diseño Gráfico: Luis Miguel Ferrer