Dic 24 2008

AjaxSwing (parte I)

Categoría: DAD,InformáticaMiguel Angel @ 1:40

ajaxswing2Vía The server side encuentro una noticia sobre la última versión de la librería AjaxSwing (2.3). Lo que nos proponen la gente de CreamTec sigue la linea de GWT pero, como ellos mismos dicen, con algunos matices.

La característica principal es que, en tiempo de ejecución, se pueden convertir aplicaciones Swing en paginas HTML y código Javascript. Esto representa una gran ventaja ya que, en teoría, todas las aplicaciones cliente desarrolladas hasta el momento se podrían convertir en aplicaciones Web. Bueno, todos sabemos que este tipo de afirmaciones hay que tomárselas con calma.

Como estas cosas tengo que verlas con mis propios ojos y no me valen las demos, he invertido unas horas de mi vida en desplegar y probar el framework.

Antes de nada hay que comprobar que en la maquina está instalado Java (como mínimo en la versión 1.4).

El framework se encuentra disponible para su descarga, previo registro, en este enlace. Existen dos opciones de descarga: Windows Installer (siguiente, siguiente, …) y Zip (framework disponible para varias plataformas). En este post me voy a centrar en la opción fácil, Windows Installer. Importante: la ruta hacia el directorio de instalación no debe contener espacios. Por ejemplo, C:\Archivos de programa\AjaxSwing\ no es válida. Yo lo he instalado en el directorio (AJAXSWING_HOME) por defecto: C:\AjaxSwing2.3.0

Una vez realizada la instalación hay que lanzar la consola de administración… Inicio->Programas->AjaxSwing2.3.0->AjaxSwing Console y, una vez arrancada esta, hacer lo propio con el servidor Web (Tomcat). Para ello se pulsa en el botón «Start Server».

Desde ese momento tendremos un servidor Tomcat ejecutándose y esperando peticiones en el puerto 8040. Y esta es una de las primeras cosas que me ha sorprendido, incluye un Tomcat listo para funcionar. Sin complicaciones y sin necesidad de estar configurando un servidor para que utilice AjaxSwing. Por cierto, en AJAXSWING_HOME\tomcat\ se encuentra la estructura de directorios de Tomcat, de tal forma que en webapps se pueden desplegar todas las aplicaciones web que se deseen. Por supuesto, se puede cambiar el puerto 8040 por el clásico 8080 de Tomcat modificando el fichero de configuración. Los firewall no dejan pasar una.

De momento sólo se ha instalado AjaxSwing y se ha iniciado la consola y el Tomcat. Todavía falta «transformar» nuestras aplicaciones GUI en aplicaciones Web. En el siguiente fichero se encuentra la aplicación que voy a utilizar, ajaxswinggui.jar.

En la consola de AjaxSwing se lanza el asistente de configuración de la nueva aplicación Web que se generará a partir de la GUI. Para ello se pulsa el botón «App Wizard».

La primera de las pestañas nos solicita el nombre de la nueva aplicación. Se selecciona «New Application» y se introduce el texto «AjaxSwingGUI».

new-edit

La segunda de las pestañas nos solicita: el nombre de la clase que contiene el main (AjaxSwingGUI) y el fichero .jar que contiene la aplicación.

aplication-properties

La tercera, y última, nos pide que seleccionemos si se quiere compartir la maquina virtual entre peticiones o utilizar una por petición (esta opción es la recomendable en entornos de producción). Se deja «InProcess in shared JVM».

web-properties

Se pulsa en finalizar y nos pide confirmación para guardar el fichero de propiedades y probar la aplicación. A mi no me ha cargado la aplicación a la primera (al terminar el asistente). He tenido que ir al menú de la consola y seleccionar View->AjaxSwingGUI.

Bueno, hasta aqui la primera entrada de este pequeño tutorial sobre AjaxSwing. En la siguiente pondré como añadir AjaxSwing a un servidor Tomcat ya instalado y, cuando vuelva a la Universidad, probaré conexiones con bases de datos, uso en entorno real y temas de seguridad.

P.D.: prometo una entrada sobre Google Web Toolkit en cuanto finalice la serie «AjaxSwing» 🙂

Etiquetas: , , , , ,

21 Respuestas a “AjaxSwing (parte I)”

  1. Jordi dice:

    Si que lo he probado en varios ordenadores, incluso lo he probado en ubuntu.

  2. Miguel Angel dice:

    Pues sí el jar se ejecuta sin ningún problema y has seguido los pasos de los dos post… poco más puedo decirte.

    Si quieres me puedes enviar el jar pero no te lo podré mirar hasta dentro de unos días.

  3. Jordi dice:

    Me parece que el problema es con el JFrame, este fin de semana me lo miro y te digo.
    Gracias de todas formas

  4. Jordi dice:

    Buenas,
    El problema era con

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    que el progrma no lo admite, lo he solucionado añadiendo 1 listener,

    WindowListener listener = new FrameListener();
    frame.addWindowListener(listener);

    Lo que la conversión no me la hace muy bien, si me dices como puedo contactar contigo te lo enviaré y me dices.

    Gracias

  5. Miguel Angel dice:

    Tengo pendiente poner un formulario de contacto :).

    Puedes contactar a traves del correo «info» de este dominio.

    Un saludo,

  6. Jordi dice:

    Buenas Miguel,

    Has recibido mi correo? Una última cosa, a parte de AjaxSwing y GWT, conoces alguna aplicación que convierta java a web?

    Un saludo

  7. Miguel Angel dice:

    Hola Jordi,

    Desconozco si existe otra.

    Si encuentras alguna me lo puedes decir??

    Un saludo,

  8. Rolando dice:

    Hola Miguel he provado algunos ejemplos que continen un JProgressBar y no se por que razon no funciona no se si me pudieras ayudar a resolver el problema
    gracias..
    saludos

  9. Miguel Angel dice:

    Hola,

    Hace un par de años que no toco AjaxSwing… en cualquier caso pregunta por si te puedo ayudar.

    Un saludo

  10. Paco Porras dice:

    este programa esta bastante bien lo unico que no me gusta es que las interfaz graficas son un poco cutres nada que ver con las aplicaciones de escritorio parecen que trasforma los Jframe en iframe

Dejar una respuesta