Ejemplo de AJAX con GWT Toolkit.
El ejemplo que se proporciona es similar a la interfase gráfica desarrollada con Swing.
Este primer ejemplo NO tiene aún integración con Swing y pretende mostrar el armado y manejo de eventos de Google
Web Toolkit.
Especial atención poner al Servlet construido.
Instrucciones:
1. Instalar en la computadora el software Google Web Toolkit, que fue proporcionado en clase
o bajarlo de http://code.google.com/webtoolkit/
2. Descomprimir al archivo disponible en http://www.geocities.com/gusdelact/cib4122006/codigo/spring/empleadoajaxgwt.zip y guardarlo en disco duro.
3. Editar tres archivos
empleadoajaxbuild.xml
empleadoajaxgwt-compile.cmd
empleadoajaxgwt-shell.cmd
Cambiar en todos los archivos, la ruta C:/Documents and Settings/gusdelact/Trabajo/gwt-windows-1.0.20/ por la ruta
de la carpeta donde quedo instalado Google Web Toolkit (paso 1)
En el archivo Ant, empleadoajaxbuild.xml, buscar el elemento XML
y cambiar de igual manera
El archivo gwt-user.jar es necesario para compilar el código fuente
4. Crear un proyecto (Java Project) en Eclipse, llamarlo empleadoajaxgwt
Importar el contenido de todos los archivos que estan bajo la carpeta empleadoajaxgwt
5. Configurar en el proyecto de Eclipse, para que la carpeta src, se reconozca como source folder
6. Agregar al "Build Path" del proyecto empleadoajaxgwt, al archivo gwt-user.jar que se localiza en el directorio de
instalacion de Google Web Toolkit.
Al realizar esto, el proyecto no debe tener ningun error.
7. Seleccionar con el boton derecho del raton, al archivo empleadoajaxbuild.xml e indicar Run->Run As ...
Dicho archivo es utilizado para ejecutar Ant, el software para automatizar compilaciones. Ejecutar el "Target" gwtcompile
Debe compilar sin errores, verificar la Ventana de Console de Eclipse.
8. Desde el sistema operativo, configurar a la JVM 1.5 (como se hace en laboratorio, con confjava.bat, pero ajustando
al ambiente donde se estan realizando los presentes pasos)
Cambiarse al directorio del proyecto empleadoajaxgwt y ejecutar al archivo
empleadoajaxgwt-shell
Este archivo manda a ejecutar la consola y navegador de Google Web Toolkit. Debe aparecer la aplicacion Web-AJAX.
Las opciones no implantadas aun son Cambio y Baja
9. Revisar al codigo
El paquete mx.gob.imss.gui.client contiene las clases para la captura de datos.
EmpleadoAltaUI.java -- Es una clase que extiende a Composite de Google Web Toolkit y es un dialogo para capturar datos
del Alta de un empleado
EmpleadoConsultaNombreUI.java -- Es una clase que extiende a Composite de Google Web Toolkit y es un dialogo para consultar
a todos los empleados, dando su nombre. Observar el uso de la clase FlexibeTable
EmpleadoConsultaSueldoUI.java -- Es una clase que extiende a Composite de Google Web Toolkit y es un dialogo para consultar
a todos los empleados,dando un rango de sueldos. Observar el uso de la clase FlexibeTable
EmpleadoConsultaUI.java -- Es una clase que extiende a Composite de Google Web Toolkit y es un dialogo para consultar
a un empleado dando su RFC, que es la llave primaria
EmpleadoUI.java -- Es una clase que implementa a la interfase EntryPoint de Google Web Toolkit y es la ventana principal
que despliega a los menues del sistema, y cada uno de los dialogos anteriores. Observar el uso de la clase MenuBar
EmpleadoDatoUI.java -- Es una clase que implementa a la interfase IsSerializable y es la que se intercambia entre el
navegador (el cliente) y servlet (servidor). Solo contiene propiedades encapsuladas con metodos get/set.
EmpleadoServicio -- Interfase que extiende a la interfase RemoteService de Google Web Toolkit y define al contrato que
debe implantar el servidor que atiende a las peticiones. Observar que esta clase tiene dos metodos con el siguiente comentario
/**
* @gwt.typeArgs
*/
Este comentario es necesario para que el compilador de Google Web Toolkit reconozca que la estructura de datos de tipo
java.util.List contiene en cada celda,m objetos de la clase EmpleadoDatoUI; es decir, cuando retorna a multiples empleados
EmpleadoServicioAsync -- Interfase utilizada para generar las llamadas Asincronas de AJAX. Observar que tiene el mismo
nombre de los metodos EmpleadoServicio, pero los parametros y valor de retorno (todo es void), cambian
El paquete mx.gob.imss.gui.server contiene una sola clase, EmpleadoServicioImpl que extiende a RemoteServiceServlet de Google Web Toolkit
e implementa a la interfase EmpleadoServicio. Es la receptora de todos los mensajes asincronos generados por el navegador
y en cada metodo, responde con objetos predeterminados. Dicha clase sera especificada para integrarla con los beans Spring
El paquete mx.gob.imss.gui contiene al archivo de configuracion EmpleadoUI.gwt.xml, y es donde se configura a la aplicacion
para indicar que el EntryPoint es la clase EmpleadoUI y el servelt es EmpleadoServicioImpl
El paquete mx.gob.imss.gui.public contiene al archivo EmpleadoUI.html, que es la pagina HTML que invoca a los componentes
AJAX.
Tambien contiene a la hoja de estilo, empleadoajaxgwt.css, que es utilizada para definir colores y fonts de los componentes
visuales AJAX
Es muy importante entender el diseño de esta aplicacion
Leer con especial cuidado al manual de Google Web Toolkit, en especial la seccion Developer Guide, Fundamentas, Building
User Interfaces y Remote Procedure Calls.
Observa que la aplicacion es muy parecida en concepto a la realizada en Swing