lunes, 22 de octubre de 2012

Microsoft Enterprise Library – Data Access Application Block I

Esta es la primera entrega de la serie de post que tratara el tema de Enterprise Library, en este caso cubriremos lo relacionado a la capa de datos.

En este primer post nos atañe preparar los requisitos previos para nuestra aplicación, que en este caso hacen referencia a la creación de la base de datos que vamos a utilizar en esta serie de post, así como los demás componentes que vamos a necesitar.

Manos a la obra

En este caso vamos a trabajar inicialmente con una base de datos en SQLServer, mas adelante usaremos una base de datos en Oracle. Para nuestro ejercicio, vamos a usar la base de datos Northwind, la cual puede ser descargada desde la página de la comunidad.

Por otra parte vamos a necesitar la última versión de Enterprise Library que a este momento es la 5, la cual podemos obtener en la página oficial.

Una vez descargado el script, debemos inicia sesión en la base de datos con privilegios de administrador con el fin de crear nuestra base de datos, una vez allí, abrimos el script y lo ejecutamos.

image

Aquellos que como en mi caso usan SqlServer 2012, van a encontrarse con el siguiente error:

Error1

Esto es debido a que en la versión SQLServer 2012 no esta soportado el uso de sp_dboption, según se puede ver en la página oficial, se debe optar por el uso de ALTER DATABASE.

Entonces, debemos remplazar las líneas:

exec sp_dboption 'Northwind','trunc. log on chkpt.','true'

exec sp_dboption 'Northwind','select into/bulkcopy','true'

por las siguientes:

ALTER DATABASE Northwind SET AUTO_SHRINK ON

ALTER DATABASE Northwind SET RECOVERY SIMPLE

Una vez se realiza el cambio y se ejecuta el script ya tenemos la base de datos creada, solo resta crear un usuario para trabajar con nuestra base de datos.

CreateDatabaseOk

DatabaseTree

Como vemos ya contamos con una base de datos apta para nuestras pruebas. Con esto, mas la instalación de Enterprise Library 5, ya tenemos las bases para realizar los ejemplos propuestos en esta serie de post.

lunes, 8 de octubre de 2012

Microsoft Enterprise Library 5

Microsoft Enterprise Library es una biblioteca compuesta por un conjunto de componentes de software reutilizables, que se encargan de las tareas mas comunes en lo que a temas transversales concierne.

Estos bloques de aplicación son una especie de guía que nos indica la forma mas adecuada de realizar dichas tareas, estos bloques están acompañados por respectivos ejemplos de uso, y pueden ser fácilmente ampliados para utilizarlos en proyectos complejos de nivel empresarial o en proyectos de línea de negocio.

Dicho de una forma más simple, son componentes que han sido desarrollados basándose en los mejores patrones y en las mejores prácticas de desarrollo de software, y que ofrecen las soluciones más adecuadas para situaciones tan comunes como un log, o un componente de acceso a datos.

Esta pensado con el fin de hacer las cosas mas fáciles a las personas envueltas en labores de desarrollo ya que estos componentes ya encapsulan dentro de si todas las funcionalidades necesarias, lo que se traduce en un ahorro significativo de tiempo y esfuerzo, permite la reutilización de componentes y al mismo tiempo garantiza un buen nivel de estandarización en los desarrollos.

Actualmente Enterprise Library en su versión 5 cuenta con los siguientes bloques de aplicación.

  • Caching Application Block. Esta pensado para brindar funcionalidades de manejo de cache.
  • Cryptography Application Block. Brinda funcionalidades de criptografía, tal como algoritmo de Hash, etc.
  • Data Access Application Block. Contiene funcionalidades pensadas para facilitar el acceso a bases de datos.
  • Exception Handling Application Block. Brinda funcionalidades para el manejo avanzado de excepciones a través de toda la aplicación.
  • Logging Application Block. Tiene como finalidad aportar funcionalidades que faciliten el manejo avanzado de Logs en las aplicaciones.
  • Policy Injection Application Block. Este bloque de aplicación se puede utilizar para implementar políticas de interceptación para agilizar la implementación de características comunes, tales como la explotación forestal, caching, manejo de excepciones, y validación, a través de un sistema.
  • Security Application Block. Permite implementar las tareas correspondientes a la seguridad transversal de las aplicaciones.
  • Unity Application Block. Es un contenedor de inyección de dependencias ligero y extensible con soporte para constructor, propiedades, e inyección.
  • Validation Application Block. Contiene funcionalidades que permite implementar reglas de validación de negocio para los objetos de negocio, las cuales pueden ser usadas a través de las diferentes capas de la aplicación.

Como pueden ver, es una biblioteca muy completa e interesante, y aporta gran cantidad de funcionalidades que nos van a permitir llevar nuestros desarrollos a otro nivel.

Con esta premisa en mente, se da inicio a una serie de post en los cuales se trataran los diferentes bloques en mas detalle, de la mano de un pequeño proyecto, en el cual se espera hacer uso de estos con el fin de demostrar como podemos aprovechar esta maravillosa herramienta.

Para aquellos que deseen profundizar mas en el tema les recomiendo visitar la pagina de Patterns & Practices de Microsoft.