Arquivo da tag: EntLib

Enterprise Library – Overview

Olá pessoal! 

Hoje vou falar um pouco sobre um assunto que me parece estar um pouco fora de moda, a Enterprise Library, também conhecida como EntLib. Digo fora de moda, pois não tenho visto recentemente esse assunto em listas de discussão, artigos e revistas técnicas. Hoje falamos muito sobre tecnologias emergentes como o NHibernate, MVC e suas variantes, DDD, TDD, BDD, AOP, WWF, WCF, WPF, dentre diversas outras, e acabamos por nos esquecer desta que é uma ótima base para construção de sistemas. 

A Enterprise Library consiste em um conjunto de componentes reutilizáveis, desenvolvidos pelo grupo de Patterns e Practices da Microsoft (veja o link no final do artigo), com o objetivo de nos ajudar em questões que nos deparamos em praticamente todas as nossas demandas de desenvolvimento. Ela é composta por blocos de aplicação (normalmente referenciado como application blocks) que tratam de diversos assuntos específicos, sendo eles: cache de dados, tratamento de exceções, segurança, validação de dados, criptografia, acesso a dados, log e injeção de políticas. Veja na figura a seguir como esses blocos se relacionam.      

Application Blocks da Enterprise Library - Clique para ampliar

Imagem retirada do blog do Luciano Condé, arquiteto de soluções Microsoft. Veja o link para o seu artigo no fim deste artigo.

Muito provavelmente você já precisou construir ao menos uma ou mesmo todas as funcionalidades providas pela EntLib ao longo da sua experiência. O objetivo em utilizar esta biblioteca é justamente aproveitarmos códigos já prontos, testados e desenvolvidos sob os melhores conceitos de design. Ou seja, além de embutirmos maior qualidade em nosso software, com a economia do tempo que levaria para construir estas funcionalidades ainda sobra um tempinho para se dedicar ao que realmente importa para o seu cliente: as funcionalidades que atendem ao seu negócio.    

Falando em melhores práticas, é interessante saber que o time que desenvolveu a EntLib levou a sério quatro objetivos na hora de projetar o seu design, os quais são: consistência, extensibilidade, facilidade de uso e integração. Segundo sua documentação, a EntLib foi desenvolvida para cenários de aplicações corporativas com larga distribuição e complexidade. Também teve como base rigorosos requisitos de segurança, confiabilidade e performance. Porém, em minha opinião, isso não significa que ela não possa ser utilizada em aplicações menos complexas ou de menor escala. Me surpreendi com a facilidade de utilização de alguns blocos.    

Desde janeiro de 2006 a EntLib já contou com quatro versões principais, estando no momento da escrita deste artigo em sua versão 5.0, o que deixa evidente a intenção de continuidade e evolução por parte da Microsoft. Isso nos dá uma certa segurança, pois, não é desejável que nossos sistemas dependam de bibliotecas obsoletas. Também é importante destacar que junto com as bibliotecas são providos os seus fontes, de forma que se esta tendência for por água abaixo, ainda nos sobra alguma alternativa.  

Algumas boas notícias. A Enterprise Library pode ser baixada gratuitamente através do site da Microsoft. Encontram-se também disponíveis diversos materiais para estudo que não só são de ótima qualidade como também são muito didáticos. O time caprichou em hands-on labs que podem ser seguidos sem complicações e rapidamente. Para se ter uma idéia, alguns hands-on duram apenas cerca de quinze minutos e dão uma ótima visão do bloco de aplicação coberto. Portanto, não há desculpa para não dar uma estudada!   

Nos próximos artigos falarei um pouco mais sobre cada bloco de aplicação. A seguir seguem alguns links sobre o assunto.