SubSonic, ORM Open Source para .NET

Mis actividades diarias tienen que ver _ por lo general _ con cuestiones de programación. Actualmente trabajo en el desarrollo de aplicaciones bajo plataforma Java. En el mundo de Java es casi una panacea utilizar herramientas que permitan el mapeo de las entidades de un modelo de datos hacia clases que representen objetos de esas entidades. Todo esto comúnmente se denomina ORM (Object Relational Mapping) o Mapeo Objeto Relacional.

En Java entonces existen algunas herramientas que facilitan esta tarea: TopLink, iBatis e Hibernate pueden ser las más utilizadas generalmente. En lo personal prefiero Hibernate porque es casi un estándar de facto y porque ha sido fácil de aprender, además que la mayoría de IDE’s en Java traen alguna forma de generación automática de clases.

Hace poco comencé un proyecto que obligatoriamente contemplaba utilizar .NET como plataforma de desarrollo. Muchos sabrán que ADO.NET es la herramienta que Microsoft recomienda para acceso a datos bajo .NET, pero que no es precisamente fácil para implementar el desarrollo de objetos mapeados a una entidad en el modelo de datos. Así que la tarea del desarrollar bajo .NET y sin una herramienta ORM no me parecía nada atractiva, por lo que me dispuse a investigar al respecto.

Obviamente lo primero que busqué fue algún port de Hibernate para .NET y efectivamente existe. Se llama NHibernate y funciona de manera idéntica al Hibernate para Java: Archivo de configuración XML para la conexión, archivos de configuración para cada clase y voila, todo listo. Pero escribir archivos XML a mano no es precisamente divertido, así que echaba de menos la generación automática de las clases. Así que a pesar de ser Hibernate algo sin lo que pudiera trabajar en Java, consideré que en .NET hay que esperar un poco.



En la búsqueda encontré un listado que enumeraba varias herramientas. Algunas de pago, otras libres, otras abandonadas, en fin… parecía que la cuestión iba a ser más tediosa de lo que parecía. Finalmente di con el Proyecto SubSonic, de Rob Conery. Me agradó el hecho de que tengan una comunidad ya establecida, los ejemplos, los webcasts, un proyecto de ejemplo y _ sobre todo _ una herramienta para generación automática de las clases (llamada SubStage, ver imagen a continuación).

SubSonic también provee un lenguaje de consultas que permite la extracción de datos de la base de datos de manera muy simple sin menospreciar la potencia y _ además de todo lo mencionado _ ofrece en la estructura de clases generadas una separación clara que permite implementar el patrón MVC en la aplicación.

SubSonic puede ser utilizado para bases de datos en SQL Server, MySql y está planeado la posibilidad de utilizarlo con Postgresql. Así que esta herramienta por el momento satisface lo que pedía y me posibilitó echar a andar el desarrollo del proyecto sin tantos dolores de cabeza.

Valora esta noticia: 1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (0 votos, media: 0,00 de 5)
Loading ... Loading ...