martes, 23 de abril de 2013

How to... Como comenzar un proyecto con NHibernate y PostgreSQL en C#. Ejemplo práctico

Desde hace unos días que me toca lidiar con C# para un desarrollo de escritorio y estamos comenzando con ello. Durante el desarrollo queremos usar NHibernate con Persistence ya que simplifica enormemente el uso de bases de datos y en otros proyectos lo he empleado extensivamente, aunque siempre con Java.
Antes de entrar en materia, para aquellos que no tengan experiencia previa en NHibernate les recomiendo leer estas dos entradas (esta y esta) para conocer un poco sobre su funcionamiento. 
Lo que voy a hacer es un ejemplo muy básico, empleando una clase que llamaremos Empleado.cs con varios atributos de tipo string. Además mapearé la clase con un fichero empleado.hbm.xml. Como base de datos usaré PostgreSQL sobre Windows. Podéis consultar en esta entrada del blog como instalarlo y ponerlo en marcha.
Lo primero de todo es la creación del proyecto con Visual Studio 2012. Para ello en File-New Project vamos a elegir Windows Form Application y le llamaremos Ejemplo:
 

jueves, 18 de abril de 2013

Como agregar NHibernate a un proyecto en Visual Studio 2012

En otra entrada (aquí) os comenté que iba a usar Nhibernate para poder tener una capa de persistencia en nuestras aplicaciones. El entorno que estoy usando es Visual Studio Express 2012 ya que se trata de la versión gratuita de la herramienta de desarrollo y lleva incorporado Nuget para incorporar referencias y librerías al proyecto. Nuget lo que nos ayuda es a asociar paquetes a nuestro proyecto de forma automática, evitándonos tener que realizar la inclusión de las librerías a mano. 
Para ver como funciona, partimos de un proyecto que tenemos en blanco y le vamos a añadir las librerías de NHibernate y de Fluent NHibernate que también emplearemos posteriormente. Para ello hacemos click con el botón derecho encima de References y hacemos click en Manage NuGet Packages:
 

Como usar Hibernate en C#: NHibernate




Los que seguís el blog veréis que la mayoría de aplicaciones y lios en los que me embarcan en la empresa o me embarco yo solo están relacionados con Android y Java. Pero ahora me veo obligado a tener que usar C# debido al uso de Sherlock (una software para aplicaciones y sistemas de visión)

En Java siempre que necesito emplear bases de datos y almacenar y leer información de ellas suelo emplear Hibernate con Annotations ya que se facilita la creación de objetos que directamente leen y escriben en la base de datos mediante la manipulación de objetos. Dicho de otro modo, puedes generar una apliación que realice millones de consultas y modificaciones en base de datos sin tener que escribir ni un solo select, insert, update o delete, sino manejando objetos objetos Java. 
Para hacer esto mismo pero usando C# tenemos las librerías NHibernate. Actualmente se encuentran por la versión 3.3.3 y en cuanto comience a usarlo os iré escribiendo manuales sobre su funcionamiento.

How to ... Como instalar PostgreSQL en Windows

Habitualmente PostgreSQL lo he empleado en Ubuntu Server pero ahora me surge la necesidad de usarlo en Windows. Para descargarlo tenemos que bajar la última vesión de aquí. La que tenemos disponible a fecha de hoy es la 9.2.4.1 y para instalarlo, sino queremos cambiar nada simplemente se trata de la típica instalación en Windows con siguiente, siguiente, ..

Primero una pantalla de bienvenida y las carpetas donde queremos instalar el motor de la base de datos y los datos en si:

martes, 9 de abril de 2013

If this then that o como automatizar tareas en Internet

Esta mañana me han sorprendido +Pablo Ruiz Molina y +Jose Ramón Belando con una pedazo de herramienta que yo no conocía llamada If this then that y que me parece una joya, una herramienta que te preguntas como no la conocías antes. 


La aplicación permite crear lo que llama "recipes" y sirven para automatizar tareas en Internet, permitiendo  automatizar todo aquello que te imaginas ... si, todo aquello que puedes imaginar. A modo de ejemplo, que te guarde en Dropbox las fotos de Instagram, publicar en Linkedin o Twitter cada vez que escribas en el blog, hacer una acción cuando marcas como favorito un email en Gmail, realizar una acción cuando guardas un Link en Delicious y así hasta el infinito. 
Yo me he creado dos "recipes", uno para publicar en Linkedin y otro para publicar en Twitter de modo que me ahorro de publicar en las dos redes cuando escribo en el blog. 
Espero que esta entrada os sirva y os ayude a mejorar vuestra productividad.