Reimplementar administración de Usuarios en nuestra aplicación PrimeFaces/JSF/Spring/Hibernate (Parte 1/2)

Con el fin de implementar la persistencia de las cuentas de usuario con Hibernate, vamos a realizar una serie de cambios en nuestra aplicación. En esta primera parte solo inicializaremos las cuentas de usuario de los clientes y la cuenta admin, pero nos servirá para reforzar lo que hemos venido haciendo en capítulos anteriores.

 

Migrando la lista de ventas a Hibernate en nuestra aplicación PrimeFaces/JSF/Spring/Hibernate

En esta ocasión, siguiendo con nuestra aplicación PrimeFaces, migraremos la obtención de la lista de ventas para que sea manejada por Hibernate. De esta manera comprobaremos la capacidad de utilizar consultas SQL nativas parametrizadas de Hibernate.
 

Mejorando el uso de Hibernate en nuestra aplicación PrimeFaces/JSF/Spring

Imagen eliminada.Vamos a mejorar el uso de Hibernate en nuestra aplicación web utilizando una versión mejorada de Hibernate Util, creando una sesión Hibernate por petición web y encapsulándola en su propio hilo, unificando el tratamiento de excepciones e implementando el patron DAO.

Agregar soporte para Hibernate a nuestra Aplicación PrimeFaces/JSF/Spring

Imagen eliminada.Como hacer para que nuestra aplicación tenga soporte para utilizar un mapeador Objeto-Relacional (ORM), particularmente Hibernate.

Hoy en día el uso de los ORM está muy extendido y facilita enormemente la tarea de la persistencia y el mantenimiento de la aplicación, además de dar solución a diferentes problemas inherentes a la temática, por ejemplo: validaciones, caching, logging, tuning, independencia del SGBDR, etc. Hibernate es el ORM Open Source más usado y robusto de que disponemos.

Internacionalizando nuestra aplicación PrimeFaces/JSF/Spring

Siguiendo con la construcción de la aplicación PrimeFaces/JSF/Spring, vamos a agregar la característica de Localización (I10N) mediante el agregado de componentes de Internacionalización (I18N). Un locale es un conjunto de parámetros que define el idioma, país y cualquier otra preferencia especial que el usuario desee ver en su interfaz de usuario.

Generalmente un identificador de locale consiste como mínimo de un identificador de idioma y un identificador de región. Con JSF es fácil de implementar.

Pivot4J - Reemplazo de JPivot en Pentaho BI Server?

Pivot4JEste fin de semana le pegué una mirada a la versión que se viene de Pentaho BI Server 5, son muchos los cambios y pocas cosas funcionan en esta versión TRUNK, de cualquier manera este post no es para hablar de ello, hablaremos un poco de Pivot4J, una nueva implementación de un visor OLAP que se las trae. 

Podemos decir que está basado en JPivot, que se ha reemplazado la librería de backend por API Olap4J y que no impone una UI en particular, pero existe una implementación de UI basada en PrimeFaces.

Integrar Spring en nuestro proyecto JSF/PrimeFaces

En esta ocasión, la idea es incorporar Spring al proyecto JSF/PrimeFaces que venimos desarrollando.

Antes de comenzar diré un par de palabras sobre Spring, comencemos por decir que es uno de los frameworks más extendidos para desarrollo de aplicaciones Java que requieran escalar, fácil mantenimiento y testing entre otras cosas.

 

Control de acceso a datos automatizado con PrimeFaces (Paso a paso)

Imagen eliminada.Siguiendo con PrimeFaces veremos como mejorar la tabla con datos de ventas que hemos desarrollado anteriormente y haciendo uso de nuestro "pseudo" sistema de control de acceso. La idea general de la lógica de validación es que en base al usuario que se haya logueado se filtren los datos sin modificar la vista en absoluto. Para conseguir este objetivo comenzaremos modificando "LoginBean.java".

 

Una tabla con datos de una base de datos MySQL con PrimeFaces (Paso a paso)

Imagen eliminada.Veremos cómo crear con PrimeFaces una tabla que mostrará datos de una base de datos MySQL. Además está tabla permitirá ordenar y filtrar y paginar los datos.

Nos basamos en el proyecto inicial creado en el post: "Primeros pasos con PrimeFaces, Eclipse y Tomcat (Paso a paso)"