Seminarios Gratuitos de NHibernate en Buenos Aires

Ya están los horarios para los seminarios de NHibernate en Buenos Aires en el que voy a estar junto a Fabio Maulo disertando sobre NHibernate. El lugar es en el Auditorio del MUG: Rivadavia 1479 1º A.

Fechas y Horario:

Miércoles 20 y Jueves 21 de febrero de 2008, en el horario de 18.30 a 21.30 hs.

SEMINARIO 20/02/08 “NHibernate: ORM Persistence Framework”

- Quick Start
- Entorno de test de entities
- Manejo de Session de NHibernate: Qué cosas hacer y qué no.
- Parent-Child
- Overview Lazy-Loading
- Ejemplo de como cambiar base de datos usando los ejemplos generado
en toda la charla.
- Overview NHibernate.Validator

SEMINARIO 21/02/08 “NHibernate Advanced”

- Introducción a NHibernate
- Manejo de Sesiones.
- Conceptos y ejemplos: EntityName, SQL nativa para CRUD, Transformers, StoredProcedure, Named-Queries, Event-Listeners, Filters, MultiQuery, StatelessSession, UserType, UserCollectionType, Batch-size entre otros.
- Queries: HQL, Criteria, SQL Nativo.
- NHibernate.Shards: Estado del arte
- Tunning

cia.vc: Estadísticas Open source al instante

Hace unos días estuve mostrando algunas de las características de Ohloh. La verdad que Ohloh es completo, pero la actualización de la información no es inmediata, y no muestra un avance real del proyecto.

CIA.vc nos provee de una manera más simple pero en tiempo real las estadísticas de commits. Por ejemplo, este es el informe de los commits en NHibernate. También poseemos feed RSS 2.0 para los commits.

Espero que sirva.

Frameworks que ayudan a manejar la sesión en NHibernate

A raíz de este hilo en el foro de desarrolladores de NHibernate, se planteó el hecho de qué framework hacen el manejo de sesión de NHibernate abstrayéndonos bastante en este asunto.

A enumerar:

Por favor avisen si estoy omitiendo alguno en la lista. Gracias ;)

NHibernate Validator en Winforms

Debido a que NHibernate.Validator es un framework para validar objetos, y no tiene restricciones acerca de donde realizar la validación, pensé que podría ser interesante tener algún tipo de integración con Winforms o Asp.Net. Por ahora me inclino hacia el lado de Winforms donde estoy más cómodo programando.

El siguiente ejemplo intenta validar un simple formulario con un par de cajas de texto:

Ahora bien, como fue validado esto? Usando NHibernate.Validator y unas clases ayudantes que se encuentran en Suricato.Winforms.Validation. La clase ViewValidator es la encarga de realizar los enlaces de los controles con las reglas. Esta es la configuración:

Como pueden ver, ViewValidator recibe el ErrorProvider que mostrará los controles que poseen inconsistencia en sus valores. Prácticamente lo que se hacer es enlazar un control de la UI con ciertas reglas que le corresponden a propiedades de un objeto. Por ejemplo el TextBox “tFirstName” se corresponde con las reglas de validación de la property “FirstName” en la clase Customer. Seguidamente se añade el evento que debe realizar la validación del control.

Esto se podría realizar de una manera más fácil? Si, con un esquema similar la clase SmartViewValidator realiza el enlace de los objetos y el registro de los eventos de manera más automática.

SmartViewValidator hará por nosotros algunas cosas automáticamente. Con un poco de menos de código se puede lograr el mismo trabajo, pero debemos ponernos de acuerdo en algunas normas en nuestro código.

Los controles, deben tener un prefijo en minúsculas, seguido del nombre de la propiedad que están representando. Por ejemplo si tenemos un control llamado “txtNombre”, el nombre de la propiedad sería “Nombre”, si escribimos “dtpFecha”, este DateTimePicker se corresponderá con la property “Fecha” de alguna clase.

Debemos acordarnos de inicializar estos controles luego de que InitializeComponent() sea llamado por nuestro formulario, en caso contrario el ErrorProvider valdrá null.

Ahora vemos como luce una clase que posee la validación de NHibernate.Validator:

Como pueden ver, con algunas clases podemos usar NHibernate.Validator también en la UI, solamente hace falta configurar 1 línea por control y todo queda integrado con Winforms.

Descargar el ejemplo de NHibernate.Validator + Winforms

Ohloh !!!

Ohloh es una red open source que conecta a personas que usan y/o contribuyen con proyectos de este tipo. Es algo así como la Web 2.0 de los proyectos OSS, no he visto cosa similar, la verdad que Ohloh es muy completo.

Estuve buscando las herramientas que comúnmente uso y este es mi stack:

Lo bueno de Ohloh es la posibilidad de conectarse con otras personas de todo el mundo que están proyectos que comunmente usamos o nos gustaría participar. Este es el mapa de todas las personas que tienen como stack a NHibernate:

Otro punto interesante es que posee toda la historia del versionado de código de cada proyecto, con esto podemos saber TODO sobre el código de un proyecto en particular. Este es el gráfico de la historia de NHibernate:

Esta es la tabla donde podemos ver los últimos commits en NHibernate. Se podría decir que le falta un RSS en esta parte (por suerte Ohloh tiene un lugar para hacer sugerencias :) )

Portando Hibernate Shards

Como NHibernate Validator está bastante maduro y tiene la gran mayoría de los validadores que posee Hibernate.Validator, empecé hace unos días el port de Hibernate Shards.

NHibernate Shards permitirá el extender el core de NHibernate para gozar deParticionamiento horizontal en tablas.

Los mantendré informado, mientras tanto pueden ir pispeando en el SVN.