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