Bienvenida

Como todo en la vida, la innovación es la clave del éxito por lo que nos hemos visto en la necesidad de "evolucionar" este blog para abarcar muchos otros temas que estaban quedando de lado en nuestros cursos "oficiales".

Si deseas aprender o profundizar algunos temas en particular, no dudes en contactarnos.


miércoles, 28 de diciembre de 2011

Acerca de Android ....



Buen blog sobre dispositivos móviles ( y Android por supuesto ).

LP-II Ejemplo : Servlets, JSP y PopUp

Despues de un par de ciclos vuelvo a dictar el curso de LP-II. Aunque lo he tomado recien luego de los parciales, algunos alumnos me han pedido que les dé un ejemplo de PopUps. Aunque no soy muy partidario del uso de JavaScript (porque no corre igual en todos los navegadores) , aqui va el ejemplo que he tratado de hacerlo lo más estandar posible para IE, Chrome y FireFox :

La Aplicación es bastante sencilla he obviado el acceso a base de datos  y por ello la data está como variables fijas (por eso el paso 1)

1) Tiene un único servlet que se carga al inicio: en el web.xml vean la línea que dice       <load-on-startup>1</load-on-startup>

Esto se hace con el fin que en el método INIT del servlet se guarde en el contexto de la aplicación el HashMap "allCars" :

    public void init() {
            allCars.put("Renault", carsRenault);
            allCars.put("Fiat", carsFiat);
            allCars.put("Toyota", carsToyota);
            this.getServletContext().setAttribute("allCars", allCars);
    }

2) La aplicación inicia con la página: pagina1.jsp
Esta página es un formulario que tiene 2 botones: uno sirve para invocar al JavaScript que abre la ventana de popup y el otro sirve para hacer submit del formulario ( invocando al alias denominado "s01" que corresponde al servlet ).


3) Cuando se abre la ventana de popup, se recupera del HashMap que está en el contexto de la aplicación  la lista de modelos de auto y se muestran en una tabla (usando JSTL  observen bien el detalle ...)

Si el usuario selecciona un modelo, el JavaScript de esta página se encarga de escribir dicho valor en la ventana padre ( esta es la parte dificil pues se debe escribir así para que sea estandar a todos los navegadores, aunque en IE permite saltarse algunas cosas ) y cerrar el popUp.
 
4) Finalmente, una vez seleccionado el modelo, presionamos el botón "aceptar" para hacer el submit del formulario y se mostrará la página 2 que simplemente es un texto indicando el modelo seleccionado.



Nota: Todas las páginas JSP están con código JSTL. Puedes descargar la aplicación dando click aquí.

¡ Feliz año nuevo ! 


PD: No te olvides de dejar un comentario. gracias !




martes, 27 de diciembre de 2011

JSF: Manejo de imágenes con PrimeFaces

En este pequeño tutorial, trataremos el manejo de imágenes no sólo desde el punto de vista de JSF, sino tambien almacenando y recuperando la imagen desde la Base de datos utilizando para ellos JPA ( EclipseLink).

En primer lugar explicaré que la implementación de referencia de JSF ( Mojarra ) viene con 4 librerías:
h: HTML
f : Core
ui: Facelets
composite: Librería de componentes compuestos.

Pese a todo ello, la implementación de referencia no me permite trabajar con imágenes que no sean archivos en disco o en las "library" dentro del proyecto.

Entonces, tenía que buscar una extensión ( implementación ) que me permita manipular imagenes como arreglos de bytes en memoria ( que es lo que hace JPA cuando saca la imagen de la Base de Datos ). La librería escogida fue "PrimeFaces" debido a que es ligera y no requiere dependencias de otras librerías.

He ejecutado algunos cambios en la base de datos para que las relaciones entre  las tablas y las entidades sean correctas, Aquí está el nuevo modelo de Base de datos.

PARTE 1 : Grabar una imagen
Como vimos en el ejemplo del Banco, queremos registrar a un nuevo cliente, su dirección y su foto que posteriormente serán mostradas.

Para ellos vamos a cambiar alguna partes de la página registroCliente.xhtml para que se visualice así:


Nota que se capturan los datos del cliente ( corresponden a la entidad "Customer" ).

Luego se capturan los datos de la dirección ( corresponden a la entidad "Custadddress" ).

Finalmente se pide la foto que corresponde a la entidad "Customerinfo".

La página debe sufrir las siguiente modificaciones:

 Notar que se declara una librería "p" para primefaces.





Cuando se trabaja con archivo, el formulario debe incluir el encoding type:




Finalmente, el archivo se maneja con esta linea de código y en donde se observa el campo está asociado a una managed bean llamado UPLOADController ( archivo FileUploadManagedBean.java ).

Cuando se ejecuta el POST, el managed Bean "UsuarioManagedBean" activa el método "registrar". En este método se convierte lo que captura primefaces en un arreglo de bytes para JPA y se ejecuta el insert de 3 tablas en una sola operación gracias a las relaciones de las entidades:



PARTE 2 : Mostrar una imagen
Una vez registrado el usuario, al momento de ingresar al sistema, se debe mostrar lo siguiente:
















Para mostrar esto, el managedBean llamado "LOGIN" ( clase java LoginManagedBean.java) debe convertir el arreglo de bytes de JPA a una clase particular de PrimeFaces 



De tal forma que al lanzar la página, se utilice el tag "p" de la forma siguiente:


¿ que te pareció ? ... Bastante fácil con la ayuda de PrimeFaces.

¡¡ Hasta la próxima !!

PD: Si quieres descargar la aplicación completa, da click aquí (pesa como 11 MB)  y por favor no te olvides de dejar un comentario.

lunes, 26 de diciembre de 2011

Video Curso : NoSQL MongoDB

MongoDB is one of the new open source databases that focus on the ideas of the NoSQL (Not Only SQL) approach. This database is employed to handle documents in a free schema design that gives to the developer great flexibility to store and use data. 

This course focuses in the MongoDB technology as a tool to implement new ways to store and handle data that can be modeled as a document format. 

The videos in the course covers download, installation, configuration, schema design, an overview of the database structure, CRUD operations, aggregations and map-reduce, indexing, integration of MongoDB with PHP, Perl, Pyton, Java, Ruby and .NET drivers, replication, sharding, GridFS and other administrative operations of MongDB. 

All the examples and scenarios discussed are presented in real world situations. 

The main audiences of this course are an IT professional that have basic knowledge of programming and databases who wants to start with NoSQL technology through MongoDB. Since the course focus on beginners and explain every basic concept there is no business requirements needed to be known before the start of the course.

miércoles, 21 de diciembre de 2011

Online Session for Oracle Applications Development Framework (ADF)

Querent Technologies is pleased to invite you to join the upcoming Online Session for Oracle Applications Development Framework (ADF).

Detailed Date and Time of Session

India Standard Time - December 24 at 07:00 AM
Pacific Standard Time - December 24 at 05:30 PM
Central Standard Time - December 24 at 06:30 PM
Eastern Standard Time - December 24 at 08:30 PM
Australian East Standard Time - December 24 at 11:30 AM
UAE Standard Time - December 24 at 05:30 AM

A Free Demo Session is planned on 24th Dec 2011 at 7:00 AM (IST)