Sunteți pe pagina 1din 10

Proyectos en GWT

3.2.1 Introducción

GWT es un conjunto de herramientas de código abierto que permiten al


desarrollador Web crear aplicaciones e interfaces JavaScript complejas.

Con GWT se puede rápidamente crear y depurar aplicaciones AJAX en


lenguaje Java. Cuando la aplicación es implementada, el compilador de GWT
traduce el código Java a archivos JavaScript que pueden ser de “código
ofuscado” si es requerido.

GWT no esta solamente enfocado en resolver problemas de creación de


interfaces, también puede ser utilizado para crear cualquier clase de
aplicaciones y funcionalidades de tipo Cliente, esto transforma a este
Framework en una herramienta ideal para el desarrollo de aplicaciones en
Java.

Las aplicaciones GWT pueden ser ejecutadas en 2 modos:

Modo de desarrollo: El código es ejecutado dentro de la maquina virtual


de Java (JVM). Este modo, como el nombre lo indica, es utilizado para el
desarrollo de aplicaciones porque soporta la modificación de código en tiempo
real y depuración.

Modo de producción: La aplicación se ejecuta completamente en código


JavaScript y HTML, compilado desde el código de fuente en Java. Este modo
es utilizado principalmente para la implementación.

Existen mucho plugins para implementar el Framework en diferentes IDE


para facilitar el desarrollo, como NetBeans, Eclipse, etc.

FUDEA, Temuco 1
Componentes

Los principales componentes de GWT incluyen:

Compilador GWT de Java a JavaScript

Traduce el código de programación Java a lenguaje JavaScript. A


diferencia de los minimizadores de JavaScript, que solo funcionan con texto, el
compilador de GWT realiza optimizaciones y un análisis estático completo de
toda la base de código de GWT y, frecuentemente, genera código JavaScript
que se carga y ejecuta con mayor rapidez que el código JavaScript equivalente
creado de forma manual. Por ejemplo, el compilador de GWT suprime de forma
segura todo el código no utilizable (mediante una exhaustiva tarea de
eliminación de clases, métodos, campos, e incluso parámetros, que no se
utilizan) para asegurarse de que el archivo de secuencias de comandos
compilado sea lo más pequeño posible. Otro ejemplo: el compilador de GWT
realiza una sustitución selectiva de llamadas a funciones en los métodos, lo
que permite optimizar el rendimiento de las ejecuciones de métodos.

Modo de desarrollo GWT

Permite a los desarrolladores ejecutar aplicaciones GWT en modo de


desarrollo (la aplicación es ejecutada dentro de la maquina virtual de
Java sin ser compilada). En la versión 2.0 de GWT, el modo de
desarrollo ejecuta la aplicación dentro de cualquiera de los navegadores
más populares. Durante el desarrollo de una aplicación, puedes ver
inmediatamente los cambios que hayas realizado en el código mediante
el navegador de modo alojado de GWT. No es necesario que vuelvas a
compilar el código en JavaScript ni que lo implementes en un servidor.
Solo tienes que realizar los cambios que desees y hacer clic en
"Actualizar" en el navegador de modo alojado.

FUDEA, Temuco 2
Emulación de librería JRE

Implementación de las clases mas usadas dentro de la “Java standard


class library”.

Librería GWT de clases Web UI

Un conjunto de interfaces personalizadas y clases para la creación de


Widgets.

Características

 Componentes UI dinámicos y reusables: los programadores pueden usar


clases predefinidas para implementar comportamientos dinámicos
complejos.
 Mecanismo de RPC simple.
 Administración del historial de navegación.
 Soporta depuración de Java con todas sus funciones.
 GWT controla problemas de compatibilidad con distintos navegadores.
 Integración con Junit.
 Los desarrolladores pueden mezclar código JavaScript en el código de
fuente de Java usando la interfaz nativa de JavaScript (JSNI).
 Soporte para la utilización de APIs de Google in aplicaciones GWT.
 Es de codigo abierto.
 Como se programa en Java y no en JavaScript, los desarrolladores
pueden diseñar y desarrollar sus aplicaciones en un modo de orientación
a objetos. Errores comunes de JavaScript son capturados en tiempo de
compilación
 El código JavaScript que genera el compilador de GWT puede ser
configurado para que sea ofuscado y fácil de entender u ofuscado y fácil
de descargar.

FUDEA, Temuco 3
3.2.2 Creación de proyectos en GWT

Para la creación de un proyecto GWT fue utilizado el IDE Eclipse, con el


plugin de GWT necesario para su funcionamiento.

El primer paso es crear el proyecto, se selecciona en la opción “New”:

A continuación se selecciona el tipo de proyecto “GWT Java Proyect”:

En esta ocasión se utilizara un nombre de Ejemplo “DemoGWT” para el


proyecto.

FUDEA, Temuco 4
Se selecciona la creación del módulo GWT:

Ahora el ejemplo de GWT ha sido generado y esta listo para su ejecución.

FUDEA, Temuco 5
Para ejecutar la aplicación predefinida se debe seleccionar el archivo
ImageViewer.java (el archivo módulo) y con el botón derecho del mouse se
abre el menú contextual. Se pueden usar las opciones “Run as” o “Debug as”.
Lo único importante es que se ejecute como Google Web Application:

A continuación en la consola aparecerá un mensaje especial. En la pestaña de


“Development Mode” aparece la URL a la que debemos dirigirnos si se desea
probar la aplicación:

Copiamos la URL en nuestro navegador y podremos ver la aplicación. Se nos


solicita instalar un complemento especial para que nuestro navegador pueda
estar en modo de depuración con el GWT. Cuando el sistema entra a
producción ya no es solicitado este complemento para el navegador, en este
caso el navegador utilizado es Firefox:

FUDEA, Temuco 6
Una vez instalado el complemento solicitado por el navegador podemos ver la
aplicación:

A continuación probaremos la capacidad de hacer la edición visual de la


interfaz en GWT. Para ello el archivo ImageViewer.java debe ser abierto (con
doble clic sobre el nombre del archivo en el “Package Explorer”) y luego
debemos abrir la pestaña “Design” con el archivo abierto en el editor:

A continuación veremos cuatro áreas importantes:

 Structure: La estructura o jerarquía de clases, fijarse que en nuestro


ejemplo el rootPanel tiene objetos “dentro” de él.
 Properties: Las propiedades de cada objeto, donde incluso puede
cambiarse el nombre de la variable con que identificas el objeto.
 Palette: La paleta de objetos.
 Área de trabajo: El área donde modificamos la posición, tamaño y otras
propiedades visuales de los objetos. Además se pueden arrastrar
nuevos objetos o eliminar los ya existentes.

FUDEA, Temuco 7
Para el ejemplo, haremos que la aplicación reciba un nombre en una caja de
texto, este nombre se mostrará en el “alert” que aparece al hacer clic al botón y
posteriormente este mismo nombre se envía a una nueva caja de texto de sólo
lectura, a modo de “resultado”.

Para ello modificaremos las líneas 25 y 33 de ImageViewer.java y


agregar/modificar el código en las líneas 47, 48 y 49. La modificación para las
líneas 25 y 33 corresponde a hacer las variables finales, de tal forma que el
código dentro del “onClick” pueda hacer uso de esas variables:

Finalmente se puede ver el resultado del ejemplo:

FUDEA, Temuco 8
3.4. Arquitectura Orientada a Servicios (SOA)
SOA es un paradigma o estilo de arquitectura que se basa en la creación de
un conjunto de servicios, de diferente granularidad, entre los procesos de
negocio y las aplicaciones, con un objetivo:

 Modelar la lógica de negocio como servicios para poder expresar


la capa de negocio mediante la facilidad que ofrece la
orquestación de los mismos.

 Crear una capa de servicios que ofrezca la funcionalidad de la


capa de aplicación olvidándonos de la tecnología que la soporta.

 Minimizar las dependencias entre la capa de negocio y la de


aplicación para desacoplar el negocio de la tecnología, y de este
modo permitir los cambios en cualquiera de ellas. El objetivo sería
favorecer la Agilidad para el Negocio.

 Reutilizar los servicios de negocio creados en la organización, por


medio de su publicación en el Bus de Servicios Corporativos
(ESB-Enterprise Service Bus).

Los servicios creados modelan la empresa según múltiples niveles de


abstracción, y por tanto SOA se dice que tiene varios niveles de servicios:

Servicios de Aplicación (Application Services)

Servicios de Negocio (Business Services)

Servicios de Orquestación (Orchestration Services)

FUDEA, Temuco 9
FUDEA, Temuco 10

S-ar putea să vă placă și