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

JDeveloper 11g trabajando con colecciones de datos como DataControl

Es común pensar que JDeveloper es una herramienta que únicamente puede trabajar con base de datos Oracle y con ADF BC, pues ésto es falso.

JDeveloper es una herramienta abierta que permite trabajar con otras bases de datos y con otros frameworks para la parte del modelo (dentro de una aplicación que aplique el patrón MVC).

He desarrollado un pequeño ejemplo (y generaré otros más) para demostrar como se puede trabajar con colecciones de datos (en mi caso ArrayList) para crear una aplicación que muestre los datos de dicha colección en una aplicación Web que utiliza ADF Faces.

Lo primero que realicé fue crear una clase POJO denominada usuario que tiene la siguiente forma:

public class Usuario {

private int usuarioId;
private String email;
private String login;
private String nombres;
public Usuario() {

}

public Usuario(int usuarioId1, String email1, String login1,

String nombres1) {

this.usuarioId = usuarioId1;
this.email = email1;
this.login = login1;
this.nombres = nombres1;

}

Luego he creado una segunda clase que contiene el ArrayList, una colección de usuarios, su forma es la siguiente:

public class ProveedorUsuario {

private ArrayList usuarios = new ArrayList();

public ProveedorUsuario() {
usuarios.add(new Usuario(1, “jorgaf@gmail.com”, “jorgaf”, “Jorge Lopez”));
usuarios.add(new Usuario(2, “j@gmail.com”, “j”, “J”));
usuarios.add(new Usuario(3, “o@gmail.com”, “o”, “O”));
usuarios.add(new Usuario(4, “r@gmail.com”, “r”, “R”));

}

public ArrayList getUsuarios(){

return usuarios;

}

}

Luego creo el DataControl sobre la clase ProveedorUsuario, dando clic derecho sobre la clase y seleccionando “Create Data Control” y listo. Dentro de la pestaña del Data Control puedo seleccionar la opción usuarios y arrastrarlo dentro de una página Web (archivo .jspx creado previamente) y el resultado es el siguiente:

Resultado final

Como se pueden dar cuenta las cabeceras han sido modificadas para que muestre un texto personalizado, que se encuentra en un archivo de propiedades. Para hacer ésto debemos seleccionar (dando doble clic en el archivo) el archivo Usuario.xml que contiene la descripción de la clase Usuario, luego seleccionar cada uno de los atributos y agregar una propiedad dando clic sobre el icono del lápiz que se encuentra en la esquina superior derecha, seleccionar la opción Control Hints y agregar texto en el campo Label Text.

Espero continuar con una serie de éstos ejemplos, hasta llegar a construir una aplicación basada en JPA.

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.