jueves, diciembre 23, 2010

GWT entorno de trabajo en eclipse

Estoy seguro que encontraran miles, sino cientos de paginas donde explican que es, como funciona, y el famoso hola munto del GWT en eclipse.

Por eso mi proposito es hablarles de la organizacion del espacio de trabajo.

Despues que se decidio que se utilizaria GWT para trabajar, ademas de la intencion de aplicar patrones, como siempre muchos dirian lo primero que debes aplicar es el patron DAO.

Debo indicar que estoy en contra de los frameworks pero este me parecio interesante, muy interesante, y permitia un agil desarrollo.

En GWT aunque estes del lado de java, se dividen en 3 secciones basicas:
a) Cliente (vista)
b) Server (modelo, control)
c) compartido (modelo).

Como ya indique implicitamente al principio, no explicare que es GWT, ni que hace, ni cuales son puntos basicos, ni sus beneficios.

Bien, como implementamos patrones en este punto, no es un entorno normal, y recordemos que los patrones vienen a resolver un problema y el DAO en estas circustancias.

1. Si ya tengo definido el motor de base de datos, para que cojones quiero establecer interfaces o implementaciones para varios motores de base de datos, desde este punto fuera hibernate, fuera unas 5 clases de conexiones, menos trabajo.

2. En GWT los accesos a la base de datos se tratan como servicios, asi que tenemos dos interfaces en la seccion de vista, la clase de implementacion de la lado del server. Como hacermos para indentificar los DAO, la verdad llamerle servicios, que pereza, no me agrada para nada.

3. Las clases de intercambio de datos, bueno podemos salvarlo utilizando la seccion shared, de estas forma no hay que rescribir codigo.

Bien, la separacion quedaria asi:

Entonces como pueden ver, el modelo o los POJO estarian en el shared, ademas de clases de utilieria y funciones como comunes como validadores. (Morado)

Tenemos un paquete DAO en cliente y otro en servidores, pero del lado del cliente, solo son las interfaces, y del lado del servidor la  implementacion, y les he puesto DAO, dado que aunque son servicios asincronos, los utilizo para el accedo a la base de datos. cliente verde, servidor Azul.

Seguro ya se enteraron, sino aca otro tip.
1. Del lado del servidor no puede haber nada que (clase o codigo) que se convierta a Javascript, del lado del cliente, no puede ni una clase, que no se pueda convertir a javascript, y en el modulo shared, pueden estar solo las clases o codificacion que se pueda convertir a javascript y que permita implementar codigo util del lado del servidor.

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

POST MAS populares