Hands-On Labs for Enterprise Library 4.1 March 2009
Figura 1 - Enterprise Library
Navegando por alguns blogs na semana passada, vi a notícia de que a Microsoft disponibilizou para download um Hands-On Lab da Enterprise Library 4.1.
- “Certo! Mas que raio é esse de Enterprise Library? E esse Hands-On Labs?”
Se você está por fora desses termos, irei explicar:
O que é a Enterprise Library?
Quando estamos pensando na arquitetura da nossa aplicação, sempre surgem aqueles “probleminhas“ no design que fazem com que gente perca certo tempo em sua implementação e acabam nos desviando do objetivo principal do projeto, que é focalizar na regra de negócio. Um problema clássico desse nível é a questão de “como definir o acesso a dados da minha aplicação?”. Para uma camada simples de acesso a dados não vemos problema algum, mas quando começamos a pensar em adicionar ao design questões como desempenho, flexibilidade em trabalhar com múltiplos bancos de dados, cache de parâmetros e etc, e no final padronizar e documentar tudo isso para os outros desenvolvedores, os problemas começam a se transformar em uma bola de neve. Se já resolveram esse problema para nós, porque perder tempo em reinventar a roda?
Pensando nesses problemas (acesso a dados é apenas um deles), a Microsoft disponibilizou uma série de “blocos” de componentes chamados Application Blocks. Esses blocos foram criados para auxiliar no desenvolvimento de software utilizando as melhores práticas recomendadas pela Microsoft e padronizando sua arquitetura garantindo consistência, flexibilidade e extensibilidade. Os Application Blocks são disponibilizados gratuitamente e seu código fonte é aberto (tanto nas linguagens VB e C#) para estudo e modificação.
Os blocos disponíveis resolvem questões como:
- Caching (Caching Application Block) - Com este componente é possível implementar funcionalidades de cache local nas aplicações;
- Criptografia (Cryptography Application Block) - Este componente permite implementar hashing e encriptação simétrica nas aplicações.
- Acesso a Dados (Data Access Application Block) - Este componente permite padrozinar e agilizar a forma como os dados são acessados.
- Tratamento de Exceção (Exception Handling Application Block) - Com este componente é possível implementar políticas de tratamento de erros de forma fácil e configurável.
- Logging, Auditoria (Logging Application Block) - Permite implementar técnicas de log padrão nas aplicações.
- Segurança (Security Application Block) - Permite implementar funcionalidades de segurança e autorização.
- Validação (Validation Application Block) - Este componente permite que os desenvolvedores criem regras de validação para objetos de negócio que podem ser usadas por diferentes camadas das aplicações.
- Entre outros.

Figura 2 - Blocos disponíveis
O que é um Hands On Labs?
Aqui o conceito é “mãos na massa”. Um Hands On Lab (HOL) é um conjunto de exercícios, códigos e aplicações exemplo para você aprender a utilizar determinada tecnologia e usufruir de todos os benefícios que ela oferece.
Instalando o HOL da Enterprise Library 4.1, temos disponíveis os seguintes blocos para estudo:

Figura 3 - Diretório do HOL 4.1
Entrando na pasta do bloco Data Access podemos ver a pasta com os exercícios, documentação e setup para instalação de recursos necessários:

Figura 4 - Data Access Application Block
Nas minhas aplicações pessoais eu sempre utilizo o bloco de acesso a dados, é fácil de configurar, fácil de usar e bastante flexível.
Com o tempo, publicarei alguns tutoriais de como implementar alguns desses blocos!
Links:
Hands-On Lab for Enterprise Library 4.1 March 2009:
http://www.microsoft.com/downloads/details.aspx?familyid=AB3F2168-FEA1-4FC2-B40C-7867D99D4B6A&displaylang=en
Site do Microsoft Patterns and practices:
http://msdn.microsoft.com/pt-br/practices/default.aspx
Um abraço à todos e bom estudo!