SmartGWT

Buscando algo de información sobre GWT, me he encontrado con el proyecto SmartGWT, que es otro extensión para Google Web Toolkit. Lo que más me llamó la atención es que al parecer uno de los desarrolloradores de GWT-Ext está trabajando en éste SmartGWT y lo más destacable es que tiene soporte para DataBiding y Data Integration. Además de poseer otras características y herramientas que facilitan la integración con base de datos. Aquí la página con los demos.

Viene en 2 versiones (típico) una versión libre y otra versión empresarial de pago, ésta última tiene algunas herramientas adicionales.

Ahora me pregunto, con la versión 1.5 del GWT ya se soporta JPA ¿es necesario éste tipo de aplicaciones? En algún lugar leí que aún se tiene problemas al tratar de enviar los objetos anotados con Entity, pero nunca lo he probado. Ahora que hablo de GWT, GWT-Ext y base de datos les comparto un link en donde pueden encontrar 3 vídeos para saber cómo trabajar con GWT más Eclipse más GWT-Ext más Base de datos. En verdad se puede construir en cualquier otro entorno sin problemas. Link

GWT y Base de Datos

Dentro de una de las materias que llevo en la UTPL, estamos analizando GWT como alternativa para el desarrollo de aplicaciones AJAX. Dentro de éste marco preparé unas clases en donde se muestra cómo se puede interactuar con un servidor Web y a su vez con su servidor de base de datos.

Se mostró el uso de GWT-RPC y servlets, la primera de las opciones tal vez la más compleja (por el manejo de interfaces y clases) mientras que la segunda con el problema de comunicar los resultados (éxito o error) con el trabajo de la base de datos. Obviamente ambos superables.

Se utilizó como base de datos Derby DB que viene configurada para el trabajo con NetBeans y que por razones didácticos es más que suficiente.

Para la GUI, la base es GWT, pero extendida con las características GWT-Ext, configuradas como señalé en un post anterior. Personalmente creo que GWT-Ext colabora enormemente en el desarrollo rápido de éste tipo de aplicaciones.

Les comparto los links en donde pueden descargar el proyecto completo y las librerías que se necesitan así como también algunos archivos de configuración (gwtext.jar, derbyclient.jar), el script e la base de datos.

Proyecto.

Archivo adicionales.

GWT-Ext con NetBeans – Configuración

Es conocido que dentro del mundo de NetBeans existe un plugin que nos permite crear aplicaciones GWT y también conocemos la existencia de GWT-Ext que nos aporta con widgets adicionales a los que trae GWT, ahora lo que creo que no es tan conocido es como trabajar con GWT-Ext y NetBeans, esto lo digo porque tuve un par de problemas que me retrasaron algunos minutos, les comparto mi experiencia.

Partiendo que tenemos instalado GWT y configurado NetBeans con su plugin y un EntryPoint, debemos hacer lo siguiente para configurar GWT-Ext en nuestro proyecto:

  1. Agregamos el archivo gwtext.jar a nuestro proyecto. Clic derecho sobre Libraries, luego Add JAR/Folder…
  2. Ahora debemos hacer un Clean&Build de nuestro proyecto. Clic derecho sobre el nombre del proyecto y buscamos dicha opción. Esto lo debemos hacer ya que es necesario copiar algunos archivos (hojas de estilo y código JavaScript) dentro de la carpeta js que se encuentra en <Tu_Proyecto>/build/web/<nombr_paquete>/js/ext. Se debe crear la carpeta ext
  3. Copiar los siguientes archivos y directorios, los mismos que se son parte de la descarga de ext2.0.2 (como lo señala GWT-Ext, cuando lo descargamos). Se debe copiar lo siguiente: ext-all.js y las carpetas adapter y resources a la carpeta que se menciona en el punto 2.
  4. Modificar el archivo xxx.gwt.xml agregando las siguientes líneas:

<inherits name=»com.gwtext.GwtExt»/>

<entry-point class=»ec.loxa.client.prbEntryPoint»/> OJO: esto cambia solo lo ubique para mostrar el orden, aunque no estoy seguro de que tenga alguna implicación.

<stylesheet src=»js/ext/resources/css/ext-all.css» />
<script src=»js/ext/adapter/ext/ext-base.js» />
<script src=»js/ext/ext-all.js» />

Y listo tenemos lo necesario para empezar a trabajar, ojo si le das un Clean&Build o un Build a tú proyecto debes volver a repetir los pasos 2 y 3.

Espero que sea de su ayuda.

Ejemplos de aplicaciones GWT

Buscando ejemplos sobre aplicaciones GWT para mis alumnos, me he encontrado con un sitio denominado Google Web Toolkit Applications que muestra algunos ejemplos que han sido desarrollados para un libro con el mismo nombre.

Los he revisado y me parecen bastante interesantes y por supuesto el libro también. Les comento los ejemplos:

  • Gadget Desktop: Una aplicación al estiglo Google Ig, es decir tabs, y gadgets que se pueden ubicar, arrastrar y ordenar según nuestro conveniencia.
  • Multi-Search: Un cliente que permite realizar búsquedas a diferentes motores de búsqueda y que utliza JSONP.
  • Blog Editor: Se conecta a Blogger utilizando REST/GData API.
  • Instant Messenger: Google Talk se podría decir, ilustra el uso de GWT RPC.
  • Database Editor: Herramienta para el manejo de datos, muestra el trabajo con JSON, PHP, REST, GWT RPC con un servlet Java e Hibernate

Ahí se los dejo para que lo revisen y puedan disfrutarlos.

Un cliente para Google Talk programado en JDeveloper

Hace mucho tiempo que no tenía noticias sobre JDeveloper, pero ahora me ha llegado a mi lector RSS una noticia muy interesante.

Lucas Jellema ha creado un cliente para Google Talk utilizando Oracle ADF Faces Rich Client y Active Data Service. El primer concepto lo conocemos todos, pero el segundo me ha resultado interesante, básicamente permite que nuestras aplicaciones se refresquen automáticamente cuando reciben información y nos evitar ubicar algún botón de actualización (se imaginan un chat que tenga que actualizarlo periódicamente dando clic en un botón)

Les dejo el link y esperemos que muy pronto podamos contar con la versión de producción de JDeveloper 11g.

Build a Google Talk Client Using Oracle ADF Faces Rich Client and the Active Data Service

Un par de ejemplos que usan AJAX en JSF WoodStock

Nuevamente revisando los tutoriales de NetBeans, aquellos que se muestran en la página de inicio cuando se abre NetBeans, me encontré con 2 tutoriales en donde se muestra como aplicar AJAX en una aplicación Web, uno de ellos desarrollado utilizando JSF «puro» (sin ningún otro framework) y el segundo desarrollado utilizando Dynamic Faces.

Les comento que el que utiliza Dynamic Faces es un tipo de chat que me parece interesante y el otro se trata de un tutorial en donde se muestra como trabajar con ListBox más conocido como combobox.

Aquí los links:

Saludos.

El camino para aprender JDeveloper y ADF

Revisando uno de los correos que me llegan a través del grupo JDeveloper de Yahoo me he enterado de la existencia de éste post (How Do I Start Learning JDeveloper and ADF)

En donde básicamente se hacen varias recomendaciones del camino a seguir para aprender a utilizar JDeveloper y ADF utilizando, en la mayoría de los casos, material disponible en el Internet.

El primer paso que se menciona, para quienes vienen desde cero, es aprender Java Básico; en éste sentido café lojano puede ayudar ya que estamos preparando un curso OnLine gratuito revisen nuestro entorno virtual de aprendizaje – LabCampus, seguiremos con novedades.

Lector RSS elaborado en JDeveloper 11g

Durante éstos días he estado desarrollando una pequeña aplicación que permita leer los post de un blog al estilo Google Reader (obviamente respetando distancias). Espero que ésta pequeña muestra les sirva de ayuda e inspiración para mis alumnos de Programación Avanzada de la UTPL.

Para el desarrollo de la aplicación utilicé lo siguiente:

lectorrss.png

El lector permite crear, editar los sitios o blog’s de los cuales se obtendran las entradas, así como seleccionar un sitio para ver las entradas (utilizando AJAX). Tengo problemas con la parte de crear un nuevo sitio, al parecer el objeto está en cache y no se refresca luego de la creación.

Comentarles que ha dejado impresionado la facilidad con la que se puede refrescar, una determinada sección de la página, en base a los eventos generados por otro elemento.

Me comprometo a crear un tutorial paso a paso para los próximos días, por ahora les dejo el link desde donde pueden descargar el proyecto completo.

NOTA: Si están destrás de un proxy, deben configurarlo en JDeveloper antes de ejecutar la aplicación.

Powered by ScribeFire.

Desarrollando interfaces JSF basadas en Ajax.

Una introducción a ADF Faces Componentes Ricos en el Cliente.

Se trata de un tutorial, de una duración aproximada de 90 minutos, en donde aprenderemos a crear páginas JSF utilizando Oracle ADF Faces Rich Client (RC). Aquí el tutorial.

Oracle ADF Faces Rich Client es un conjunto estándar de componentes JSF que incluyen funcionalidades AJAX preconstruidas. Mientras Ajax permite ejecutar aplicaciones ricas en el cliente, sobre una base de tecnologías estándares de internet, JSF provee el control del lado del servidor, lo cual reduce la exagerada dependencia de JavaScript, que a menudo se encuentra en aplicaciones Ajax típicas.

Otro material (al cual llegué por error) es el que muestra Shay Shmeltzer en su blog y concretamente en ésta entrada.

Powered by ScribeFire.

Creando componentes Java Server Faces reutilizables en JDeveloper

Una de las principales formas de ahorrar tiempo, cuando se desarrolla aplicaciones, es crear componentes reutilizables que pueden utilizarse en diferentes partes o secciones de una aplicación.
En un post anterior se mostraba como crear componentes reutilizables con NetBeans para una aplicación Swing de escritorio (desktop) y ahora he encontrado un post en donde se muestra como construir componentes reutilizables para una aplicación Web, desarrollada en Java Server Faces, utilizando JDeveloper.
Les dejo el link: Reusability in JDeveloper and ADF: Declarative Components – just like Forms Object Libraries!

Componente reutilizable

Powered by ScribeFire.