ebookAS2011 v1.0.0

Embed Size (px)

Citation preview

2011

ebook Arquitetura de Solues 2011Uma coletnea dos principais assuntos tratados no blog http://blogs.msdn.com/wcamb/ entre 2009 e 2011.Confira aqui os principais temas ligados arquitetura de solues e plataforma Microsoft, discutidos nesses ltimos anos com a comunidade de arquitetos atravs do blog Arquitetura de Solues

Waldemir CambiucciEnterprise Architect

2

ebook Arquitetura de Solues 2011por Waldemir Cambiucci. Copyright 2011

eBook Arquitetura de Solues 2011.Setembro, 2011. Todos os direitos reservados. Nenhuma parte deste ebook pode ser reproduzida ou transmitida em qualquer forma ou meio sem a permisso do autor. Outras edies e artigos online sobre os mesmos temas podem ser disponibilizadas. Para maiores informaes, por favor, visite o blog http://blogs.msdn.com/wcamb/. Aviso: as opinies colocadas neste ebook so minhas e pessoais e no expressam necessariamente as opinies de meus empregadores, parceiros e amigos.

3

PrefcioOl pessoal, tudo certo? Meu nome Waldemir Cambiucci, Arquiteto da Microsoft Brasil. Nesses ltimos quatro anos atuei como Arquiteto de Solues no time Brasil, apoiando a comunidade de arquitetos de TI e empresas da economia local. Em 1 de outubro de 2009, meu blog Arquitetura de Solues (http://blogs.msdn.com/wcamb/) completou dois anos. Foram mais de 300 posts e como forma de consolidar aquele material, surgiu a ideia de publicar um ebook, contendo os vrios posts agrupados por temas. Essa primeira edio voc encontra para download no link abaixo: http://www.microsoft.com/downloads/details.aspx?familyid=df61c997-8718-4836-8b4ceb55042e379e&displaylang=pt-br Passados dois anos e mais de 300 novos posts, estamos publicando a segunda edio do ebook Arquitetura de Solues, que apresentado aqui. Nesta edio do ebook teremos novos captulos, com temas que foram mais recorrentes nesses ltimos anos, como Enterprise Architecture, Solutions Architecture, Cloud Computing, Windows Azure, entre outros. O objetivo da iniciativa continua: consolidar o material publicado no blog em um nico documento, facilitando sua consulta e estudo de forma offline. Espero que goste! Continue a vontade para seu feedback e sugestes sobre esse material. Por enquanto s! At o prximo post

Waldemir Cambiucci Enterprise Architect http://blogs.msdn.com/wcamb | http://twitter.com/wcamb

4

ndicePrefcio ......................................................................................................................................................... 3 Captulo 1 .................................................................................................................................................... 11 Enterprise Architecture........................................................................................................................... 11 Enterprise Architecture: como voc gerencia seu porfolio de aplicaes? ........................................ 12 Enterprise Architecture: atuando em diferentes domnios de arquitetura ....................................... 14 Enterprise Architecture: TOGAF e o planejamento estratgico ......................................................... 15 Enterprise Architecture: arquitetura corporativa como instrumento de governana ....................... 17 Enterprise Architecture: conhecendo as capacidades de sua plataforma de aplicaes ................... 19 Enterprise Architecture: Inspiraes do Arquiteto de TI .................................................................... 21 Enterprise Architecture: tendncias em TI e frameworks de arquitetura .......................................... 23 Enterprise Architecture: capacidades de um arquiteto de TI ............................................................. 25 Enterprise Architecture: uma viso sobre frameworks de arquitetura .............................................. 27 Enterprise Architecture: uma tendncia no mundo corporativo ....................................................... 30 Captulo 2 .................................................................................................................................................... 32 Solutions Architecture ............................................................................................................................ 32 Voc um arquiteto de uma arquitetura s!? ................................................................................... 33 Construindo arquiteturas de alta disponibilidade .............................................................................. 39 .NET Framework 4.0 e arquiteturas de aplicaes ............................................................................. 44 Pratique o Egoless Architecting - Voc no sua Arquitetura ........................................................... 47 Do MTS e COM+ ao Windows Server AppFabric e Windows Azure ................................................... 50 Mais um exemplo de arquitetura em N-Camadas com .NET.............................................................. 54 Tendncias em TI e tcnicas para o Business Technology Strategy ................................................... 56 Patterns de arquitetura e aplicaes com servios para .NET............................................................ 58 Arquitetura de Aplicaes com Workflows WF, BizTalk e SharePoint............................................. 61 .NET Framework 4 Um mapa de recursos e arquiteturas de referncia ......................................... 67 .NET Framework 4 Novos Recursos para Novas Aplicaes ............................................................ 68

5 Arquitetura de Composio e seus diferentes desafios ..................................................................... 72 Codeplex : Domain Oriented N-Layered .NET 4.0 Uma aplicao de referncia ............................. 74 Um mapa de componentes .NET versus Java para solues Web...................................................... 76 SQL Server 2008 R2 StreamInsight Technology ............................................................................... 78 Captulo 3 .................................................................................................................................................... 81 Service Oriented Architecture (SOA) ...................................................................................................... 81 BizTalk Server 2010: capacidades de integrao e barramento de servios na plataforma Microsoft ............................................................................................................................................................ 82 patterns & practices : Microsoft Composite Service Application Guidance ....................................... 87 SOA, ESB, BPM, EAI com BizTalk Server 2010 ..................................................................................... 88 Arquitetura de Referncia para Servios e Windows Server AppFabric............................................. 91 Servios e Workflows com AppFabric, WCF e WF .............................................................................. 92 SOA Manifesto .................................................................................................................................... 94 Captulo 4 .................................................................................................................................................... 96 Cloud Computing .................................................................................................................................... 96 Computao em Nuvem e alguns cenrios : AD FS e Custos de Infraestrutura ................................. 97 Computao em Nuvem e Copa do Brasil em 2014 ........................................................................... 99 Nuvens Pblicas, Privadas e Dedicadas ............................................................................................ 101 Computao em Nuvem: algumas perguntas sobre desafios em projetos ...................................... 102 Windows Azure Design Patterns Patterns para a Cloud ................................................................ 105 Computao em nuvem e as ondas de inovao.............................................................................. 106 Trabalho de Concluso de Curso (TCC) sobre Cloud Computing: temas de negcio ....................... 110 Trabalho de Concluso de Curso (TCC) sobre Cloud Computing: temas tcnicos ............................ 113 FAQ sobre Windows Azure e Cloud Computing nvel 100 ............................................................. 115 Opes para processamento distribudo... ....................................................................................... 122 Captulo 5 .................................................................................................................................................. 126 Application Platform ............................................................................................................................. 126 Capacidades de uma plataforma de aplicaes................................................................................ 127 Planilha de capacidades na plataforma Microsoft............................................................................ 128 .NET Framework 4 Recursos para uma plataforma de aplicaes ................................................. 131 Recomendaes para projetos de migrao e evoluo de plataforma Parte 2/2 ....................... 133 Recomendaes para projetos de migrao e evoluo de plataforma Parte 1/2 ....................... 135

6 Algumas palavras sobre Projetos de Misso Crtica ......................................................................... 138 Captulo 6 .................................................................................................................................................. 142 Windows Azure Platform ...................................................................................................................... 142 Arquitetura de aplicaes para o Windows Azure e estimativas de custos ..................................... 143 Windows Azure AppFabric Services Integration ............................................................................ 147 Windows Azure AppFabric Services preparando o caminho para a composio de aplicaes locais e na nuvem........................................................................................................................................ 148 Recursos da plataforma Windows Azure um lembrete! ................................................................ 149 Atualizao do Layered Architecture Sample for Azure - Cloud Expense Sample - July 2010 .......... 151 SLA para Windows Azure AppFabric Service Bus, Access Control e Caching.................................... 152 Calculadora de custos do Windows Azure ........................................................................................ 152 Links, SDKs e Tools para a plataforma Windows Azure .................................................................... 153 Windows Azure Toolkit for Windows Phone 7 ................................................................................. 154 O que o Windows Azure? ............................................................................................................... 158 Casos e projetos sobre o Windows Azure......................................................................................... 159 Introduo sobre o Windows Azure AppFabric Caching Service ...................................................... 161 Comunicao com Worker Roles via Endpoints ............................................................................... 162 Um guia de recursos da plataforma Windows Azure ....................................................................... 168 Um guia para o Windows Azure em 4 passos ................................................................................... 169 Mais um exemplo de arquitetura em N-Camadas com Windows Azure.......................................... 170 Windows Azure SDK e Windows Azure Tools for Microsoft Visual Studio, atualizaes de Maro 2011 .................................................................................................................................................. 172 Blog do J.D. Meier e outras Leituras Obrigatrias! ........................................................................... 173 Windows Azure Hands on Labs disponvel para download .............................................................. 174 Nuvem hibrida e recursos combinados ............................................................................................ 175 NCBI BLAST no Windows Azure : um projeto da Research na nuvem .............................................. 176 Novidades no Ar : Novo portal de administrao do Windows Azure em Silverlight ...................... 178 Windows Azure Marketplace DataMarket..................................................................................... 180 Benefcios da plataforma Windows Azure para assinantes MSDN................................................... 181 Provisionamento dinmico com Windows Azure ............................................................................. 183 Security Best Practices For Developing Windows Azure Applications.............................................. 187 Patterns para a construo de aplicaes para o Windows Azure ................................................... 187

7 Monitorao no Windows Azure links e artigos ............................................................................ 189 Woodgrove Cloud Application um exemplo de aplicao rica no Azure ....................................... 190 patterns & practices Developing Applications for the Cloud ......................................................... 191 Ruby, Eclipse, Java, Python e PHP - Interoperabilidade com o Windows Azure .............................. 192 patterns and practices: Windows Azure Guide links e dicas ......................................................... 193 patterns & practices Windows Azure Guidance ............................................................................... 195 Exemplos de aplicaes para o Windows Azure ............................................................................... 196 Melhores prticas em segurana para o Windows Azure ................................................................ 197 Windows Azure Management Tool (MMC) Release de Maio ........................................................ 200 Windows Azure links e roles para seus primeiros projetos ........................................................... 202 Microsoft Cloud Computing Capacidades da plataforma Windows Azure .................................... 205 Dia 12 de Abril de 2010: Windows Azure no Brasil........................................................................... 207 Microsoft Cloud Computing A plataforma Microsoft na nuvem ................................................... 209 Microsoft Cloud Computing A experincia vem com o tempo ...................................................... 211 Microsoft Cloud Computing Construindo um container Azure ..................................................... 212 Captulo 7 .................................................................................................................................................. 214 SQL Azure .............................................................................................................................................. 214 Windows Azure Sample Project - .NET Stock Trader 5 Sample Application ..................................... 215 SQL Azure : uma aplicao Web Role com SQL Azure parte 1/2 ................................................... 215 SQL Azure : uma aplicao Web Role com SQL Azure parte 2/2 ................................................... 225 MSDN Webcast: SQL Azure - Desenvolvimento, Operao e Administraco de dados relacionais sobre o Windows Azure. ................................................................................................................... 241 Tech-Ed Brasil 2010 Sesso sobre SQL Azure................................................................................. 242 SQL Azure Migration Wizard v3.3.6 .................................................................................................. 248 Novas opes de contratao para o SQL Azure .............................................................................. 249 SQL Azure Explorer um Addin para Visual Studio 2010 Beta 2 ...................................................... 251 SQL Azure: Frequently Asked Questions (FAQ)................................................................................. 254 Captulo 8 .................................................................................................................................................. 258 Windows Server AppFabric ................................................................................................................... 258 AppFabric in a Box : Uma viso sobre solues baseadas em servios ............................................ 259 AppFabric in a Box : Arquitetura do Windows Server AppFabric ..................................................... 263 AppFabric in a Box : Um exemplo de soluo Web com alta performance ..................................... 265

8 AppFabric in a Box : Tipos de workflows e recursos diversos........................................................... 266 Windows Server AppFabric: tracking profile e monitorao de servios parte 1.......................... 270 Windows Server AppFabric: tracking profile e monitorao de servios parte 2.......................... 276 Windows Server AppFabric: tracking profile e monitorao de servios parte 3.......................... 281 Windows Server AppFabric : cmdlets PowerShell para administrao de caching .......................... 285 Windows Server AppFabric : cmdlets PowerShell para administrao de hosting .......................... 291 Material sobre Windows Server AppFabric e exemplos de aplicaes ............................................ 293 AppFabric Caching Admin Tool 1.3 ................................................................................................... 296 AppFabric para composio de servios: um exemplo de projeto ................................................... 298 AppFabric para composio de servios: viso AppFabric Composite App ...................................... 300 AppFabric para composio de servios: arquitetura e principais funcionalidades......................... 302 Captulo 9 .................................................................................................................................................. 305 Identidade e Segurana ........................................................................................................................ 305 patterns & practices: Claims-Based Identity e WIF Windows Identity Foundation ....................... 306 Claim-based Identity e Access Control Links, Samples e Whitepapers.......................................... 309 Attribute Store, ADFS 2.0 e Carnaval ................................................................................................ 311 Identity Developer Training Kit February 2011 ................................................................................. 312 CardSpace e U-Prove CTP: evolues no mundo das identidades ................................................... 312 patterns & practices: Claims-Based Identity and Access Control (CBA) Guide................................. 314 Claim-based Authentication (CBA) e Windows Identity Foundation (WIF) com o Windows Azure . 315 Captulo 10 ................................................................................................................................................ 318 Papo de Arquiteto ................................................................................................................................. 318 Papo de Arquiteto: construindo aplicaes de MapReduce no Windows Azure ............................. 319 Papo de Arquiteto: o caso da agncia de notcias ............................................................................ 321 Papo de Arquiteto: o caso do site de e-Commerce que vai crescer em 2 anos ............................... 322 Como mapear camadas de uma aplicao para uma TI com private cloud? Parte 2/2 ................... 325 Como mapear camadas de uma aplicao para uma TI com private cloud? Parte 1/2 ................... 327 Captulo 11 ................................................................................................................................................ 331 Posts para pensar .................................................................................................................................. 331 Responsabilidade Fiscal, TI Verde, Governo Eletrnico e Computao em Nuvem ......................... 332 Pensando sobre TI ao longo do tempo .......................................................................................... 333 Faxina online: onde vamos parar com tantas credenciais? .............................................................. 335

9 Tecnologias para o mundo on-premise e o mundo cloud ................................................................ 336 Uma viso Software+Servios e a prxima dcada .......................................................................... 339 Captulo 12 ................................................................................................................................................ 341 Leitura Obrigatria ................................................................................................................................ 341 Leitura Obrigatria para IT Pros: Windows Sysinternals Admin Reference .................................... 342 Leitura Obrigatria: artigos da MSDN Magazine de Junho/2011 ..................................................... 343 Leitura Obrigatria: Introduo sobre ODATA, por David Chappell ................................................. 344 Leitura Obrigatria: Artigos novos no MSDN sobre plataforma Azure ............................................ 345 Leitura Obrigatria: Redes Sociais entre comunidades e projetos................................................... 345 Leitura Obrigatria: Fibonacci, F#, MapReduce e Windows Azure .................................................. 347 Leitura Obrigatria: Revisando alguns links e leituras ...................................................................... 350 Leitura Obrigatria: aplicaes para estudo ..................................................................................... 352 Leitura Recomendada: Livros sobre SOA Service-Oriented Architecture ...................................... 352 Leitura Recomendada: Contedo MSDN para Desenvolvedores ..................................................... 354 Leitura Recomendada: novidades do patterns & practices .............................................................. 355 patterns & practices: dicas de projetos e releases finais no msdn................................................... 356 Leitura Recomendada: Microsoft Application Architecture Guide 2nd Edition ............................... 357 Captulo 13 ................................................................................................................................................ 359 Links e Setups ........................................................................................................................................ 359 Links, SDKs e Tools para a plataforma Windows Azure .................................................................... 360 Links e Setups: atualizaes recentes para Azure, AppFabric, Silverlight e WIF .............................. 361 Links e Setups: configurando uma nova mquina ............................................................................ 363 Links e Setups de uma mquina de testes ........................................................................................ 364 Reinstalando a mquina: links e pacotes importantes ..................................................................... 366 Captulo 14 ................................................................................................................................................ 368 Migrando Aplicaes para o Windows Azure ....................................................................................... 368 Assessment de aplicaes para o Windows Azure Parte 1/2 ........................................................ 369 Assessment de aplicaes para o Windows Azure Parte 2/2 ........................................................ 371 Windows Azure: Cenrios de migrao para a nuvem ..................................................................... 376 Windows Azure: Migrando infraestrutura de aplicaes Web......................................................... 377 Windows Azure: Migrando Web Services de aplicaes departamentais para a nuvem ................ 380 Windows Azure: Migrando uma soluo de e-Commerce com servios para a nuvem .................. 382

10 Captulo 15 ................................................................................................................................................ 386 Artigos publicados na revista Mundo .NET ........................................................................................... 386 Revista Mundo .NET : artigos e entrevistas ................................................................................... 387 Revista Mundo .NET : Artigo sobre Enterprise Architecture ............................................................ 387 Revista Mundo .NET : Artigo sobre Cenrios de Migrao para o Windows Azure ......................... 388 Revista Mundo .NET : Um pouco mais sobre o SQL Azure Database ............................................... 389 Revista Mundo .NET : Construindo aplicaes para o Windows Azure ............................................ 390 Revista Mundo .NET : Plataforma de Servios do Windows Azure .................................................. 391 Revista Mundo .NET : Computao na Nuvem com Windows Azure ............................................... 391 Palavras finais ........................................................................................................................................... 393 Sobre o autor ............................................................................................................................................ 394

11

Captulo 1Enterprise Architecture

Enterprise Architecture ou Arquitetura Corporativa tem sido um tema crescente nos ltimos dois anos. Por isso, escolhi EA para esse primeiro captulo do ebook. Recentemente, diversas empresas iniciaram seus estudos ou criaram novas posies para arquitetos corporativos, com o objetivo de apoiar uma estratgia de longo prazo para a evoluo de um ambiente de TI mais prximo dos objetivos de negcio da empresa. Conheci algumas dessas empresas e alguns desses novos arquitetos, dividindo com eles algumas ideias atravs do blog. Nesse captulo veremos conceitos, discusses, tendncias e ferramentas que suportam as disciplinas de Enterprise Architecture e sua importncia no ambiente corporativo.

12

Enterprise Architecture: como voc gerencia seu porfolio de aplicaes?Fri, Aug 26 2011 10:00 AM

Ol pessoal, tudo certo? Essa semana tive um almoo de arquitetura com um grande amigo (super arquiteto Diego). Falamos muitos sobre os desafios presentes na mesa do arquiteto de TI e como os departamentos ou gerncias de TI so confrontados por resultados, melhor time-to-market e acima de tudo, alinhamento com o resto da empresa. Um dos assuntos mais importantes na pauta de um CIO ou Diretor de TI/Arquitetura o gerenciamento do portfolio de aplicaes. Como voc gerencia o portfolio de aplicaes presentes em sua TI? Existem diversas maneiras de se fazer esse tipo de gerenciamento e esse post realmente no teria espao para cobrir todos eles. Mas vale aqui algumas ideias e tpicos de destaque. Sempre falamos que um dos principais pensamentos de todo CIO construir ou melhorar o alinhamento entre TI e Negcio. Porm, um grande desafios para essa realizao est nos prprios inibidores presentes na TI. Entre eles, o fato de termos um nmero muito maior de sistemas e aplicaes do que as reais necessidades de negcio. Ou seja, passamos a maior parte do tempo inibidos/ocupados com manutenes, operaes e evolues de um nmero grande de aplicativos, que no suportam as necessidades dos times de negcio. Concorda? Isso ilustrado em diversos cenrios e indstrias. Por exemplo, alguns bancos possuem entre 3 a 5 portais de comunidades tcnicas e repositrios de documentos para seus projetos, quando na verdade apenas um seria suficiente. Essa duplicidade de portais gera manutenes de servidores, migraes, versionamento de pginas, operaes duplicada, etc. Outras empresas possuem ainda verses histricas de seus sistemas de apoio, como CRMs ou cadastros de negcio que ficaram obsoletos com o tempo. Porm, continuam instalados, operando e exigindo manuteno contnua, devido umas poucas funcionalidades presentes para alguns poucos usurios de negcio. Qual o papel da Arquitetura num cenrio como esse? Como um time de Arquitetura ou um Arquiteto pode ajudar a empresa a eliminar esse tipo de impedimento na TI? Em pesquisa recente da Capgemini (http://www.capgemini.com/insights-and-resources/bypublication/application-landscape-report-2011-edition/) confirmamos que uma das principais preocupaes dos CIOs de hoje a RACIONALIZAO de aplicaes. Esse processo busca otimizar o portfolio de aplicaes presentes na TI. Como fazer uma otimizao do portfolio de aplicaes? Existem diversos modelos para abordar o problema, como: Modelo top-down: modela a arquitetura da organizao de cima para baixo, definindo servios baseados nos modelos de negcio da organizao, agrupando servios em componentes e

13

orientando a implementao desses componentes junto aos times de sistemas e desenvolvimento. Esse modelo exige uma viso ampla sobre as linhas de negcio da empresa, alm da definio prvia de processos e modelos de negcio. Modelo de comando e controle: aqui, o grupo de arquitetura define o portfolio de aplicaes que ser empregado e orientada a implementao de suas escolhas. Vejo muitas empresas criando grupos de arquitetura baseados nesse modelo, que possuem vantagens e desvantagens. O maior desafio aqui est na correta conduo das definies de arquitetura que sero implementadas, alm de um bom plano de comunicao com os times de negcio, sobre essas definies. Tanto para o modelo top-down como para o comando e controle, importante identificar quais capacidades de negcio esto sendo atendidas na arquitetura proposta. Baseado nos modelos da organizao: o gerenciamento do portfolio de aplicaes baseado em modelos exige uma rgida disciplina de modelos pr-definidos na organizao. Tenho visto poucas empresas com esse mapeamento completo para todas as linhas de negcio, por isso o maior desafio desse tipo de gerenciamento. Modelo padronizado para a plataforma de tecnologia adotada: esse modelo muito comum hoje em dia, quando temos um time de arquitetura focado apenas em plataformas e tecnologias presentes no ambiente de TI. Em muitos casos, o resultado um bom blueprint de arquitetura, padronizado e organizado para os tipos de componentes e sistemas que suportam linhas de negcio. Porm, pode no ser suficiente para uma viso maior de integrao de linhas de negcio, podendo ser simplista para cenrios multi-plataforma ou ambientes complexos de TI. Tambm pode pecar na falta de um alinhamento mais alto-nvel com as linhas de negcio da empresa. Modelo baseado na consolidao de aplicaes: nesse modelo, o foco manter um regime de racionalizao de aplicaes de negcios, buscando sempre a consolidao/merge de aplicaes, consolidando tecnologias nas plataformas adotadas. A consolidao de aplicaes gera um menor esforo de operao na produo, simplificando o ambiente de TI. Porm, pode no ser a melhor escolha para cenrios com linhas de negcio muito diversas, que exigem customizaes ou solues domsticas nativas da indstria. Com certeza, no ser apenas um modelo de gerenciamento de aplicaes que ir resolver seu problema. Na verdade, um MIX desses modelos e ainda outras estratgias emergentes iro ajudlo na difcil tarefa de RACIONALIZAO e OTIMIZAO de seu portfolio de aplicaes. A pergunta final continua sendo: como o time de arquitetura pode ajudar a empresa na otimizao da TI? Cada vez mais, seremos cobrados como arquitetos para devolver resultados para a compania, seja atravs de reduo de custos operacionais, simplificao de arquiteturas e sistemas, melhorias de processos, inovao e gerao de novos negcios. Pense nisso! Por enquanto s! At o prximo post :) Waldemir.

14

Enterprise Architecture: atuando em diferentes domnios de arquiteturaFri, Jul 22 2011 3:00 PM Ol pessoal, tudo certo? Essa semana tive algumas discusses sobre domnios de arquitetura e qual a diferena entre Arquitetura de Solues e Arquitetura Corporativa. Incluindo a Arquitetura de Software, podemos identificar diferentes nveis de preocupaes para cada disciplina, o que permite segmentar as perspectivas relacionadas com cada tipo de arquitetura e entrega. Um desenho que usei aborda diferentes domnios de arquitetura na empresa, veja:

O ponto de destaque nessa abordagem est nos diferentes domnios de aplicao ou negcios envolvidos. Veja que a viso corporativa contempla diversos domnios de aplicao e negcios. Desse modo, o arquiteto corporativo deve entender claramente os motivadores de negcio envolvidos, assim como as principais capacidades de negcios que devem ser atendidas pelas linhas de atuao da empresa. Por exemplo, para um cenrio da rea financeira, um banco de investimentos pode contemplar um arquiteto corporativo que ir apoiar a evoluo e recomendaes para a arquitetura corporativa da empresa, suportando motivadores de negcio e capacidades que devem atender os objetivos da empresa. Podemos pensar sobre como a TI, processos e negcio devem evoluir para suportar um crescimento de 30% no nmero de correntistas de altas nos prximos 2 anos, por exemplo. Para a arquitetura de solues, aplicamos disciplinas e patterns de arquitetura focadas para um domnio de aplicao ou produto especfico. Por exemplo, podemos pensar no domnio de aplicaes da rea financeira, especificamente para solues de mensageria e tratamento de produtos de renda varavel na carteira do banco.

15

Finalmente, quando focamos apenas uma aplicao ou produto na empresa, estamos dando nfase para a Arquitetura de Software, pensando nas decises tcnicas que suportam uma determinada aplicao. Seguindo nosso exemplo, estamos falando sobre o modelo de aplicao que far a interface de nossos usurios sobre renda varavel e como ser o comportamento da aplicao, assim como decises sobre o modelo de dados, schemas de mensagens, componentes de software e camadas de servios que sero implementadas. Essa ilustrao bem aproximada, mas serve como viso geral dos tipos diferentes de entregas que temos para arquiteturas e seus domnios. Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: TOGAF e o planejamento estratgicoTue, Jul 19 2011 10:00 AM Ol pessoal, tudo certo? Um dos principais guias relacionados com arquitetura corporativa o TOGAF - The Open Group Architecture Framework (http://www.opengroup.org/togaf/). A partir de seus princpios e disciplinas, o TOGAF organiza o processo de entrega de uma arquitetura em diversas frentes de atuao, contemplando aspectos de negcio, informao, processos, tecnologias, mudanas e governana. De fato, os fundamentos de arquitetura definidos pelo IASA e os mtodos e disciplinas organizados pelo TOGAF so ferramentas importantes para o arquiteto de TI. O mtodo ADM define fases de execuo de uma arquitetura corporativa, ajudando os arquitetos e profissionais envolvidos na melhor organizao e acompanhamento das atividades em execuo. Note que no centro do ADM temos o gerenciamento de requisitos, ou seja, um repositrio histrico de definies, princpios de arquitetura e requisitos de negcio definidos ao longo do projeto. Quando o uso de um framework de arquitetura como o TOGAF pode ser muito importante? Resp.: por exemplo, quando estamos apoiando um planejamento estratgico na corporao. Nas empresa, o planejamento estratgico pode ser entendido de diferentes formas, com significados diferentes para pessoas e nveis diferentes. Mas de modo geral, o planejamento estratgico est relacionado ao planejamento de negcio (ou Business Planning), que acontece de forma anual em muitas empresas.

16

As fases de implementao de arquitetura definidas pelo TOGAF so apresentadas atravs do ADM - Architecture Development Method, que voc v na figura abaixo:

A partir do exerccio do Planejamento Estratgico, podemos identificar diferentes motivadores de negcio, que tero impacto em nossa organizao no mdio e longo prazo, como: - criao de novos produtos e servios; - maior flexibilidade para negcios e agilidade; - fuses e aquisies; - reorganizao da empresa; - consolidao de plantas de manufatura, linhas de negcio, parceiros, sistemas de informao; - mitigao de riscos; - reduo de custos; - novas iniciativas para o gerenciamento de processos de negcios; - outsourcing; - operaes off shoring, etc. Voc concorda que todos os motivadores acima oferecem impacto direto ou indireto em projetos de TI? O Planejamento Estratgico pode ocorrer ainda em diferentes etapas, como:

17

1. definio da misso e objetivos da organizao; 2. anlise do ambiente e estado atual da empresa; 3. definio da estratgia; 4. implementao da estratgia; 5. avaliao constante e monitorao; A partir das definies do planejamento estratgico, o time responsvel pela arquitetura corporativa tem subsdios para criar o mapa de atendimento entre as capacidades de negcio desejadas pela empresa e os diferentes nveis de arquitetura (processos, negcios, informao, tecnologia, etc). Nesse ponto, o uso de um framework organizado para conduo e entrega de uma arquitetura corporativa torna-se uma ferramenta essencial para o sucesso do projeto. Assim, quando estiver envolvido em projetos de arquitetura que apresentem um impacto mais amplo na empresa, no deixe de visitar as disciplinas de um framework de arquitetura. Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: arquitetura corporativa como instrumento de governanaSat, Jul 16 2011 3:00 PM Ol pessoal, tudo certo? Vamos retomar o assunto de Enterprise Architecture, que j apareceu por aqui no blog diversas vezes. Veja alguns posts e artigos: Enterprise Architecture: A arquitetura corporativa e o papel do arquiteto de TI http://msdn.microsoft.com/pt-br/library/gg490650.aspx Enterprise Architecture: uma viso sobre frameworks de arquitetura http://blogs.msdn.com/b/wcamb/archive/2010/07/27/enterprise-architecture-uma-vis-227-osobre-frameworks-de-arquitetura.aspx Enterprise Architecture: conhecendo as capacidades de sua plataforma de aplicaes http://blogs.msdn.com/b/wcamb/archive/2010/09/08/enterprise-architecture-conhecendo-ascapacidades-de-sua-plataforma-de-aplica-231-245-es.aspx Um livro de leitura obrigatria sobre o assunto o Enterprise Architecture at Work de Marc Lnakhorst et al., que recomendo abaixo:

18

Enterprise Architecture at Work: Modeling, Communication and Analysis (The Enterprise Engineering Series) Hardcover: 352 pages Publisher: Springer; 2nd ed. edition (September 18, 2009) Language: English ISBN-10: 3642013090 Em certo momento, o autor posiciona a Arquitetura Corporativa como um instrumento de gerenciamento na corporao, atuando como elemento importante de coordenao e governana na empresa. Veja o desenho da figura 14, abaixo:

Nos primeiros nveis, vemos a definio da MISSO da empresa. Por que a empresa existe? Qual seu papel no mercado ou na sociedade? O que justifica a realizao de seus negcios? Na sequncia, a VISO colocada, permitindo uma primeira impresso sobre os objetivos gerais dentro da empresa e sua direo. Com essas definies iniciais, montamos a ESTRATGIA da empresa, que deve indicar de forma clara o foco da corporao, mapeando o estado atual para o estado futuro, suas aspiraes de negcio e OBJETIVOS que faro a empresa dar um novo salto dentro de sua estratgia. Como exemplo temos as definies estratgicas para os prximos 2 ou 3 anos, setando a evoluo esperada para certos indicadores de negcio. Esse conjunto de definies ir apoiar o MODELO OPERACIONAL da empresa. As empresas possuem diferentes modelos operacionais, que variam de acordo com sua indstria e ramos de atividades. De fato, o modelo operacional de uma empresa tem impacto direto sobre como a TI

19

implementada e conduzida, aumentando ou diminuindo sua importncia estratgica para a realizao dos objetivos de negcio dentro da estratgia global da empresa. No desenho acima, vemos que na camada de AES ou implementaes de TI, os vrios domnios de arquitetura esto contemplados na ARQUITETURA CORPORATIVA, atuando diretamente sobre a cultura da empresa e seus integrantes (pessoas e processos). Descendo mais um nvel na pirmide, vemos finalmente a camada de OPERAES da empresa, envolvendo Produtos, Processos, Pessoas e os Recursos de TI (infraestrutura e desenvolvimento). Com esse mapa em mente, faa uma avaliao do impacto de seu projeto de TI para a organizao. Ele ir ajud-lo a entender quais so os objetivos de negcio que devem ser atentidos e como sua TI ou arquitetura est suportando a viso e a estratgia da empresa para os prximos anos. Para saber mais, esse livro Leitura Obrigatria! Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: conhecendo as capacidades de sua plataforma de aplicaesWed, Sep 8 2010 9:00 AM Ol pessoal, tudo certo? Semana que vem teremos o Tech-Ed Brasil 2010, um evento que tambm um show! Muita gente de empresas e parceiros esperam o ano todo para participarem do evento, para conferir as sesses, reencontrar amigos ou para ver de perto algumas das tecnologias e recursos da plataforma Microsoft. Aproveito para dar uma dica: se voc vai participar do Tech-Ed esse ano, no deixe de aproveitar a noite ASK THE EXPERT, para conversar com outras pessoas sobre cenrios e solues possveis para sua empresa e trocar algumas idias com muitos especialistas do mercado em plataforma Microsoft. Esse ano estou com algumas sesses sobre Plataforma de Aplicaes, dividindo o palco com o Markus Christen (arquiteto de infraestrutura) em algumas salas. Enquanto a gente preparava as demos e cenrios para demonstraes, percorremos o rduo (mas tambm divertido) caminho da instalao, configurao, aplicao de hotfixes, service packs, configurao de ambiente e ajustes, para que nossas aplicaes rodassem em mquinas virtuais e algumas mquinas host.

20

Ento me ocorreu o seguinte: conhecer as vrias capacidades presentes no ambiente que suporta uma soluo nunca foi to necessrio! Por que? Pense no seguinte cenrio:

Voc acha que esse ambiente responsabilidade apenas de um arquiteto de solues? Ou apenas de um arquiteto de infraestrutura? Ou ser que ambos necessitam conhecer todas as capacidades presentes no ambiente, para a construo de uma soluo que melhor aproveite o investimento j realizado pela empresa? Por exemplo: uma empresa investiu alguns milhares de reais no cenrio acima. Mas por desconhecimento, acabou investindo mais alguns punhados de dlares em um ambiente completo de monitorao de um segundo fornecedor. Qual o problema nisso? De fato, essa empresa pode ter perdido duas oportunidades: a primeira, de aproveitar as capacidades e recursos oferecidos pela prpria plataforma j existente. A segunda oportunidade perdida foi a de consolidao ou simplificao de contratos com fornecedores, j que agora trabalha com duas plataformas, fornecedores e sistemas diferentes, exigindo contratos diferentes, treinamentos diferentes, roadmaps diferentes, etc. A idia no unificar sempre sua TI com um nico fornecedor. Em muitos casos isso impossvel ou no desejado pela orientao de negcio. A idia CONHECER as CAPACIDADES DE TI que esto presentes em sua plataforma e manter esse conhecimento atualizado ao longo do tempo. Conheo muitas empresas que no seguem essa recomendao e sofrem com custos adicionais para os departamentos de TI. Antes de cada projeto de TI, fazer

21

uma seleo/identificao de quais capacidades sero necessrias e se esto presentes na atual infraestrutura uma obrigao do time de proejto. Ainda, cada vez mais uma soluo fim-a-fim precisa considerar diversas capacidades da plataforma, que incluem monitorao, administrao, tracking de mensagens, workflows, servios, publish/subscribe, segurana, autenticao, autorizao, acesso a dados, entre tantas outras capacidades. Podemos fazer uma classificao de responsabilidades sobre essas capacidades, claro! Podemos manter aspectos de virtualizao, gerenciamento e segurana para algumas roles especficas, assim como aspectos de acesso a dados, modelo de bases e administrao de bancos de dados para outros. Mas com o aumento da complexidade de ambientes, integrando diferentes infraestrutura, modelos de negcio, fronteiras entre empresas e diferentes consumidores, exigimos do arquiteto uma viso sempre mais ampla sobre todos os aspectos da arquitetura de TI. desejvel que o arquiteto tenha uma especializao, uma disciplina ou track onde seja um champion, mas ter uma viso ampla das outras disciplinas tambm importante. Em seu prximo projeto ou soluo, separe um tempo para posicionar todas as capacidades presentes em sua TI se ainda no tiver esse mapa. Procure identificar quais so utilizadas e quais so as responsabilidades das equipes envolvidas, na administrao, deployment e operao de cada uma delas. Finalmente, para sua soluo, veja o que j existe e o que pode ser reutilizado. Recomendo esses exerccio para todos, seja um arquiteto de solues, de infraestrutura, de banco de dados ou de segurana. Conhecer as capacidades presentes em sua plataforma e como uma soluo as aproveita quase uma obrigao hoje em dia e parte do caminho para uma TI de custos otimizados. Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: Inspiraes do Arquiteto de TIThu, Aug 26 2010 9:00 AM Ol pessoal, tudo certo? Perfeito, voc um arquiteto de TI, com especializaes em solues, plataforma de aplicaes, infraestrutura, informao, segurana e/ou negcios. Pode at ser um arquiteto com mais de uma especializao, acumuladas ao longo da carreira. Mas para qu tudo isso? :) Voc tem algum propsito inspirador para acumular todo esse conhecimento? Ou est seguindo um plano de carreira de mercado, seguindo apenas os caminhso de cargos e salrios? J pensou nisso?

22

Se no tiver nada em mente, nenhum problema aqui! O dia-a-dia j to puxado que as vezes falta tempo mesmo para fazer muita coisa. Mas vamos pensar um pouco sobre o assunto... As organizaes hoje esto mudando e como o Markus sempre fala: Ol Todo Mundo! O Mundo Mudou! :) Existem diferentes presses de mercado que colaboram para essas mudanas, seno vejamos:

Presso para uso de uma computao de baixo custo no enterprise; Mais e mais necessidade de anlises baseadas em Business Intelligence; Presso para construo de um ambiente corporativo sustentvel; Busca constante pela inovao para o crescimento do negcio; Consumerization da TI, onde novas tecnologias e tendncias nascem no mundo do consumer, migrando rapidamente para o enterprise; Tendncia para o crescimento contnuo de Cloud Computing; E essa lista apenas parcial, com minhas impresses. O fato que essas presses tambm exercem impacto direto em nossa carreira como profissionais de TI, seja um DEV, um IT Pro um Gerente ou um Arquiteto de TI. Conhecendo sua posio dentro da empresa, as presses do mercado sobre sua corporao e o conjunto de capacidades que voc acumulou ao longo de sua vida profissional, fica uma pergunta: voc tem alguma bandeira? O que voc defende como arquiteto de TI em sua organizao e fora dela? Existem vrios tipos de bandeiras disponveis, algumas focadas na comunidade ao seu redor, outras focadas nos drivers da prpria organizao, como:

Ajudar na adoo de Cloud Computing para melhorar a incluso social de uma determinada regio; Ampliar o conhecimento sobre Gerenciamento de Projetos e Disciplinas associadas para melhorar a indstria de software no Brasil; Estudar as disciplinas de arquitetura de software e ajudar na evoluo da fronteira do conhecimento, atravs de um engajamento acadmico e participao em congressos e fruns em universidades e sociedades; Colaborar com fruns de desenvolvimento e fornecedores de software, para melhorar o posicionamento do Brasil na competio internacional; Participar de comunidades de tecnologia e arquitetura, disseminando conhecimento e experincia entre profissionais de diferentes regies brasileiras; Criar grupos de estudo para a divulgao de conhecimento, ajudando na preparao e profissionalizao do mercado; Focar nos objetivos de negcio de mdio e longo prazo de sua empresa, influenciando pessoas e equipes para o cumprimento desses objetivos;

23

Enfim, so apenas algumas bandeiras exemplos. Veja que algumas so aspiraes bem diferentes do dia-a-dia da produo. Mas creio que vale pensar na escolha de uma, o que acha? Qual sua bandeira? Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: tendncias em TI e frameworks de arquiteturaFri, Aug 20 2010 9:00 AM Ol pessoal, tudo certo? Essa semana estive conversando com arquitetos de diversos bancos. Dentro do ambiente corporativo, com certeza a indstria financeira abriga a TI com uma das maiores foras de impacto para a estratgia de negcio das empresas. Discusses sobre mltiplos canais de atendimento, infraestrutura de gerenciamento e monitorao, governana de TI, gerenciamento e administrao de servios, componentizao, etc, so comuns nesse ambiente e os desafios igualmente crescentes. Falando em desafios, algumas tendncias so emergentes para o ambiente corporativo, seja para a indstria financeira, telecomunicaes, bens e consumo ou manufatura. Arrisco destacar aqui algumas:

Computao de baixo custo no enterprise Business Intelligence crescente Ambiente Corporativo Sustentvel Inovao para o crescimento Consumerization da TI Cloud Computing

Estar atento sobre esses desafios importante. Porm, apenas conhec-los no basta. O prximo passo igualmente importante: como implementar uma TI que suporte essas tendncias e foras de evoluo? Pensando nisso, as disciplinas da Enterprise Architecture tornam-se cada vez mais interessantes no ambiente corporativo. A maioria das empresas no executa um processo de arquitetura organizado, em parte pelo histrico de nossa rea, em outra parte pela prpria complexidade dos vrios frameworks e mtodos disponveis.

24

Pensando num mapa que ilustra os principais framework de arquitetura e mtodos de governana, temos o desenho a seguir:

Veja, do lado esquerdo temos alguns mtodos conhecidos no ambiente de TI no enterprise, como ITIL, COBIT, THE ENTERPRISE PROCESS, PRINCE, entre outros. Esses mtodos organizam processos, definem papis e permitem uma melhor administrao dos componentes de TI de uma empresa. Do lado direito temos os principais frameworks de arquitetura, que oferecem uma estrutura de criao/implementao de uma arquitetura corporativa. So exemplos o FEA, DODAF, TOGAF, ZACHMAN, OASIS, etc. No post anterior sobre Enteprise Architecture falamos sobre os pilares de conhecimento do arquiteto de TI segundo o IASA. Note que independente do mtodo ou framework de arquitetura adotado, o arquiteto de TI deve possuir as capacidades descritas pelo IASA como suas ferramentas pessoais para coordenao e execuo das atividades previstas na implementao da arquitetura corporativa. Em resumo, sem ferramentas, como o arquiteto pode executar seu dia-a-dia? Quais ferramentas voc usa para a criao e conduo de sua arquitetura corporativa? No me refiro apenas ao Visual Studio 2010 e suas funcionalidades de UML e Architecture Explorer, mas sim a uma viso ampla sobre a plataforma de aplicaes onde suas solues esto inseridas. Pense nisso!

25

Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: capacidades de um arquiteto de TIFri, Aug 13 2010 11:11 AM Ol pessoal, tudo certo? Qual o papel do arquiteto de TI? Voc j deve ter ouvido essa pergunta uma infinidade de vezes, em discusses, artigos, blogs e foruns. E as respostas so as mais variadas tambm. Mas uma pergunta que vejo como mais importante quais so as habilidades que um arquiteto deve ter para cumprir suas atividades?. Tenho visto no mercado muito mais sobre justificativas para o cargo de um arquiteto do que realmente um mapa sobre habilidades e competncias que o profissional deve ter para ser efetivo na organizao. A maior parte do tempo, vemos arquitetos de solues e de infraestrutura tratando dos desafios tcnicos da empresa, sem tempo ou foco para tratar outras competncias. comum o arquiteto ter um impacto muito grande na organizao, sem ao menos ter um time ou recursos diretos reportando para ele. Buscando essa viso sobre competncias e principais habilidades que um arquiteto deve ter para o desempenho de sua funo, recomendo aqui a leitura do mapa de competncias da IASA International Association of Software Architects, que relaciona os principais grupos de recursos e ferramentas que um IT Architect deve conhecer e desenvolver. Veja o mapa abaixo:

26

Partindo da viso sobre um arquiteto corporativo, temos 4 principais especializaes: arquiteto de software, arquiteto de infraestrutura, arquiteto de informao e arquiteto de negcio. Claro, existem umas 1000 outras definies e especializaes possveis, mas o IASA simplificou o mapa agrupando as variaes de funes nessas 4 grandes caixas. Note que estamos falando da arquitetura de negcio, por exemplo, que envolve processos, objetivos de negcio, ROI, etc. Para arquitetura de informao, envolvemos segurana, persistncia de dados, integridade, etc. O interessante que para todas essas especializaes, os fundamentos so os mesmos, baseados em 5 pilares de conhecimento/capacidades:

Business Technology Strategy IT Environment Quality Attributes Design Human Dynamics

E j posso adiantar que Human Dynamics a rea de conhecimento mais desafiadora do grupo, pois envolve o domnio da cultura organizacional, relaes de poder, estratgia de longo prazo, tomada de decises, mapa de influncias, etc. Assim, fica aqui uma dica: visite o portal IASA e confira o material por l publicado, sobre o IASA Foundations. Ref.: http://www.iasahome.org/

27

Para terminar, sabe o que ARQUITETURA de TI segundo o IASA?

a ARTE ou CINCIA de desenhar e entregar estratgias de tecnologia de VALOR!

e por valor entende-se estar alinhado aos objetivos de negcio da empresa. Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: uma viso sobre frameworks de arquiteturaTue, Jul 27 2010 4:43 AM Ol pessoal, tudo certo? Ainda estou parcialmente conectado, mas d tempo para um post rpido sobre Enterprise Architecture. Bom, imagine que voc um arquiteto e precisa construir um prdio de alto padro, com linhas arrojadas, estrutura interna nunca implementada, com o uso de materiais inovadores e em terreno com desafios logsticos e de fundao. Para esse tipo de arquitetura, ferramentas, tcnicas e disciplinas bem estruturadas so componentes obrigatrios para o sucesso do projeto, concorda? Agora, para projetos mais simples, templates e patterns mais simples podem ser suficientes. O mesmo acontece no mundo de TI, para nossas arquiteturas de solues, de infraestrutura e corporativas. Assim, vale uma definio sobre Arquitetura de TI:

Segundo o IASA International Association of Software Architects Arquitetura a Arte ou Cincia de desenhar e implementar estratgias de tecnologia de valor. Nesse contexto, o Arquiteto de TI um estrategista na organizao, sendo responsvel pela traduo entre os objetivos de negcio e a tecnologia que suporta as necessidades de negcio da empresa.

Existem muitas habilidades que um arquiteto de TI precisa ter para garantir um bom alinhamento entre as vrias reas envolvidas na empresa e os passos que sero executados para a implantao de uma arquitetura corporativa. Conhecimento de negcio, viso sobre o impacto financeiro, anlise sobre ROI e retorno de investimento, roadmap de produtos e tecnologias, gerenciamento de pessoas, conflitos, etc, so apenas algumas dessas habilidades desejadas para um arquiteto.

28

Alm dessas vrias habilidades e competncias, dispor de um bom conjunto de ferramentas e tcnicas fator decisivo para uma atuao mais profissional. Como exemplos de ferramentas podemos citar os frameworks de arquitetura. Um framework de arquitetura oferece um conjunto bem definido de fases, atividades, documentos, templates, recomendaes e mtricas para a execuo de uma arquitetura. Dois exemplos clssico de ferramentas so o TOGAF e o ZACHMAN. O ZACHMAN mais uma taxonomia, oferecendo um mapa de vises e componentes mapeados de uma organizao, importantes para a construo de uma arquitetura. A figura principal do ZACHMAN aparece abaixo, com seus principais componentes:

O TOGAF The Open Group Architecture Framework um framework no sentido mais completo, oferecendo uma estrutura bem definida de fases e processos de execuo para a construo de uma arquitetura corporativa. Para isso, o TOGAF define o chamado ADM Architecture Development Method, que define entradas e sadas para cada fase prevista no processo de construo de uma arquitetura. A figura abaixo apresenta a estrutura principal do ADM:

29

Na figura acima, o ADM do TAGAF aparece, com suas vrias fases e etapas que podem ser executadas de forma cclica, com vrias interaes ao longo do processo. TOGAF e ZACHMAN so ferramentas importantes que precisam ser conhecidas pelo arquiteto, permitindo uma execuo mais profissional das atividades em arquitetura corporativa. Um artigo que apresenta uma boa comparao sobre os principais frameworks de arquitetura voc encontra abaixo, confira: Uma comparao entre as quatro principais metodologias de arquitetura corporativa Ref.: http://msdn.microsoft.com/pt-br/library/bb466232.aspx Ainda existem outros frameworks de arquitetura, como DODAF, MODAF, FEA, AGATE, etc. Alm dos frameworks de arquitetura, disciplinas e mtodos de governana como ITIL, DSDM,

30

COBIT, etc. tambm so importantes para uma coordenao clara de atividades e papis envolvidos com a arquitetura corporativa nas organizaes. Vale pesquisar mais sobre o assunto. Por enquanto s! At o prximo post :) Waldemir.

Enterprise Architecture: uma tendncia no mundo corporativoTue, Jul 20 2010 9:00 AM Ol pessoal, tudo certo? Aqui no blog temos falando muito sobre Arquitetura de Solues. A maior parte do tempo, falamos sobre aspectos de plataforma, componentes de software, containeres de servios, workflows, arquitetura de aplicaes, templates e diversos componentes do ambiente de TI e especificamente solues. Porm, uma tendncia cada vez maior no mundo corporativo a aplicao de conceitos da chamada Arquitetura Corporativa ou Enterprise Architecture. E o que vem a ser Enterprise Architecture? EA corresponde ao conjunto de atividades envolvidas na construo de uma arquitetura que contempla diversos aspectos da organizao, como objetivos de negcio, problemas crticos de negcio, sistemas de informao, dados corporativos, tecnologias aplicadas e desafios organizacionais como consolidaes, fuses e aquisies, reduo de custos, aumento de receita, etc. O objetivo de um projeto de EA a construo de uma arquitetura alvo que atenda aos principais objetivos de negcio da empresa, resolvendo seus principais desafios. Portanto, um projeto de EA muito maior que um projeto de arquitetura de aplicao, envolvendo componentes e disciplinas que ultrapassam as fronteiras da TI. No se engane, esse assunto no novo e j existe muito material e ferramentas que um Enterprise Architect pode utilizar para a conduo de um projeto de EA. Entre os principais frameworks de arquitetura utilizados em projetos de EA encontramos: Zachman Framework (ZACHMAN) Ref.: http://en.wikipedia.org/wiki/Zachman_Framework The Open Group Architecture Framework (TOGAF) Ref.: http://en.wikipedia.org/wiki/The_Open_Group_Architecture_Framework Federal Enterprise Architecture (FEA) Ref.: http://en.wikipedia.org/wiki/Federal_Enterprise_Architecture

31

Department of Defense Architecture Framework (DODAF) Ref.: http://en.wikipedia.org/wiki/Department_of_Defense_Architecture_Framework Entre as principais metodologias utilizadas em Enterprise Architecture encontramos: Information Technology Infrastructure Library (ITIL) Ref.: http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library Control Objectives for Information and related Technology (COBIT) Ref.: http://en.wikipedia.org/wiki/Control_Objectives_for_Information_and_related_Technology Dynamic Systems Development Method (DSDM) Ref.: http://pt.wikipedia.org/wiki/Dynamic_Systems_Development_Method Entre outras. Note, um dos pontos importantes na conduo de um projeto de EA o profissionalismo. Isso significa que ferramentas, frameworks, metodologias e disciplinas bem formatadas devem ser adotadas para a execuo do projeto, garantindo a aplicao de mtricas, condies de sucesso e instrumentos de acompanhamento e monitorao das atividades. Um projeto de EA apresenta impactos grandiosos sobre toda a organizao, no somente no ambiente de TI. Por isso, ferramentas de alinhamento de negcio, envolvimento de diversas reas, mapeamento de capacidades e necessidades de negcio so componentes crticos para o sucesso do projeto. Vamos falar mais sobre Enterprise Architecture em posts futuros, enquanto detalhamos alguns dos principais frameworks e ferramentas que podemos utilizar como arquitetos corporativos. Por enquanto s! At o prximo post :) Waldemir.

32

Captulo 2Solutions Architecture

Arquitetura de Solues continuou um tema central no blog nesses ltimos anos e por isso tem seu lugar aqui no ebook. Pessoalmente, tenho notado que mais de 70% das audincias de grandes eventos tcnicos em TI formada por desenvolvedores e arquitetos de solues. Isso aponta a dimenso de sua importncia nas empresas, sendo um papel cada vez mais crtico para a construo de solues de valor e que suportam as linhas de negcios das empresas. Nesse captulo, veremos as vrias disciplinas envolvidas com a Arquitetura de Solues na plataforma Microsoft, como patterns, melhores prticas, arquiteturas de referncia, organizao em camadas e principalmente cenrios de aplicao.

33

Voc um arquiteto de uma arquitetura s!?Thu, Aug 18 2011 9:00 AM

Ol pessoal, tudo certo? Enquanto o tempo passa, algumas arquiteturas evoluem de forma bem interessante. Resgatando alguns documentos e guias do passado, veja o que notei. Entre 2000 e 2003, uma soluo Web em plataforma Microsoft era frequentemente apresentada como vemos abaixo:

A partir de 2005, com o lanamento do .NET 3.0 e o Windows Communication Foundation, passamos a substituir os Web Services ASMX por servios em WCF (.SVC). Num primeiro momento, regras de negcio ainda em COM+ e Enterprise Services eram mantidas e escondidas por servios WCF. Aos poucos, algumas regras foram sendo convertidas para servios, como vemos no desenho abaixo:

34

Ainda encontro empresas com regras de negcio em COM+ sendo exportadas a partir de Web Services WCF. O impacto disso latncia em alguns casos, principalmente para componentes legados antigos. Mais recentemente, diversas aplicaes corporativas ampliaram o uso de servios, criando camadas e funcionalidades exportadas para diferentes canais de consumo, como desktop, web, ambientes mveis, etc. Desenhos como a figura abaixo tornaram-se comuns em muitas empresas, onde vemoos uma camada de servios bem definida atravs de interfaces de servios e tipos de mensagens:

35

Enquanto a empresa amplia o nmero de servios expostos para domnios de aplicaes diferentes, alguns desses servios tornam-se bons candidatos para reuso. Nesse cenrio, uma viso de barramento de servios ou virtualizao de servios, onde podemos concentrar sua exposio e governana torna-se bem interessante. Barramentos de servios sempre foram um tpico importante no cenrio corporativo, onde questes como governana de servios, monitorao, segurana, versionamento, administrao e composio so crticos. Veja um desenho que ilustra esse cenrio:

36

Alm da exposio central de servios, o barramento tambm suporta aspectos de integrao entre plataformas heterogneas, como .NET e JAVA, SQL e ORACLE, camadas de apresentao e aplicaes do legado, etc. Qual o desenho de arquitetura do momento? Com certeza, a integrao entre on-premise e nuvem bem promissora, j que existe uma tendncia de migrao de alguns cenrios de aplicaes para um ambiente externo da empresa. Isso far com que a monitorao e o controle sobre os servios hospedados na nuvem sejam muito importantes! No admissvel que uma soluo colocada na nuvem e integrada com um ambiente on-premise corporativo no seja monitorada ou administrada de forma integrada ao modelo de monitorao corrente. Se a empresa no possui esse modelo de governana em sua TI, o problema mais grave e deve ser tratado antes mesmo de se pensar em uma soluo na nuvem. Que ver um exemplo simples? Veja o desenho abaixo:

37

Acima, vemos uma soluo local (on-premise), integrada com servios no ambiente na nuvem. Ainda, a segurana proposta aqui baseada em tokens de segurana SAML, emitidos por servidores de token (STS), baseando a soluo na abordagem CBA Claim-Based Authentication. provvel que no futuro prximo, os barramentos locais e na nuvem tambm estejam integrados, como vemos a seguir:

Estive com o Giovanni Bassi esses dias e gostei muito de um comentrio que ele fez, sobre os arquitetos de uma arquitetura s. So profissionais que no evoluem ao

38

longo tempo. Enquanto que novas combinaes e alternativas de solues so apresentadas, eles continuam fazendo uso da mesma arquitetura, sempre! Fica a dica: busque sempre avaliar alternativas, novas metodologias, novas tecnologias e formas diferentes de integrar, combinar, desenvolver, etc. Seja um arquiteto antenado e atualizado com as tendncias em TI. Sobre as figuras e tpicos que falamos aqui, confira: Building Secure ASP .NET Applications .pdf Download (2002) http://www.microsoft.com/download/en/details.aspx?DisplayLang=en&id=19032 patterns & practices Improving Web Services Security Guide (2008) http://wcfsecurityguide.codeplex.com/releases/view/15892 Microsoft Application Architecture Guide, 2nd Edition (2009) http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=16236 AppFabric Connect (2011) http://www.microsoft.com/biztalk/en/us/appfabricconnect.aspx Por enquanto s! At o prximo post :) Waldemir.

39

Construindo arquiteturas de alta disponibilidadeTue, Aug 9 2011 9:00 AM

Ol pessoal, tudo certo? O que voc chama de Alta Disponibilidade? Esses dias estive envolvido nessa discusso e surgiram algumas dvidas no time. Vou aproveitar esse post para compartilhar alguns tpicos do assunto. Podemos comear a discusso fazendo uma definio sobre o termo Disponibilidade. Em TI, um sistema ou soluo pode ser chamado de disponvel quando est: Presente e pronto para uso; acessvel para usurios; Qualificado e pronto para ser servido; Disponveis para consumo com garantias prvias de nveis de servios oferecidos;

Uma definio do Wikipedia segue abaixo:

Um sistema de alta disponibilidade um sistema resistente a falhas de software e energia, cujo objectivo manter os servios disponibilizados o mximo de tempo possvel. by wikipedia. Ref.: http://pt.wikipedia.org/wiki/Sistema_de_alta_disponibilidade

Ou seja, se precisamos garantir a disponibilidade para um determinado sistema, precisamos garantir a oferta de seus servios em diferentes situaes de operao (falhas, carga, desastres, etc), com nveis de qualidade pr-estabelecidos. As situaes de operao mais conhecidas so:

Tolerncia a falhas; Suporte a picos de carga e alta demanda; Recuperao de desastres; Cenrios de redundncia de dados; Cenrios de redundncia de aplicaes e funcionalidades;

Veja, essas situaes exigem uma combinao de requisitos de software e hardware. Podemos ainda usar mtricas para determinar o nvel de disponibilidade que precisamos, como:

40

Os nveis de disponibilidade exigidos para a aplicao devem estar alinhados aos requisitos do negcio. Ainda, maiores nveis de disponibilidade exigem maiores nveis de investimentos e definies de hardware, software e redes que suportam adequadamente os nveis exigidos. Portanto, Alta Disponibilidade deve ser classificada de acordo com o cenrio e nvel de servio que estamos considerando. Veja um exemplo de arquitetura clssica de alta disponibilidade para dois ns em cluster, com base de dados compartilhada:

by wikipedia.

41

A plataforma Windows Server 2008 R2, por exemplo, oferece uma srie de recursos que apoiam a construo de solues com alta disponibilidade, como:

Failover Clustering Network Load Balancing Windows Hardware Error Architecture (WHEA) Dynamic Hardware Partitioning Fault Tolerant Hardware Scaling Up (at 256 processadores) Shadow Copy Windows Server Backup Windows Recovery, etc.

Pensando na arquitetura de hardware e infraestrutura, diversos fornecedores oferecem solues combinadas envolvendo SAN - Storage Area Network, SCSI - Small Computer System Interface, SATA - Serial AT Attachment e RAID - Redundant Array of Independent Drives, criando cenrios que podem ser combinados para a construo de ambientes de alta disponibilidade, como vemos a seguir:

Assim, vemos solues para disponibilidade de dados, alta disponibilidade de aplicaes, alta disponibilidade de interfaces Web, compartilhamento de dados na rede, balanceamento de servios, espelhamento de ambientes, cluster de servidores de dados, de mquinas virtuais, etc. Outro exemplo interessante o uso de virtualizao para cenrios de alta disponibilidade, onde uma combinao de mquinas virtuais, com clusterizao de servidores e gerenciamento ativo geram uma infraestrutura robusta, tratando situao de recuperao, falhas e balanceamento de carga que tornam as aplicaes mais disponveis e com provisionamento dinmico para cenrios de nuvens privadas.

42

Uma pergunta importante: qual a real necessidade do negcio quanto a alta disponibilidade da aplicao? Veja o exemplo a seguir, para uma infraestrutura de alta disponibilidade consolidando mquinas virtuais, balanceamento de carga, monitorao integrada e cluster de servidores sobre plataforma Microsoft, usando o iSCSI Software Target:

Whitepaper: How to Build a Hyper-V Cluster Using the Microsoft iSCSI Software Target v3.3 Ref.: http://www.aidanfinn.com/?p=11164 Microsoft iSCSI Software Target 3.3 Ref.: http://www.microsoft.com/download/en/details.aspx?id=19867 O exemplo acima um laboratrio simples de dois ns de mquinas virtuais, suportando aplicaes com alta disponibilidade sobre o iSCSI Software Target 3.3 da Microsoft. Finalmente, at esse ponto, no falamos sobre o impacto desse tipo de arquitetura sobre as aplicaes. Para muitos cenrios, recomendado que se faa uma avaliao sobre o comportamento e a arquitetura de software presente nas aplicaes envolvidas. Para alguns cenrios, as aplicaes iro precisar de ajustes importantes para que suportem o ambiente de alta disponibilidade criado. Exemplos de cuidados para aplicaes so:

43

Monitorao com Microsoft System Center Suite, com gerenciamento de nveis de servios e orquestrao de atividades. Hospedagem com Windows Server AppFabric/IIS, com hospedagem de servios e workflows, com caching, monitorao integrada, persistncia, etc. Patterns de arquitetura de aplicaes, como suporte ao balanceamento de carga, tratamento de excees, instrumentao, orientao a servios, etc.

Portanto, em sua prxima definio de arquitetura, avalie a necessidade de alta disponibilidade em sua soluo final. Para completar o post, veja os artigos da seguinte edio da revista The Architecture Journal: Journal 11 - The Architecture Journal Ref.: http://msdn.microsoft.com/en-us/architecture/bb491107 Journal 24: The Different Paths to Virtualization Ref.: http://msdn.microsoft.com/en-us/architecture/ff803567 Mass-Hosting High-Availability Architectures Ref.: http://msdn.microsoft.com/en-us/library/bb491120.aspx Espero que ajude! Por enquanto s! At o prximo post :) Waldemir.

44

.NET Framework 4.0 e arquiteturas de aplicaesMon, Jul 4 2011 9:00 AM Ol pessoal, tudo certo? Um dos posts mais comentados aqui pelo blog foi esse abaixo, sobre os componentes do .NET Framework 4.0:

.NET Framework 4 Novos Recursos para Novas Aplicaes Ref.: http://blogs.msdn.com/b/wcamb/archive/2010/06/07/net-framework-4-novos-recursos-paranovas-aplica-231-245-es.aspx Semana passada, participei de um workshop onde relembrei com o time os principais desenhos de arquitetura para solues em tecnologia .NET. Para isso, usei o AppArchGuide 2.0, que sempre uma Leitura Obrigatria para ser lembrada! Assim, veja abaixo quais so esses desenhos principais e suas tecnologias associadas para quatro arquiteturas muito comuns no ambiente corporativo:

45

Tecnologias aplicadas: ASP.NET WebForms 4.0, ASP.NET MVC 3, ASP.NET AJAX 4.0, ASP.NET Chart Control, ASP.NET Dynamic Data

46

Tecnologias aplicadas: WPF 4.0, WCF 4.0, WF 4.0, MEF - Managed Extensibility Framework

Tecnologias aplicadas: Silverlight 4.0, WCF RIA Services, WCF Data Services, REST, POX, JSON, ATOM, OData, etc.

47

Tecnologias aplicadas: WCF 4.0, WF 4.0, WIF - Windows Identity Foundation, PLINQ, IIS 7.5, WAS, Windows Server AppFabric, etc.

Claro, esse um resumo de blog. Mas a ideia fazer voc pensar sobre o assunto. No final do AppArchGuide, voc ainda encontra uma tabela como essa:

Espero que ajude! Vale lembrar que essas tecnologias e camadas esto sempre em evoluo. Por isso, de tempos em tempos vale visitar o assunto e adicionar comentrios. Por enquanto s! At o prximo post :) Waldemir.

Pratique o Egoless Architecting - Voc no sua ArquiteturaThu, May 19 2011 9:00 AM Ol pessoal, tudo certo?

48

Recentemente li um artigo do autor Ted Neward, da revista CODE, que gostei muito! No artigo, Ted comenta sobre algumas recomendaes para o novo desenvolvedor, depois de alguns anos longe do mundo do cdigo. Imagine-se entrando no mercado de desenvolvimento hoje, aps 3, 5 ou 7 anos distante. O que voc deve focar primeiro para retomar suas atividades? Existem diversas boas dicas de assuntos que devem ser vistos, como Testing, Dynamic Languages, Metodologias geis, Programao em Pares, SCRUM, Orientao a Servios, entre outras. Nos ltimos anos, vimos realmente uma mudana de paradigma em todos esses tpicos, o que mudou o comportamento de muitos desenvolvedores do mercado, independente da plataforma alvo (seja Microsoft, Java ou outra). Por exemplo, em um projeto recente no qual participei, fiquei impressionado com a qualidade dos projetos de teste que a equipe de desenvolvimento criou. No interessava se a empresa colocava o teste como regra a ser seguida, percebi uma certa naturalidade em todos os desenvolvedores participantes. Hoje, algumas empresas exigem at que o desenvolvedor justifique por que no fazer baterias de testes para um certo projeto. Tempos atrs, o teste era algo visto como caro e mesmo chato para muitos desenvolvedores. Mas o que achei genial no artigo foi o comentrio sobre Egoless Programming. O que um novo desenvolvedor deve aprender antes de entrar no mercado? Ele deve praticar o Egoless Programming! O termo foi definido por Jerry Weinberg em seu livro The Psychology of Computer Programming. The Psychology of Computer Programming Ref.: http://www.amazon.com/exec/obidos/ASIN/0932633420/codinghorror-20 Pessoalmente, antes de entrar para a Microsoft, participei de diversos projetos como desenvolvedor e em alguns deles, o egoless programming era uma orientao, seja pelo conhecimento do gestor ou pela integrao da equipe. O que era importante era o cdigo, no o codificador! O que precisava ser dito sobre o cdigo era dito, sem ofender o codificador! E essas eram regras presentes nos 10 mandamentos do egoless programming, que vemos a seguir: 1. Entenda e aceite que voc ir cometer erros. 2. Voc no seu cdigo. 3. No importa o quanto seja bom seu "karate", algum sempre ir saber mais do que voc. 4. No reescreva cdigo sem consultar outras pessoas.

49

5. Trate as pessoas que sabem menos do que voc com respeito, deferncia e pacincia. 6. A nica constante no mundo a mudana. 7. A nica verdadeira autoridade fundamenta-se no conhecimento, no na posio. 8. Lute pelo que voc acredita, mas graciosamente aceite a derrota. 9. No seja "o cara na sala". 10. Critique o cdigo ao invs da pessoa. Seja gentil com o codificador, no com o cdigo. Se voc no conhecia essas regras, acredite: elas devem ser praticadas por todo desenvolvedor que pretende trabalhar bem em equipe e com colaborao, caractersticas muito valorizadas hoje em dia pelo mercado. Aproveitando o post, gostaria de propor uma nova prtica: a Egoless Architecting. (nada muito original, certo?) Mas creio que os mesmos princpios do egoless programming so vlidos para o egoless architecting, seja para arquitetos de TI, solues, software, infraestrutura ou corporativos. Assim, segue aqui os 10 novos mandamentos do Egoless Architecting: 1. Entenda e aceite que voc ir cometer erros. 2. Voc no sua arquitetura. 3. No importa o quanto seja bom seu "karate", algum sempre ir saber mais do que voc. 4. No refaa sua arquitetura sem consultar outras pessoas. 5. Trate as pessoas que sabem menos do que voc com respeito, deferncia e pacincia. 6. A nica constante no mundo a mudana. 7. A nica verdadeira autoridade fundamenta-se no conhecimento, no na posio. 8. Lute pelo que voc acredita, mas graciosamente aceite a derrota. 9. No seja "o cara na sala". 10. Critique a arquitetura ao invs do arquiteto. Seja gentil com o arquiteto, no com a arquitetura.

50

Brincadeiras a parte, o que voc acha? Pratique voc tambm o Egoless Architecting e seja feliz! e leia Jerry Weinberg. Por enquanto s! At o prximo post :) Waldemir.

Do MTS e COM+ ao Windows Server AppFabric e Windows AzureMon, Apr 25 2011 9:00 AM Ol pessoal, tudo certo? Algum leitor se lembra do Component Services? :) Com certeza, muitos por aqui j viram a tela abaixo:

Na verdade, o Component Services est muito mais presente hoje em dia do que podemos imaginar. Ainda encontro diversos projetos no mercado baseados em componentes COM, publicados em servidores dedicados para uma camada de componentes de negcio. Mas essa histria comeou faz tempo, na verdade, h mais de 10 anos com o Windows NT Server 4.0 e seu famoso Option Pack, que trazia para o mercado o MTS Microsoft Transaction Server, permitindo a hospedagem e administrao de componentes COM escritos em diversas linguagens, como o VB6. Entre os principais componentes dessa infraestrutura tnhamos o Microsoft Distributed Transaction Coordinator (MSDTC), o Microsoft Transaction Server (MTS) e o IIS 4.0 que faziam as bases para aplicaes distribudas no modelo Windows DNA - Windows Distributed interNet Applications.

51

Mais tarde, a famlia Windows 2000 trazia o MTS com um novo nome, o COM+, com novos recursos e melhorias para aplicaes distribudas. O resto a gente j sabe: vieram o .NET 1.0, 1.1, 2.0, 3.0, 3.5, 4.0 que deram um salto extraordinrio na plataforma de desenvolvimento Microsoft. Talvez o maior benefcio dessa evoluo tenha sido a simplificao do processo de desenvolvimento, com tecnologias integradas em torno dos principais desafios de um software, como a apreseno, a comunicao, o acesso a dados, a manipulao de estruturas, processos, workflows e servios. O ambiente Visual Studio parte crtica dessa evoluo, sem dvida! Nessa mesma poca, vimos uma tendncia crescente em TI, para uma maior comunicao entre sistemas de diferentes empresas. Vieram os Web Services baseados em protocolos SOAP, XML e HTTP, facilitando a troca de dados entre redes distintas, cruzando Firewalls atravs de portas 80/443 abertas de forma padronizada. Vale lembrar que o modelo COM/DCOM obedecia uma comunicao via TCP, comum uma faixa de portas TCP que precisava ser aberta quando componentes COM se comunicavam a partir de segmentos de redes disitintos e separados por Firewalls. Algum aqui ainda enfrenta esse tipo de configurao? Veja o artigo How to troubleshoot MS DTC firewall issues (http://support.microsoft.com/kb/306843). Ento, topologias de solues se tornavam mais integradas, como o exemplo da figura abaixo:

52

Ao longo dos ltimos anos, o uso crescente de servios com o Windows Communication Foundation (WCF) e camadas de apresentao com ASP.NET WebForms ou ASP.NET MVC tem colaborado para cenrios mais sofisticados de aplicaes. Combinaes com workflows de processos construdos em Windows Workflow Foundation (WF) e camadas de persistncia usando ADO.NET e Entity Framework tornaram ainda mais fcil a construo de solues to sofisticadas quanto comuns hoje em dia. Hoje, pensamos em aplicaes Web, Desktop, Mobile, Cloud, SOA, RIA, entre outras combinaes, como extenses para ambientes de CRM, ERP, SUPPLY CHAIN, SAAS, etc. Enquanto que o cu o limite, um nmero maior de usurios acessam nossas aplicaes a partir de milhares de dispositivos diferentes, no mais apenas de um PC, mas a partir de qualquer lugar, a todo momento. Essa a definio bsica que serve como contexto para nossas aplicaes hoje em dia!!! O mundo mudou!!! Na ponta dessa evoluo temos hoje o Windows Server AppFabric, oferecendo recursos de Hospedagem (Hosting), Caching, Persistncia de workflows, Monitorao, Administrao para servios WCF e workflows WF sobre a plataforma Microsoft, para a infraestrutura de servidores de aplicaes nas empresas.

E torna-se de domnio pblico uma arquitetura de solues obedecendo o seguinte desenho geral, integrando recursos de hospedagem, monitorao, caching, persistncia de workflows e balanceamento de carga:

53

Sem dvida, os ltimos 10 anos foram bem interessantes, entre 2001 a 2011! Agora imagine como sero os prximos 10 anos, de 2011 a 2021. J imaginou? Com certeza, Computao em Nuvem e Windows Azure com seu Azure AppFabric sero determinantes nessa prxima dcada. Infraestruturas integradas entre on-premise e cloud j so uma realidade, como vemos na figura a seguir:

54

Que tal uma Leitura Obrigatria s para manter o clima? :) :) Windows Server AppFabric Key Architectural Components Ref.: http://msdn.microsoft.com/en-us/library/gg132894.aspx Enterprise-Scale AppFabric Architecture and Deployment Topologies Ref.: http://msdn.microsoft.com/en-us/library/gg132889.aspx Por enquanto s! At o prximo post :) Waldemir.

Mais um exemplo de arquitetura em N-Camadas com .NETMon, Mar 21 2011 9:00 AM Ol pessoal, tudo certo? Semana passada estive com uma equipe de desenvolvimento, discutindo sobre alternativas para a organizao em camadas de uma aplicao. Como principal caracterstica, a soluo devia compartilhar as camadas de servios e negcio entre clientes desktop e web. Ou seja, estaes clientes com desktop (para ambientes locais) e estaes clientes com interface web (para ambientes remotos via rede), consumindo as mesmas interfaces de servios e contratos de mensagens. Imediatamente lembrei do seguinte desenho, que ilustra um projeto semelhante para submisso de relatrios de despesas (Expenses) de funcionrios. Veja, na camada cliente, usurios pode submeter seus expenses a partir de estaes desktop ou via web, sendo que ambos consomem uma primeira interface de servios. Na camada de servios, podemos disparar workflows de aprovao de expenses, por exemplo, ou mesmo servios atmicos de atualizao, consulta, etc. Ao mesmo tempo, a camada de servios pode ainda expor servios especficos para usurios finais e para usurios responsveis, como aprovadores, revisores, etc. Ainda no servidor de aplicao, uma camada de negcio pode ser implementada para suporte de atividades especficas, como validao de limites de aprovao, regras de submisso, alm de workflows especficos de processo, reviso e logging de mensagens. Finalmente, uma camada de acesso a dados pode interagir tanto com bases de dados para persistncia de dados e para persistncia de workflows (para os casos de workflows de longa durao).

55

Claro que esse desenho ilustra uma viso alto nvel das camadas candidatas para organizao da aplicao. O desenho tambm d uma idia simplificada sobre a infraestrutura envolvida, muito simples. Poderamos ampliar essa viso para o seguinte cenrio:

56

O que achou? O desenho acima est longe de seguir um formalismo e preciso de projeto em relao ao planejamento de capacidade para o time de infraestrutura. Mas d para ter uma ideia das tecnologias alternativas que a soluo final pode aplicar. S para citar, veja que falta a viso sobre gerenciamento e monitorao, aspectos de integrao com sistemas externos, processos de ALM envolvidos, etc. O primeiro desenho da soluo Expense em N-Camadas eu retirei do seguinte link, confira! Layered Architecture Sample for .NET Ref.: http://layersample.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

Tendncias em TI e tcnicas para o Business Technology StrategyThu, Mar 17 2011 9:00 AM Ol pessoal, tudo certo?

57

Essa ltima semana foi muito corrida, por isso minha demora em novas atualizaes aqui no blog. Mas entre um corredor e outro, estive pensando sobre algumas foras que esto ao nosso redor, direcionando o ambiente de TI e a forma como nossas aplicaes so construdas. Assim, fiz um ensaio de uma lista de foras de disruptura em TI, com tendncias gerais para aplicaes, veja (esse slide eu tenho atualizado de tempos em tempos, por isso voc j deve ter visto em outras discusses):

Do lado das aplicaes algumas tendncias so de fato Santos Graals, perseguidos pelas empresas em diversas situaes, como SOA, orientao a servios com interface Web, composio dinmica de aplicaes, multi-canal, SaaS, entre as principais. O grande desafio na concretizao dessas tendncias a convivncia com os ambientes legados, que de fato, so formados por milhes de linhas de cdigo com um histrico de negcios e investimentos de vrios anos. O grande desafio a criao de uma arquitetura de referncia que consiga equalizar os novos ambientes com o legado existente. Do outro lado, foras disruptivas em tecnologia oferecem promessas e oportunidades enormes para uma maior agilidade, baixo custo e avanos para vrios cenrios de mercado. Alguns exemplos so: o crescente uso de dispositivos diversos como interface de aplicaes, plataformas emergentes de servios, mecanismos integrados de monetizao e subscrio, gerenciamento e administrao integrados, ambientes hbridos de virtualizao em nvens privadas e pblicas, BI mais inteligente e barato, etc. Como aproveitar essas foras, aumentando o poder da rea de negcio em nossas empresas?

58

Como arquiteto de TI, o grande desafio no ser entender os mecanismos tcnicas envolvidos nessas vrias tendncias. Um artigo sobre o modelo transacional do WCF+MSDTC, com autenticao integrada no AD FS 2.0 e servios publicados no Windows Azure pode resolver bem muitas dvidas tcnicas. O grande desafio ser justificar a adoo dessas tecnologias. Segundo o IASA, a disciplina de Business Technology Strategy uma das mais importantes no conjunto de atividades do arquiteto de TI, porm, muito raro encontrar profissionais que utilizam formalmente mtodos ou ferramentas para esse tipo de avaliao. O tema importante, por isso, no deixe de conferir o link abaixo: Business Technology Strategy Ref.: http://www.iasaglobal.org/iasa/Business_Technology_Strategy.asp?SnID=2 Por enquanto s! At o prximo post :) Waldemir.

Patterns de arquitetura e aplicaes com servios para .NETWed, Oct 27 2010 10:00 AM Ol pessoal, tudo certo? Essa semana passou bem rpida, com alguns foruns de arquitetura, eventos sobre .NET in companies e discusses de projetos. Para uma das reunies, acabei resgatando um desenho antigo mas bem conhecido de alguns. Voc se lembra do livro Application Architecture for .NET Designing Applications and Services do patterns & practices, de 2002? :)

Application Architecture for .NET: Designing Applications and Services http://msdn.microsoft.com/en-us/library/ee817664.aspx Application Architecture for .NET: Designing Applications and Services http://www.microsoft.com/downloads/en/details.aspx?FamilyID=A08E4A0 9-7AE3-4942-B466-CC778A3BAB34 Apesar de antigo, esse livrinho leitura de muita gente no mercado, oferecendo a base para diversos cenrios de aplicaes que ainda esto operando, firmes e fortes

59

Parte do sucesso devido a organizao em camadas que o livro adota para as solues .NET, quando vimos o Business Entity, o Business Workflow, o Business Componentes, a interface de servios, entre outros. Se voc ficou curioso, veja o desenho abaixo:

Lembrou n? Por que estou relembrando esse tipo de desenho? Veja, j se passaram 8 anos desde sua publicao e ainda hoje, temos uma organizao de componentes muitas vezes baseada na arquitetura acima. Ainda daquela poca, outro desenho importante posiciona as camadas de consumo e exportao de servios, como vemos a seguir:

60

Veja, j se falava em uma interface padro via Web Services, co