Webcast MSDN - Enterprise Library

1.735 visualizações

Publicada em

Um comportamento observado na construção de várias aplicações é a existência de blocos de código com o mesmo comportamento, se observamos com uma lupa, toda a aplicação precisa ter tratamento de exceção, validação de campos, logging e uma camada de acesso a dados. No intuito de facilitar a vida dos desenvolvedores, a Microsoft desenvolveu a Enterprise Library. A Enterprise Library 4.1 engloba um conjunto de blocos de aplicação, incluindo: Logging, Tratamento de exceção, camada de acesso a dados, criptografia, validção, injeção de código e outros recursos. O design dos blocos é orientado pelas melhores práticas recomendadas pela Microsoft para aplicações .NET. Acompanhe neste Webcast a utilização na prática dos recursos da Enterprise Library 4.1 dentro das suas aplicações.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Webcast MSDN - Enterprise Library

  1. 1. Enterprise Library para desenvolvedores Luciano Condé Arquiteto de Soluções http://blogs.msdn.com/conde http://twitter.com/luconde
  2. 2. Motivação
  3. 3. Típica situação bl bl bl bl bl App3 bl App1 bl bl bl bl bl bl bl App4 bl App2 bl bl bl bl bl Domínio de aplicação
  4. 4. Objetivos da Enterprise Library • A Enterprise Library é um conjunto de blocos de aplicações extensíveis que ajudam na construção de aplicações. • História Versão Data Destaques 1.0 Janeiro 2005 Integração dos Blocos 1.1 Junho 2005 2.0 Janeiro 2006 .NET 2.0 Update 3.0 Abril 2007 3.1 Maio 2007 Validation, PIAB 4.0 Maio 2008 Unity, suporte ao WMI 2.0 4.1 Outubro 2008
  5. 5. Enterprise Library como um acelerador Não posso ter um conjunto de blocos únicos e reutilizá-los?
  6. 6. Enterprise Library Enterprise Library é… Enterprise Library não é… • Um conjunto de blocos para • Parte do .Net Framework resolver certos desafios • Um framework que • Um conjunto de classes estabelece um estilo de helper para atuar em arquitetura qualquer estilo de arquitetura • Um produto MS com • De graça suporte • À venda
  7. 7. Objetivos da Enterprise Library • Consistente – Blocos são escritos e baseados em patterns comuns • Extensível – Plugável – Customizável • Fácil para uso – Integrado com Visual Studio, interfaces simples
  8. 8. Contexto • Reuso de componentes é importante – Trata os principais desafios de desenvolvimento • Blocos de aplicação – Reuso, testabilidade, extensível e código-fonte modifcável – + Docs, quickstarts, hands-on labs • Enterprise Library é uma conjunto genérico de blocos de aplicação – Não é específico para nenhum tipo de aplicação ou estilo de arquitetura • Pode ser usado da maneira que está entregue ou é possível customizar
  9. 9. Biblioteca Customer Y Biblioteca Partner X p&p Enterprise Library Biblioteca Customer Z p&p blocks Partner blocks Customer blocks Community blocks
  10. 10. 2.0 3.x 4.x
  11. 11. Os blocos • Caching • Data access • Security • Cryptograph • Logging • Exception handling • Validation • Policy Injector • Unity (Dependency Injection)
  12. 12. Data Access Caching Logging Core Config Instrumen- Helpers Exception Cryptography tation & Design Handling Object Builder Security Policy Injection Validation
  13. 13. container.Resolve<Database>(“Foo”); …
  14. 14. Usando Enterprise Library
  15. 15. Logging Application Block • O que é? – Bloco de aplicação destinado a simplificar as tarefas de manipulação de logging da aplicação • Quando usar – Gerar logging das atividades da minha aplicação para um ou vários repositórios – Formatar mensagens de logging – Alterar o destino das mensagens somente via configuração • Ações comuns: – Armazenar as atividades – Filtrar as mensagens antes de armazenamento – Redirecionar as atividades para mútiplos destinos – Configurar filtros
  16. 16. Demo do Logging
  17. 17. Calculadora do Elvis com Logging Windows WCF Forms Service Usa Logger
  18. 18. Exception Handling Application Block • O que é? – Bloco de aplicação para simplificação no tratamento e gerenciamento de exceções • Quando usar – Um tratamento uniforme das minhas exceções independentemente da quantidade de camadas da minha aplicação • Ações comuns: – Armazenas exceções – Trocar exceções – Filtrar exceções – Apresentar mensagens user-friendly – Fornecer informações para a operação
  19. 19. Demo do Exception Handling
  20. 20. Calculadora do Elvis com Exception Handling Windows WCF Forms Service Nova Usa Exceção Exception Handling
  21. 21. Validation Application Block • O que é? – Bloco de aplicação para simplificar as validações de dados (formulários, serviços e classes) • Quando usar – Quero boas práticas de validação de dados – Transferir a validação para o nível do compilador ou engine de validação • Ações comuns: – Usar atributos para validação – Usar uma própria validação – Validar objetos – Integração com WCF, Windows Forms, ASP.NET
  22. 22. Demo do Validation
  23. 23. Calculadora do Elvis com Validação Windows WCF Forms Service Falha Usa Validação
  24. 24. Unity Application Block • O que é? – Bloco de aplicação para gerenciar o desacoplamento entre classes e objetos • Quando usar – Aplicação dos patterns • Inversão de Controle (IoC) • Injeção de dependência (DI) • Interceptação – Gerar independência entre os meus objetos ou classes – Redução da complexidade de dependência entre os meus objetos e classes • Ações comuns: – Configuração de um container – Configurar as dependências – “Resolver” um objeto pelo tipo ou nome de registro
  25. 25. Injeção de dependência Componente Dependency Componente Injection
  26. 26. Demo do Unity
  27. 27. Calculadora do Elvis com Unity Windows WCF Forms Service Usa Logger
  28. 28. Outros blocos
  29. 29. Data access Application Block • O que é? – Bloco de Aplicação para simplificar o acesso a banco de dados – Abstração de alto nível do ADO.Net • Quando usar – Uso de métodos padronizados – Uso com múltiplos bancos • Ações comuns: – Criação do objeto abstrato de banco de dados – Chamada de stored procedures
  30. 30. Factory
  31. 31. Possíveis bancos Propriedades
  32. 32. Security Application Block • O que é? – Bloco de aplicação para tratamento das atividades de autorização • Quando usar – Autorização em cima de algum repositório de segurança (Active Directory, Authorization Manager, ADAM ou outros) – Caching das credenciais de acesso • Ações comuns: – Obter um token para um usuário autenticado – Expirar um token – Verificar se o usuário autenticado tem permissão para executar alguma tarefa específica.
  33. 33. Definindo o provider de autorização que será usado 40
  34. 34. Usando Authorization Rule Provider Definindo rules de usuários e métodos autorizados 41
  35. 35. Usando Authorization Rule Provider Exemplo de autorização de usuário e rules 42
  36. 36. Caching Application Block • O que é? – Bloco de aplicação para tratamento de caching de dados (cliente e servidor) • Quando usar – Leitura dados estáticos repetidamente – Dados que são “caros” na criação, acesso ou transporte – Dados que precisam estar sempre disponíveis • Ações comuns: – Adicionar itens ao cache – Retornar itens do cache – Remover itens do cache – Limpar o cache – Carregar um caching
  37. 37. Chamada para o CacheFactory 45
  38. 38. EntLib 5.0
  39. 39. O que está sendo pensado? • Foco em simplicidade • Intellisense do configuration manager com o Visual Studio • Refactoring de Arquitetura • Não é esperado nenhuma quebra das APIs existentes Acompanhar o blog: http://blogs.msdn.com/agile/
  40. 40. Prioritized Backlog
  41. 41. Conclusão
  42. 42. Resumo Blocos funcionais Core Data Instrumen- Logging Config Access tation Exception Caching Handling Blocos estruturais Unity Cryptography Security Policy Injection Validation
  43. 43. Mais informações • Entrevista sobre EntLib 5.0 – http://channel9.msdn.com/posts/akMSFT/Whats-coming-in- EntLib-50-and-a-sneak-peek-into-the-new-EntLib-Developer- Notes/ • Blog do Grigori – http://blogs.msdn.com/agile/ • Enterprise Library – msdn.microsoft.com/entlib • Comunidade da Enterprise Library – codeplex.com/entlib • Unity: – msdn.microsoft.com/unity • Time do Microsoft patterns & practices – msdn.microsoft.com/practices
  44. 44. •© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. •The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×