Enterprise Library para desenvolvedores




                Luciano Condé
            Arquiteto de Soluções
        http:/...
Motivação
Típica situação



                                     bl                         bl
         bl
                        ...
Objetivos da Enterprise Library


• A Enterprise Library é um conjunto de blocos de
  aplicações extensíveis que ajudam na...
Enterprise Library como um acelerador




  Não posso ter um conjunto
  de blocos únicos e
  reutilizá-los?
Enterprise
Library

  Enterprise Library é…          Enterprise Library não é…
  • Um conjunto de blocos para   • Parte do...
Objetivos da Enterprise Library


• Consistente
   – Blocos são escritos e baseados em patterns comuns
• Extensível
   – P...
Contexto


• Reuso de componentes é importante
  – Trata os principais desafios de desenvolvimento
• Blocos de aplicação
 ...
Biblioteca Customer Y

                                                    Biblioteca Partner X




                      ...
2.0
            3.x

4.x
Os blocos


•   Caching
•   Data access
•   Security
•   Cryptograph
•   Logging
•   Exception handling
•   Validation
•  ...
Data Access
  Caching                                        Logging




                          Core

                C...
container.Resolve<Database>(“Foo”);
…
Usando Enterprise Library
Logging Application Block


• O que é?
  – Bloco de aplicação destinado a simplificar as tarefas de
    manipulação de log...
Demo do Logging
Calculadora do Elvis com Logging




           Windows                  WCF
            Forms                  Service


...
Exception Handling Application Block


• O que é?
  – Bloco de aplicação para simplificação no tratamento e
    gerenciame...
Demo do Exception
Handling
Calculadora do Elvis com Exception
Handling




           Windows                          WCF
            Forms         ...
Validation Application Block


• O que é?
  – Bloco de aplicação para simplificar as validações de dados
    (formulários,...
Demo do Validation
Calculadora do Elvis com Validação




           Windows                             WCF
            Forms               ...
Unity Application Block

• O que é?
   – Bloco de aplicação para gerenciar o desacoplamento entre
     classes e objetos
•...
Injeção de dependência




Componente                                         Dependency
                                 ...
Demo do Unity
Calculadora do Elvis com Unity




           Windows                WCF
            Forms                Service


      ...
Outros blocos
Data access Application Block


• O que é?
  – Bloco de Aplicação para simplificar o acesso a banco de
    dados
  – Abstr...
Factory
Possíveis bancos




Propriedades
Security Application Block


• O que é?
  – Bloco de aplicação para tratamento das atividades de
    autorização
• Quando ...
Definindo o provider de
     autorização que será usado
40
Usando Authorization
         Rule Provider




     Definindo rules de usuários
       e métodos autorizados
41
Usando Authorization
          Rule Provider




     Exemplo de autorização de
          usuário e rules
42
Caching Application Block


• O que é?
  – Bloco de aplicação para tratamento de caching de dados
    (cliente e servidor)...
Chamada para o
      CacheFactory




45
EntLib 5.0
O que está sendo pensado?


• Foco em simplicidade
• Intellisense do
  configuration manager
  com o Visual Studio
• Refac...
Prioritized Backlog
Conclusão
Resumo


     Blocos funcionais                             Core
   Data                                                In...
Mais informações

•   Entrevista sobre EntLib 5.0
    – http://channel9.msdn.com/posts/akMSFT/Whats-coming-in-
       EntL...
•© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may b...
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
Webcast MSDN - Enterprise Library
Próximos SlideShares
Carregando em…5
×

Webcast MSDN - Enterprise Library

1.686 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
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.686
No SlideShare
0
A partir de incorporações
0
Número de incorporações
149
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Remember to keep Business Rules Application Block as P2.Vote counting methodology:Priority #1 = 40Priority #2 = 38…Priority #19 = 2Priority #20 = 1Expert’s votes 2xInternal votes – count separately
  • Remember to keep Business Rules Application Block as P2.Vote counting methodology:Priority #1 = 40Priority #2 = 38…Priority #19 = 2Priority #20 = 1Expert’s votes 2xInternal votes – count separately
  • 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.

    ×