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. Paco porras dice:

    lo unico que no me gusta de este programa es que las interfaz graficas son un poco cutres parecen mas bien iframe que jframe

Dejar una respuesta