Tutorial IT blog » Herramientas

Archivo de la categoría ‘Herramientas’

NHibernate para .NET

Domingo, 2 de Noviembre de 2008


El mundo Java han tenido en Hibernet una solución open-source para el mapeo de objetos a base de datos relacionales.
Afortunadamente para los programadores .NET, algunos desarrolladores han portado la biblioteca a .NET creando NHibernate.
El motor de NHibernate toma los archivos de mapeo XML que corresponden a las clases .NET y se encarga de realizar el ABM (Alta, baja y modificación) de datos.
NHibernate carga los archivos XML en tiempo de ejecución para determinar cómo los objetos se relacionan entre sí. La idea detrás de NHibernate es simplificar el código necesario para mantener los objetos en una base de datos.NHibernate no se limita a una sola base de datos. Es compatible con las versiones actuales de SQL Server y OLE DB.

Veamos las características salientes de NHibernate:

* Modelo de programación natural: NHibernate soporta el lenguage orientado a objetos; herencia, polimorfismo, composición y
el framework de colecciones de .NET incluyendo las colecciones genéricas.

* .NET Nativo: El API de NHibernate usa los nombres y convenciones de .NET

* Soporte para modelo de objetos de granuklaridad fina: Una amplia variedad de mapeos de colecciones y objetos que dependen de estas

* No produce genración de código extra en el procedimiento de construcción

* NHibernate se ocupa de los dos lados del problema; no solo como llegan los objetos a la base de datos sino como extraerlos nuevamente

* Permite especificar exactamente el SQL que NHibernate usará para persistir los objetos. Soporta stored procedures en Microsoft SQL Server.

* Soporta “conversaciones”: NHibernate soporta contextos de persistencia y se ocupa de optimizar los lockeos automáticamente.

* NHibernate es gratis, open source y está licenciado bajo LGPL (Lesser GNU Public License)

Ldap vs Base de datos

Jueves, 23 de Octubre de 2008


Un servicio de directorio se confunde a menudo con una base de datos.
Es fácil entender por qué: Servicios de directorio y bases de datos comparten una serie de características importantes, tales como búsquedas rápidas y un esquema extensible. Se diferencian en que un directorio está diseñado para ser leído mucho más de lo que está escrito, en cambio, una base de datos da por supuesto que leer y escribir operaciones se da con aproximadamente la misma frecuencia.

Esquema de ldap

Esquema de ldap

Ciertas características que son esenciales para una base de datos, como el apoyo a las transacciones y bloqueos de escritura, no son esenciales para un servicio de directorio como LDAP.
En este punto, es importante hacer la distinción entre LDAP y el backend utilizado para almacenar los datos persistentes LDAP es solo un protocolo, esencialmente es un conjunto de mensajes para acceder a determinados tipos de datos.
El protocolo no dice nada acerca de que los datos están almacenados. Un proveedor de software de aplicación de LDAP es libre de utilizar cualquier backend que desea, que van desde archivos
de texto plano hasta bases de datos relacionales. Por lo tanto, cuando decimos que LDAP no tiene soporte para transacciones y otras características de las bases de datos, me refiero a que el protocolo no tiene los mensajes que soporten esto.