AAB307 - Frameworks and Application Blocks - wcamb

  • Published on
    21-Jun-2015

  • View
    1.090

  • Download
    5

Embed Size (px)

DESCRIPTION

Introduo sobre Frameworks e Blocos de Aplicao Autor: Waldemir Cambiucci Publicao: Outubro 2009.

Transcript

  • 1. Uma introduo sobre Frameworks de Desenvolvimento Waldemir Cambiucci Arquiteto de Soluestwitter.com/wcamb Microsoft Brasilblogs.msdn.com/wcamb1

2. AgendaFerramentas de produtividadeQuestes sobre frameworks dedesenvolvimentoRecursos da Enterprise Library 4.1aplicveis para frameworksConclusesRecursos2 3. Objetivos da SessoApresentar uma viso sobre ferramentas deprodutividade para equipes dedesenvolvimento. Apresentar uma viso sobre frameworks eblocos de aplicao para o desenvolvimento desolues. 3 4. Produtividade, reuso, padronizao, automao4 5. Busca da produtividadeNa busca pela produtividade no desenvolvimento desoftware, destacamos o reuso do conhecimentoatravs de ferramentas como:Guias livres de contextoGuias com contextoGuias de automaoArquiteturas de refernciaBibliotecas e Blocos de AplicaoFrameworks de desenvolvimentoFbricas de SoftwareLinguagens de Domnio-EspecficoModelos e Linguagens de Modelagem 6. Busca da produtividade Guias deAutomao Ao longo do processo,artefatos e templates so Frameworksconstrudos e testados,garantindo o usodos melhores cdigos Templatespara nossassolues. Patterns ApplicationBlocksGuidelines 6 7. FrameworksOs frameworks fornecem uma soluo inicial para umdeterminado problema, cuja soluo normalmenterequer muito tempo para ser desenvolvida a partir dozero. Frameworks sofisticados normalmente incorporammuitos padres. comum os frameworks crescerem, implementando partesque antes eram integrantes da prpria soluo, oferecendoreuso.7 8. Objetivos de um FrameworkObjetivos de um FrameworkElevar a produtividade no desenvolvimento de software;Diminuir o tempo de desenvolvimento;Minimizar erros de codificao;Padronizar componentes, mecanismos de acesso, uso derecursos, passagem de parmetros, etc.;Tornar a arquitetura final mais previsvel e organizada, paratodas as camadas atendidas pelo framework. Existem tambm diversos desafios na construo deframeworksEquipe, versionamento, adoo, evoluo, escalabilidade, etc.8 9. Bibliotecas de classes blblblbl bl App3blApp1 bl blbl bl blblbl App4bl App2 blbl bl blbl Domnio de aplicao BL = blocos de aplicao 9 10. Bibliotecas de classes cache cacheacesso a bllogging blbl dados blblApp3 loggingacesso a blApp1bl dados bl bl acesso a seguranadados cache bl acesso a blbl seguranadadosblApp4logging logging cachebl App2blblbl segurana blconfig blsegurana Domnio de aplicaoBlocos de aplicao implementam componentes ou aspectos comuns para 10diversos cenrios, economizando horas de desenvolvimento. 11. FrameworksFramework de desenvolvimento Security CachingAppApp AppLoggingApp AppApp AppValidation ExceptionConfigurationDomnio de aplicao 12. Tipos de Frameworks Exemplos de FrameworksExemplos de Frameworks Horizontais Verticais Frameworks para persistnciaFrameworks para o mercado (Linq, Entity Framework,financeiro; Nhibernate);Frameworks para empresas de Microsoft Foundation Classes (MFC); telefonia (Microsoft Connected Frameworks de MiddlewareServices Framework 3.0 (MTS/COM+, ODBC); Developer Lite Edition); Windows Presentation FrameworkFrameworks para Recursos (WPF);Humanos (Microsoft CCF Customer Care Framework); Windows Communication Framework (WCF); Model-View-Controller (MVC) Suns Java Foundation Classes (RMI, AWT, Swing), etc.12 13. Cenrios e Arquiteturas envolvidas De acordo com o cenrio, frameworks so mais ou menos complexos: Tipos de AplicaesEstilos de Arquitetura Componentes de Arquitetura App Arch Guide 2.0 13 14. Frameworks Um exemplo de framework horizontal: Metadata Services Camada de Apresentao Acesso a dadosTratamento de Monitoraoauthn, authz SeguranaValidao Excees CachingLogging Camada de NegciosCamada de Persistncia A capacidade de evoluir de forma modular e dinmica um grande benefcio do uso de frameworks.14 15. 15 16. Principais recursos Tratamento de exceoEnterprise Library 4.1 Validao Logging Segurana CachingEnterprise Library 4.1 - October 2008http://www.microsoft.com/downloads/details.aspx?familyid=1643758B-2986-47F7-B529-3E41584B6CE5&displaylang=en Hands-On Labs for Enterprise Library 4.1 March 2009http://www.microsoft.com/downloads/details.aspx?familyid=AB3F2168-FEA1-4FC2-B40C-7867D99D4B6A&displaylang=en 16 17. Tratamento de Exceo Desafios Como armazenar os detalhes de excees? Como propagar as excees nas camadas da aplicao?Recomendaes Identifique os blocos crticos de cdigo Busque revelar os detalhes dos problemas17 18. Tratamento de ExceoMensagem de erro para o usurio 18 19. Tratamento de ExceoExceo logada no EventViewer 19 20. Validao Desafios Transportar/Receber de maneira correta os dados fornecidos pelo usurio atravs das camadas.Recomendaes Assuma que todo input requer ateno Valide os dados conforme tipo, tamanho, formato, limites, etc. Considere existir a validao de inputs na camada de apresentao.20 21. Validao Exemplo de validao dedados para interfaces de servios em WCF 21 22. Logging Desafios Armazenar detalhes do comportamento da aplicao Como capturar?Recomendaes Utilize sempre que possvel os recursos disponveis na plataforma-alvo, evitando o desenvolvimento duplicado. Identifique os pontos crticos para a coleta de informae. Avaliar a necessidade de logging sncrono ou assncrono. Solues assncronas so mais indicadas para cenrios de baixa latncia, evitando a espera pelo retorno da ao de logging.22 23. LoggingEscolhendo o Trace Listener para asmensagens de Logging 23 24. LoggingDefinindo o formatode dados para logging noEventViewer 24 25. Logging Gravando o Log noEventViewer ouTraceListener escolhido 25 26. Segurana Desafios Como identificar ameaas na aplicao? Qual o cenrio de segurana da minha aplicao?Estudo do Modelo STRIDE Spoofing, Tampering, Repudiation, Information), Denial of Service (D.o.S.), Elevation of privilegeRecomendaes Identifique as ameaas da aplicao Use o modelo STRIDE como referncia para essa anlise. Com as ameaas identificadas, desenvolver o plano de mitigao e patterns de segurana que sero aplicados. A Enterprise Library 4.1 ajuda em aspectos de segurana, 26 autenticao e autorizao. 27. Segurana Definindo o provider deautorizao que ser usado 27 28. SeguranaUsando AuthorizationRule ProviderDefinindo rules de usuriose mtodos autorizados28 29. SeguranaUsando Authorization Rule ProviderExemplo de autorizao de usurio e rules 29 30. Caching Desafios Identificar quais os dados que devem ir para o cache, em cenrios de baixa latncia.Recursos disponveis Enterprise Library 4.1 Velocity Camada de cache unificado para aplicaesRecomendaes Identificar quais os dados mais indicados para a camada de cache Armazenar os dados mais usados pela aplicao. 30 31. Cache localChamada para o CacheFactory 31 32. 32 33. Concluses Fique atento aos seguintes desafios no uso de frameworks: Equipe, adoo, evoluo, comunicao, cenriosAo construir um framework, identificar os tipos de aplicao e cenrios envolvidos: Avaliar os vrios componentes de software que sero suportados, como caching, validao, logging, etcSe voc j possui um framework operacional, avaliar as novas bibliotecas disponveis. Velocity, LINQ, .NET RIA Services, Enterprise Library 4.1, .NET 3.5 SP1, etc.33 34. Concluses Apenas alguns recursos da EntLib 4.1 foram apresentados nessa sesso. Recomenda-se o estudo do Hands-on Labs para complementar as questes aqui apresentadas.A EntLib 4.1 no apenas indicada para cenrios de frameworks de desenvolvimento Avaliar seu uso para aplicaes que reconheam a necessidade de camadas de caching, validao, segurana, tratamento de exceo, etc. 34 35. Recursos Enterprise Library 4.1 October 2008 http://www.microsoft.com/downloads/details.aspx?familyid=1643758B- 2986-47F7-B529-3E41584B6CE5&displaylang=enHands-On Labs for Enterprise Library 4.1 March 2009 http://www.microsoft.com/downloads/details.aspx?familyid=AB3F2168- FEA1-4FC2-B40C-7867D99D4B6A&displaylang=enMicrosoft .NET RIA Services May 2009 Preview http://www.microsoft.com/downloads/details.aspx?displaylang=en&Fa milyID=76bb3a07-3846-4564-b0c3-27972bcaabce#filelistMicrosoft Project Code Named Velocity Community Technology Preview 3 (CTP3) http://www.microsoft.com/downloads/details.aspx?FamilyId=B24C3708- EEFF-4055-A867-19B5851E7CD2&displaylang=en 35 36. Recursos (cont.)ArqBR.Groupshttp://arqbr.groups.live.com/ ArqCasts no Channel9/Brasilhttp://channel9.msdn.com/brasil/ebook Arquitetura de Solueshttp://blogs.msdn.com/wcamb/archive/2009/10/01/ebook-sobre-arquitetura-de-solu-es.aspxCentro de Arquitetura MSDNhttp://msdn.microsoft.com/pt-br/architecture/default.aspx 36 37. 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. 37

Recommended

View more >