.NET - Apresentando a Microsoft Enterprise Library (Application Blocks)


Você conhece a expressão popular : "Não vamos re-inventar a roda" ?

Creio que não preciso tecer explicações sobre o dito; introduzi a frase para chamar a atenção sobre as atividades repetitivas que temos que efetuar no ciclo de vida de desenvolvimento de software, principalmente nas tarefas relacionadas com a manutenção de banco de dados.

Quem nunca precisou usar um banco de dados e efetuar as tarefas básicas de manutenção como incluir, alterar, excluir , consultar e filtrar informações em banco de dados relacionais ?

É sempre a mesma coisa :

Muitos chegam a criar a sua livraria particular de classes para acesso a dados outros usam funções de terceiros e outros ainda criam a sua própria camada de acesso a dados; e assim vamos levando a vida na seara do desenvolvimento de software...

Por que nunca ninguém pensou em padronizar todas estas tarefas criando um kit completo que fosse comprovadamente testado e que usasse as melhores práticas de acesso a dados ?

Pois bem, a Microsoft pensou exatamente nisso, e criou a Microsoft Enterprise Library que pode ser entendida como uma biblioteca desenvolvida pelo time de padrões e práticas da Microsoft com o objetivo de solucionar os problemas comuns que os desenvolvedores encontram nos projetos de software. Necessidades como tratamento de exceções, validação, logging e instrumentação (entre outras) costumam se repetir freqüentemente no desenvolvimento de aplicações corporativas; A Microsoft Enterprise Library endereça estes cenários através de componentes reutilizáveis chamados de Application Blocks.

Podemos pensar , de maneira didática , na Microsoft Enterprise Library como blocos de aplicações ou componentes modulares, que podem ser re-usados em projetos de software de acordo com a necessidade com o objetivo de criar projetos com bom padrão de código, instalação e configuração.

Desta forma a Enterprise Library oferece um conjunto de bibliotecas extensíveis para construir aplicações robustas e escaláveis onde temos blocos com padrões de codificação para Acesso a Dados, Criptografia, Tratamento de exceções, Segurança, Validação , Logging, Caching e Política de Injection.

Ora , se é assim então ... Não vamos reinventar a roda...

A situação atual é a seguinte:

A última versão disponibilizada é a de Maio de 2007 - Enterprise Library 3.1 - May 2007 , e, é a que eu estarei usando nos exemplos dos artigos.

Foi lançada em 2008 a nova versão do Enterprise Library 4.0. Onde destacam-se as seguintes novidades:

Na versão - Enterprise Library 3.1 - May 2007 - que vamos usar, temos disponíveis os seguintes blocos :

Você não é obrigado a usar todos os Application Blocks, use somente aqueles que você realmente vai precisar. Desta forma se você for trabalhar com acesso a dados use o Data Access Application Block e precisar trabalhar com criptografia use o Crypthography Application Block e assim por diante. Tenha em mente que dependendo do bloco que você for usar pode haver referências a outros blocos e neste caso você terá que fazer a referência a todos os blocos usados.  O bloco Security, por exemplo, tem referências aos blocos Crytpography e Data Access. Outro bloco é o Common Library que consiste de um bloco de código comum a todos os demais Applications Blocks.

Você não paga nada para fazer o download, deve apenas registrar-se e obtém todo o código com exemplos e documentação. A Instalação é bem simples , basta fazer o download e instalar , apenas lembrando que as dlls que devem ser referenciadas por padrão estão na pasta :  \Arquivos de programas\Microsoft Enterprise Library 3.1 - May 2007\Bin e que após instalar você deve usar a opção Build para gerar as dlls.

O meu foco neste artigo  será o  Enterprise Library Data Access , que apresenta blocos com padrões de projeto e codificação para acesso a banco de dados relacionais de forma que você não terá que se preocupar em desenvolver nenhuma classe de acesso a dados ou ter que lembrar se já fechou a conexão ou não, e nem vai ter que mudar todo o código se tiver que mudar de banco de dados;  basta usar a Data Access Application Block sem receios para ter certeza de que o código estará correto.

Na continuação deste artigo eu vou mostrar como usar o Data Access Application Block da Enterprise Library 3.1 em um projeto Visual Basic , usando o Visual Basic 2008 Express Edition e um banco de dados SQL Server 2005 Express Edition

Irei criar um banco de dados chamado Agenda.mdf e uma tabela Contatos com apenas 3 campos: Codigo, Nome, Email e Contato;  em seguida irei criar 5 procedimentos armazenados no banco de dados para : incluir , alterar, excluir, retornar todos os contatos e retornar um contato específico.

Vamos a seguir preparar o arquivo de configuração para usar o  Data Access Application Block e mostrar como referenciar as dlls do Enterprise Library para podermos usar os recursos de acesso a dados em nossa aplicação.

Aguarde o próximo artigo... : Usando Data Access Application Blocks II

Eu sei , é apenas VB .NET , mas eu gosto..

Referências:


José Carlos Macoratti