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.
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.
- Página principal: Resumo, releases e alguns dados adicionais.
http://msdn.microsoft.com/en-us/library/ff648951.aspx - Última versão – 5.0 (até a data da escrita deste artigo): Download, suporte, documentação, hands-on, vídeos e outros.
http://msdn.microsoft.com/en-us/library/ff632023.aspx - Post sobre a Enterprise Library 5.0 do Luciano Condé:
http://blogs.msdn.com/b/conde/archive/2010/01/11/breve-enterprise-library-5-0.aspx - Web Cast sobre a Enterprise Library – Luciano Condé:
https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=pt-BR&EventID=1032423381&CountryCode=BR