Parte 3: Conectando el EJB con la interface Flash

Por último vamos a utilizar los conectores de Flash Remoting para hacer la conexión de la interface y el EJB.

Este paso tiene varias soluciones, yo voy a describir la más sencilla, que es utilizar los componentes de Justin Watkins (la persona detrás del proyecto de Flash Remoting para PHP, AMFPHP). Si no los tienes ya descargalos aquí.

Nota: Dependiendo del uso que se le vaya a dar a nuestra aplicación podemos hacer las conexiones desde código para que el peso de nuestros ficheros .swf sean menores. Pero esta es una manera rápida de empezar y quizá mejor para explicar este tutorial.

Una vez instalados los componentes seguid los pasos siguientes para completar el tutorial:

  1. Abrir nuestro fichero creado en el apartado anterior: Tutorial_EJBOpenAMF.
  2. Arrastrar el componente Remoting Connector recién instalado a la capa GUI objetos, desde la ventana de componentes.

    Utilizad los siguientes parametros para el componente:

    • nombre: ejb_rm
    • gatewayURL: http://localhost:8080/openamf/gateway (esto depende de como tengais configurado vuestro servidor y OpenAMF, pero esta suele ser la configuración más genérica.
    • method: devuelveIMC
    • service: CalculaIMCBean (Este es en mi caso el nombre JNDI de nuestro EJB, dependiendo de vuestra configuración esto puede cambiar (por ejemplo a algo del estilo a: ejb/com/carlosrovira/CalculaIMCHome)

    Este componente no es visible en tiempo de ejecución asi que podeis colocarlo en cualquier parte de la pantalla.

  3. Crear una nueva capa llamada Actions, y colocarla la primera de todas.
    • En el primer frame colocar el código mostrado después del último punto.

      Este código dispara nuestro conector de Flash Remoting para llamar al EJB del servidor. Primero recoge los datos necesarios (el peso y la estatura), y los guarda en el array params (que es el array usado por el conector para guardar los argumentos que le pasamos al método al que vamos a llamar) y seguidamente llama al método trigger() que es el que hace realmente la llamada al servicio remoto.

  4. Mediante Databinding relacionar el conector con el Label donde aparecerá el resultado.
    • Seleccionar el conector ejb_rm.
    • En el panel Component Inspector, ir a la ficha de Bindings y pulsar el botón +.
    • En el panel Add Binding, seleccionar results: Object, y pulsar Ok.
    • Ahora tenemos una entrada en el panel Component Inspector titulada results. Sus propiedades deben ser:
    • direction: out
    • bound to: resultado_txt:text
    • formatter: none
  5. Por último. Salvar nuestro fichero .fla como Tutorial_EJBOpenAMF, el nombre que le pusimos en el anterior apartado…
calcula_btn.onPress = function()
{
        ejb_rm.params[0] = Number(estatura_txt.text);
        ejb_rm.params[1] = Number(peso_txt.text);
        
        ejb_rm.trigger();
}

Ya solo queda testear que todo funciona correctamente. Arranca tu servidor para tener disponible el EJB y pulsa en el IDE de Flash las teclas CTRL+ENTER para testear o publica con SHIFT+F12. Si todo es correcto al introducir tu peso y tu altura en las cajas de texto y pulsar el boton Calcula IMC debe rellenarse la etiqueta resultado con tu Indice de Masa Corporeo (IMC). Eso si…sino aparece un número que te guste… no le eches la culpa a este tutorial 😉 . La fórmula para el IMC elegida puede no ser del todo correcta…

Muchas gracias por seguir este tutorial, espero que te haya sido de utilidad, te haya gustado y que visites este blog en otra ocasión.

🙂

C.

3 Comentarios

  1. ese curso esta de un full, gracias pero pudieses ampliar la parte de php, ya que hay perosonas que no son tan expertas en esas aplicaciones. Saludos de Venezuela.

  2. Ok Darry. Gracias por tu comentario. 🙂
    Tengo pensado tratar tambián temas de PHP sobre todo orientado a Flash Remoting, pero tendrá que ir haciendolo poco a poco, ya que no dispongo de todo el tiempo que me gustarí­a…
    Estos dí­as estoy por Barcelona por cuestiones de trabajo, y me gustarí­a sacar tiempo de algún sitio para hacer más tutoriales sobre diversos temas que tengo en mente, haber si es posible…
    Tambián tengo pensado el ir haciendo un indice donde colocar estos tutoriales conforme están terminados en versión lista para imprimir.

  3. 1. Me gustaria saver si tusaves configurar el componenete \”remoting connector\” y el \”dataset\” y el \”datagird\” o alguno de ellos pero con puro action script, sin usar \”Binding tab\”
    mauricio :: jue, 2005/04/29, 16:01

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *