Sei sulla pagina 1di 394

2011

ebook Arquitetura de Solues 2011


Uma 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 Cambiucci
Enterprise Architect

ebook Arquitetura de Solues 2011


por 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.

Prefcio
Ol 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

ndice
Prefcio ......................................................................................................................................................... 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 1
Enterprise 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 arquitetura


Fri, 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 estratgico


Tue, 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 governana


Sat, 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 aplicaes


Wed, 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 TI


Thu, 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 arquitetura


Fri, 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 TI


Fri, 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 arquitetura


Tue, 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 corporativo


Tue, 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 2
Solutions 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 disponibilidade


Tue, 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 aplicaes


Mon, 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 Arquitetura


Thu, 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 Azure


Mon, 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 .NET


Mon, 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 Strategy


Thu, 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 .NET


Wed, 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, com protocolos SOAP/HTTP/WSI, permitindo o importao e exportao de dados com servios externos a aplicao. Se isso j existia h 8 anos atrs, o que mudou na arquitetura de fazemos hoje? Para pensar sobre o assunto, veja o desenho abaixo, que retirei do Application Architecture Guide 2.0, de Setembro de 2009:

A figura ilustra uma arquitetura de servios, onde vemos basicamente as mesmas camadas de 8 anos atrs. Interessante no? A concluso que bons patterns de arquitetura so permanentes, duram bastante e se provam bons investimentos de projeto. Assim, quando estiver projetando sua soluo, procure cercar alguns cenrios com bons patterns de arquitetura. Com certeza, aplicando boas escolhas, voc estar garantindo vida longa para sua soluo. Mas veja, um ANTIPATTERN tambm ser excessivo no uso de PATTERNs. Use-os com moderao, sempre! :) Bom, existem dezenas de patterns importantes, alm de arquiteturas de referncia como a que vimos acima. Para conferir outros patterns, confira: Patterns of Enterprise Application Architecture http://martinfowler.com/eaaCatalog/

61

Design Patterns for .Net http://www.designpatternsfor.net/ Por enquanto s! At o prximo post :) Waldemir.

Arquitetura de Aplicaes com Workflows WF, BizTalk e SharePoint


Tue, Jul 13 2010 9:00 AM Ol pessoal, tudo certo? Semana passada acompanhei algumas discusses sobre aplicaes com workflows. Com certeza, esse assunto constante em muitas empresas. Vou aproveitar esse post para registrar algumas idias sobre o assunto. Existem diversos cenrios de aplicaes com workflows, como:

Processo de aprovao e reviso de documentos financeiros; Processo de abertura de um incidente em TI, envolvendo emails de alertas e formulrios; Movimento automtico de documentos entre repositrios; Retirada de documentos para um respositrio atravs de regras de expirao; Disparo de atividades e workflows atravs de um scheduler/calendrio; Coordenao de servios em solues distribudas; Shopping cart workflow, etc.;

Entre as principais caractersticas de um workflow temos:


Um workflow precisa ser executado por um processo host (container); Um workflow envolve a exposio de funcionalidades e no de interfaces; O ciclo de vida de um workflow responsabilidade de um workflow runtime; Um workflow runtime realiza tarefas como criao, execuo, caching, persistncia, tracking de mensagens, mensageria, eventos, hosting, comunicao, transformao, identidade, autenticao, segurana, etc.

Podemos classificar workflows em dois grandes tipos: Human Workflows e System Workflows. System Workflows (ou machine-centric) so workflows envolvendo atividades automticas ou disparo de tarefas e servios entre sistemas. Por exemplo, imagine um processo de compras/cotaes envolvendo diversas empresas. A partir do disparo da requisio de cotao, diversas chamadas para servios em outras empresas so feitas automaticamente, com a execuo remota de workflows ou tarefas em sistemas externos. A partir do retorno de todas as chamadas, a resposta consolidada entregue para o usurio.

62

Veja a figura abaixo, que ilustra esse cenrio:

Human Workflows (human-centric ou people-driven processes) so workflows envolvendo interao humana para atividades como aprovao, colaborao, reviso, monitorao, etc., em fases especficas do processo em execuo. Imagine um Human Workflow que envolve um usurio candidato, que submete formulrios preenchidos para um sistema. A submisso do formulrio dispara um processo de aprovao, que envolve a reviso do documento por outro usurio revisor no processo. O desenho abaixo ilustra esse cenrio:

63

Para a construo de aplicaes com workflows temos diversas alternativas na plataforma Microsoft. Para simplificar, podemos destacar 3 principais alternativas: WF Windows Workflow Foundation, BizTalk Server e SharePoint Server. Para system workflows com grande nmero de adaptadores, integrao entre sistemas ou mesmo transformaes entre chamadas, o BizTalk Server oferece um ambiente interessante para a orquestrao de tarefas, como vemos na figura abaixo:

Para system workflows customizados, que envolvem chamadas para sistemas, web services, ou dentro do escopo de uma aplicao podemos usar o WF 4 Windows Workflow Foundation. Atravs do WF, construmos workflows sistmicos, com grande flexibilidade para integrao. A

64

principal diferena em relao ao BizTalk Server que com WF, sua aplicao ser responsvel pela construo de mensageria, transformaes, adaptadores, etc. Lembre-se, usando um motor como BizTalk algumas tarefas j esto prontas, enquanto que usando o WF, precisamos construir esses componentes. Para ilustrar, a figura abaixo apresenta um workflow construdo com o WF 4, veja:

Finalmente, para human workflow podemos usar tanto o WF, para cenrios customizados, como a prpria plataforma SharePoint Server, que oferece uma srie de recursos para o tratamento de colees, repositrio de documentos, mailing, etc. A figura abaixo ilustrar uma das telas de criao de workflows na plataforma SharePoint Server, veja:

65

Para terminar, veja a figura a seguir. Ela apresenta um desenho de arquitetura de aplicao para human workflow, que prev diferentes interfaces de usurios, em ambientes web, desktop, mobile, etc.

66

Retirei a figura acima de um belo artigo sobre workflows da arquiteta Michele Leroux Bustamante, da IDesign , veja: WF Scenarios Guidance: Human Workflow Ref.: http://msdn.microsoft.com/en-us/library/cc709416.aspx Claro, esse post no pretende ser uma descrio completa sobre as principais diferenas entre WF, BizTalk Server e SharePoint Server quando o assunto workflow. Mas fica a dica de que essas alternativas oferecem bons recursos para diversos cenrios de orquestrao de atividades. Vale o estudo! Por enquanto s! At o prximo post :) Waldemir.

67

.NET Framework 4 Um mapa de recursos e arquiteturas de referncia


Fri, Jun 11 2010 9:00 AM Ol pessoal, tudo certo? Essa semana passamos bastante tempo falando sobre plataforma de aplicaes e recursos do .NET 4. Mas ampliando um pouco mais a viso, pensei em criar uma tabela com os principais componentes para cada categoria de servio ou aplicao que encontramos numa plataforma. O resultado foi o seguinte:

68

A tabela acima apresenta um mapa dos principais recursos presentes na plataforma Microsoft e .NET Framework. Esse mapa parcial, mas destaca os componentes envolvidos na construo de aplicaes, em cenrios desktop, web, mobile, enterprise, servios e nuvem. Voc pode pensar: Nossa, muita coisa, nunca vou conhecer tudo isso!. Mas o fato que voc no precisa conhecer tudo isso ao mesmo tempo! O importante ter em mente que a plataforma Microsoft hoje oferece recursos para os mais variados cenrios, de acordo com a sua necessidade. Assim, quando estiver tratando um determinado tipo de aplicao, utilize esse mapa como reconhecimento inicial, para determinar quais tecnologias podem ser aplicadas para cada cenrio. E no deixe de conferir o sempre importante Application Archictecture Guide v2.0, que usei como base para atualizar a tabela acima. patterns & practices Application Architecture Guide 2.0 Ref.: http://apparchguide.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

.NET Framework 4 Novos Recursos para Novas Aplicaes


Mon, Jun 7 2010 9:00 AM Ol pessoal, tudo certo? Recentemente, vimos o lanamento do .NET 4.0 para a plataforma Microsoft. Voc j deve saber que o .NET 4.0 trouxe uma srie de novidades, melhorias e novos recursos para diversos tipos de aplicaes, nos mais variados cenrios existentes no mercado, seja para web, desktop, servios, intranet ou para a nuvem. Quando olhamos os namespaces presentes no .NET Framework, um desenho que representa bem sua evoluo ao longo do tempo o seguinte:

69

Aqui vemos alguns dos principais frameworks e componentes suportados pelo .NET Framework nas verses 2.0, 3.0, 3.5 e 3.5 SP1. Cada nova verso do framework adicionou novos recursos, suportando cenrios emergentes do mercado, como WEB 2.0, SOA, SAAS e protocolos e formatos diversos como JSON, AJAX, REST, entre outros. Atualizando o desenho para o .NET 4, a figura a seguir apresenta as novidades da nova verso:

70

No diagrama acima, vemos os novos componentes do .NET 4.0, como MEF - Managed Extensibility Framework, DLR Dynamic Language Runtime, EF Entity Framework 4.0, PLINQ Parallel LINQ, alm das novas verses WCF 4, WF 4 e WPF 4. O ASP.NET e o AJAX tambm ganharam diversos recursos e melhorias na nova verso do framework. E quando pensamos na ferramenta de desenvolvimento, o Visual Studio 2010 continua oferecendo os principais recursos para a construo de aplicaes na plataforma Microsoft, permitindo a escolha do alvo de compilao entre os vrios frameworks disponveis, como vemos a seguir:

71

Para fechar o post, segue abaixo uma lista de links importantes sobre alguns dos novos recursos do .NET Framework 4, confira: ASP.NET WebForms 4 Ref.: http://www.asp.net/learn/whitepapers/aspnet40 ASP.NET MVC 2 Ref.: http://www.asp.net/mvc/ ASP.NET AJAX 4 Ref.: http://www.asp.net/ajax/ ADO.NET Entity Framework in .NET 4 Ref.: http://msdn.microsoft.com/en-us/data/aa937723.aspx ASP.NET 4 Ref.: http://msdn.microsoft.com/en-us/library/ee532866%28VS.100%29.aspx ASP.NET 4 and Visual Studio 2010 Web Development Overview Ref.: http://www.asp.net/learn/whitepapers/aspnet4 ASP.NET Dynamic Data Ref.: http://www.asp.net/dynamicdata E o sempre "leitura obrigatria" training kit do .NET 4:

72

Visual Studio 2010 and .NET Framework 4 Training Kit April 2010 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732A383-ED5740F02E93&displaylang=en Por enquanto s! At o prximo post :) Waldemir.

Arquitetura de Composio e seus diferentes desafios


Mon, May 17 2010 8:00 AM Ol pessoal, tudo certo? Sempre falamos aqui no blog sobre Aplicaes de Composio e seus desafios. Porm, a composio pode acontecer de fato em diferentes nveis. Quando pensamos em arquitetura de composio, podemos compor nas camadas de apresentao, interfaces de servios, regras de negcio e mesmo fontes de dados diversos. A figura a seguir ilustra essas alternativas:

73

Para cada nvel de composio podemos aplicar diferentes patterns de arquitetura, como Delegation, Event Aggregation, Command Composition, Aggregation, IoC Inverse of Control, Observer pattern, Publish/subscribe, Dependency injection, Faade, Separated Presentation, Separated Interface, Adapter, Composite Views, entre os principais. Por isso, quando estiver pensando em uma arquitetura de composio, interessante avaliar essas opes: vamos compor chamadas de servios ou webparts numa interface Web? Vamos compor regras de negcio e processos ou bases de dados relacional em nossa aplicao? E para cenrios corporativos, vamos compor diferentes domnios de servios atravs de barramentos? Algumas semanas atrs, o Otvio fez um Webcast apresentando o MEF - Microsoft Extensibility Framework atravs do qual podemos tambm compor interfaces de um modo bem interessante. Mais recentemente, tivemos uma crescente discusso sobre servios na nuvem, onde uma infraestrutura de cloud pode hospedar novos grupos de servios, que sero componentes em nossa arquitetura. Algo como vemos na figura abaixo:

Muito bem! A pergunta seguinte ser: qual o melhor nvel de composio? Devo compor na interface de apresentao ou na interface de servios? Devo compor servios locais com servios

74

na nuvem? Quais servios devero estar na nuvem e quais devero ser hospedados em infraestrutura local? Em bancos de dados, interessante compor diferentes fontes para minha aplicao? Aqui entra o papel importante do arquiteto de solues, que dever avaliar cada caso, de acordo com o cenrio de negcio envolvido. De fato, no existe uma resposta nica e correta para todos os cenrios. equivocado dizer que precisamos combinar, por exemplo, 50% na infraestrutura local e 50% na nuvem. Tudo ir depender dos servios envolvidos, do tipo de usurio, do negcio de sua aplicao, da infraestrutura local e da maturidade de sua empresa. E j que citei maturidade, quais so os processos e mecanismos de TI que voc aplica na operao de sua empresa? Sua TI contempla monitorao, logging, tratamento de exceo, administrao de servios, governana, etc.? Sem processos de TI maduros, qualquer direo para uma arquitetura de composio pode sofrer com uma maior complexidade e distribuio de componentes, em todos os nvel. Por isso, fique atento e no deixe de conversar com o seu time de infraestrutura para entender sobre as capacidades de plataforma existentes em sua empresa. O arquiteto de infraestrutura deve ser o melhor amigo do arquiteto de soluo! :) Talvez no futuro, sejam at a mesma pessoaou no? :) Por enquanto s! At o prximo post :) Waldemir.

Codeplex : Domain Oriented N-Layered .NET 4.0 Uma aplicao de referncia


Mon, Apr 26 2010 8:00 AM Ol pessoal, tudo certo? Essa dica veio do consultor Osvaldo Daibert, da Microsoft Services Brasil. Se voc estiver pensando em um exemplo de aplicao de referncia com mltiplas camadas e usando o .NET Framework 4.0, no deixe de conferir esse projeto:

75

Microsoft - Domain Oriented N-Layered .NET 4.0 App Sample Ref.: http://microsoftnlayerapp.codeplex.com/ A ltima atualizao feita foi ontem, dia 22/Abril e o pacote para download j oferece o projeto completo para seus testes locais. O projeto baseado numa discusso que surgiu na Microsoft Espanha sobre solues em mltiplas camadas, veja nos links abaixo: Our brand-new 'DDD N-Layered .NET 4.0 Architecture Guide book and Sample-App in CODEPLEX Ref.: http://blogs.msdn.com/cesardelatorre/archive/2010/03/26/our-brand-new-ddd-n-layer-net4-0-architecture-guide-book-and-sample-app-in-codeplex.aspx Gua de Arquitectura N-Capas DDD .NET 4.0 Ref.: http://msdn.microsoft.com/es-es/architecture/default.aspx Destaque para o documento DRAFT (em espanhol) a seguir: Download de Gua Arquitectura N-Capas DDD .NET 4.0 Ref.: http://download.microsoft.com/download/2/2/1/221AD022-E701-488F-B0707A0B87DFE789/Guia_Arquitectura_N-Capas_DDD_NET_4_(Borrador_Marzo_2010).pdf No deixe de conferir mais esse material!

76

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

Um mapa de componentes .NET versus Java para solues Web


Mon, Mar 1 2010 6:07 PM Ol pessoal, tudo certo? Recentemente, conversei com um time de desenvolvimento Java, sobre alternativas para uma soluo Web no mundo .NET. A empresa est diversificando suas solues, enquanto amplia os conhecimentos de sua equipe de desenvolvimento. Tambm j trabalhei com diversos projetos em Java, aplicando cenrios hbridos, com integrao via servios. A soluo em questo envolvia a exposio de servios, consumindo dados de um banco corporativo e apresentando resultados via uma interface Web. Para ajudar na discusso e facilitar no DE/PARA, fiz o seguinte mapa de tecnologias da plataforma JAVA para uma soluo Web:

Pensando nessa organizao, veja o mesmo mapa de tecnologias equivalentes e disponveis na plataforma .NET:

77

Interessante no!? Claro, podemos avaliar com mais profundidade o uso de cada tecnologia durante um projeto, seja em Java ou em .NET. Mas o mapa acima oferece uma boa idia das possibilidades de desenvolvimento e integrao entre os ambientes. Em cenrios hbridos, podemos combinar as camadas, conforme as necessidades ou restries do projeto. O que ficou de fora nos desenhos acima toda a infraestrutura envolvida em cada plataforma: diretrio de usurios e rede, segurana, monitorao, auditoria, instrumentao, logging, mensageria, configurao, etc. so capacidades comuns da soluo, que devem ser provisionadas independente da plataforma escolhida. No final da conversa, duas perguntas apareceram: 1. Independente do mapeamento de tecnologias entre as plataformas .NET e JAVA, quais capacidades a infraestrutura da empresa deve oferecer para a soluo? 2. Essa discusso sobre capacidades e mapas de tecnologias serve tanto para uma infraestrutura local (on-premise) como para uma infraestrutura na nuvem (cloud)? Fica para vocs pensarem e comentarem Por enquanto s! At o prximo post :) Waldemir.

78

SQL Server 2008 R2 StreamInsight Technology


Fri, Jan 22 2010 9:59 AM Ol pessoal, tudo certo? Outro assunto que tem surgido como novidade a nova tecnologia StreamInsight, presente no SQL Server 2008 R2. A tecnologia StreamInsight est relacionada aos cenrios de event data streaming ou aplicaes com o processamento complexo de eventos (CEP - Complex Event Processing), muito comuns no mercado hoje em dia. Por que o StreamInsight importante?

Voc j deve ter visto esse tipo de cenrio no mercado financeiro, com feeders de cotaes de mercado e dados histricos. Outro cenrio comum em agncias de notcias, com o tratamento de headlines, mensagens de texto ou informativas, sobre as quais se aplicam regras e filtros com um grande volume de mensagens em trfego. Ainda, em verticais de indstrias e manufatura, a anlise, monitorao e atuao sobre mensagens recebidas de sensores, coletores RFID, filtros, etc. so tambm candidatos potenciais para o StreamInsight. O desenho abaixo ilustra alguns aspectos da sua arquitetura:

79

No desenho acima, note que o CEP Engine, Complex Event Processing Engine, est presente no CEP Server. A partir de adaptadores de entrada para diversos tipos de fontes de eventos, o CPE Engine consolida esses eventos atravs de lgicas de consulta (Query Logic). A partir do tratamento, seja de monitorao, mining, logging ou ao, novos eventos so enviados pelo CEP Engine para os sistemas clientes, atravs de adaptadores de sada. Veja, no confunda um motor de CEP com um motor de EAI - Enterprise Application Integration, ou mesmo um ESB - Enterprise Service Bus, muito menos com uma camada de virtualizao de servios. Nesses casos, o EAI dado pelos recursos do BizTalk Server 2009. Sobre o BizTalk Server 2009, podemos adicionar o BizTalk ESB Toolkit, que oferece os recursos de ESB na plataforma Microsoft. Um CEP envolve a agregao e a correlao de eventos de fontes diversas como dispositivos, web services, sensores, feeders, etc. Uma vez recebidos esses eventos, eles podem ser analisados, consolidados e monitorados pelo motor de CEP com um alto desempenho e baixa latncia, trabalhando os eventos em memria e persistindo informaes sobre o SQL Server, quando necessrio. Portanto, em aplicaes CEP no estamos falando de transformao de mensagens, mapeamento entre tipos, adaptadores de sistemas, mltiplos protocolos e formatos de mensagens, pub/sub de mensagens, repositrio de servios, UDDI, message box, etc, patterns comuns de EAI e ESB. Ficou claro!? :) Mas vale notar que exitem cenrios que eram tratados com motores de EAI e agora podem ser simplificados atravs do StreamInsight, aproveitando esse novo recurso nativo do prprio SQL Server 2008 R2. Voc pode saber mais sobre o StreamInsight atravs dos links abaixo: SQL Server 2008 R2 StreamInsight Technology Ref.: http://www.microsoft.com/sqlserver/2008/en/us/R2-complex-event.aspx StreamInsight Blog Team Ref.: http://blogs.msdn.com/streaminsight/ No deixe de conferir tambm o Books OnLine a seguir, que est muito completo (Leitura Obrigatria!!): Microsoft StreamInsight Books Online Ref.: http://technet.microsoft.com/en-us/library/ee362541(SQL.105).aspx Voc pode baixar o CTP de Novembro do SQL Server 2008 R2 no link abaixo: Microsoft SQL Server 2008 R2 November CTP StreamInsight Refresh Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=01c664e4-1c98-4fc8-93ee08cc039503c1&displaylang=en

80

O Markus j comeou alguns testes com a plataforma, fazendo inclusive algumas demos. Em breve ele deve publicar novidades. Por enquanto s! At o prximo post :) Waldemir.

81

Captulo 3
Service Oriented Architecture (SOA)

Arquitetura Orientada a Servios (SOA) continuou um tema recorrente em eventos e discusses de arquitetura nas empresas, de modo geral. No blog apareceu relativamente pouco. Alguns anos atrs voc deve ter lido ou ouvido falar sobre a morte de SOA. De fato, algumas empresas percorreram os caminhos de grandes projetos de Web Services, sem um planejamento mais criterioso sobre quais aplicaes seriam beneficiadas com o modelo SOA.Nesse sentido, terminaram apenas com uma camada de Web Services, sem maiores benefcios do modelo. Esse captulo apresenta alguns poucos post onde o tema SOA foi discutido.

82

BizTalk Server 2010: capacidades de integrao e barramento de servios na plataforma Microsoft


Thu, Aug 4 2011 9:00 AM Ol pessoal, tudo certo? Esses dias tenho participado de algumas discusses envolvendo integrao de diferentes domnios de aplicaes e barramentos de servios. Como tambm estou devendo alguns comentrios sobre o tema para o maestro Evilzaro, segue aqui esse post. :) Como sabemos, o principal servidor de integrao da plataforma Microsoft o Microsoft BizTalk Server 2010. Esse produto est em sua 7 edio e j possui mais de 10 anos de janela. No mundo, so mais de 10 mil deployments em grandes empresas de diferentes indstrias. Ao longo do tempo, a plataforma sofreu mudanas, evoluindo em funcionalidades e recursos para diversos cenrios de integrao, mensageria e barramento de servios. Quem chegou a trabalhar com a verso 2004 deve se lembrar do impacto da chegada da verso 2006, com uma administrao muito melhorada, por exemplo. Veja as inmeras verses da plataforma no desenho abaixo:

Para quem no conhece o produto, o BizTalk Server o servidor de integrao da plataforma Microsoft, oferecendo recursos e patterns que suportam solues de integrao entre diferentes domnios de aplicao. Alm de oferecer os principais patterns de uma soluo de Enterprise

83

Application Integration (EAI), o BizTalk Server ainda suporta um modelo de conectividade baseada em Adaptadores, com inmeras alternativas como EDI, File, HTTP, FTP, SFTP, SMTP, POP3, SOAP, SQL, MSMQ, SharePoint Services, WebSphere MQ, WCFBasicHTTP, WCF-WsHTTP, WCF-Custom, WCF-SQL, Custom, entre outros. A resoluo de endereos de servios suporta os modelos UDDI 2.0/3.0, XPATH, Static e Business Rules Engine (BRE) e permite a construo de cenrios complexos de orquestrao e roteamento de mensagens. Abaixo, segue um desenho macro sobre a mensageria e orquestrao oferecida pelo BizTalk Server:

Note que o motor principal do produto baseado numa MessageBox, uma caixa de mensagens que persiste historicamente as mensagens e dados trafegados pelo produto. Para mensagens recebidas de diferentes fontes de dados, o BizTalk pode disparar novas mensagens ou rote-las para seus destinos, usando portas de comunicao pr-configuradas (Receive Ports e Send Ports). Da mesma forma, mensagens especficas podem disparar processos e orquestraes (Pub/Sub) que implementam regras de negcio, permitindo a criao de cenrios de integrao e orquestrao de servios e workflows. Uma das principais ampliaes de funcionalidade do BizTalk foi a adio da camada de abstrao para Enterprise Service Bus (ESB) ou Barramento de Servios. O Microsoft BizTalk Server 2010 ESB Toolkit adiciona ao ambiente BizTalk uma srie de patterns e recursos que permitem a construo de barramentos corporativos, com funcionalidades de roteamento,

84

mensageria, transformao, tratamento de exceo, discovering, resoluo e itinerrio de servios. O desenho abaixo ilustra a arquitetura macro do ESB Toolkit, veja:

Outro aspecto importante para projetos envolvendo o BizTalk Server a definio de papis claros de atuao. Podemos destacar 3 profissionais especficos: desenvolvedores (Developers), analistas de processos ou negcios (Information Worker) e administradores de redes (IT Pros).

85

O assunto muito vasto. Esse post est longe de dar uma viso completa sobre os recursos e funcionalidades do BizTalk Server. A ideia foi mesmo dar algumas palavrinhas sobre o assunto. Em minhas leituras, encontrei um material atualizado excelente na Web, que recomendo a seguir: >BizTalk Server 2010 Documentation >http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11503 >BizTalk 2010 Developer Training Kit (excelente!) >http://www.microsoft.com/downloads/en/details.aspx?FamilyID=38c2ccfc-510c-4627-a33c95e9d19f3478 >Microsoft BizTalk Server 2010 ESB Toolkit >http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11847 >Microsoft BizTalk Server 2010 Performance Optimization Guide >http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9094204c-3bc3-4f46-bdb96c7bc903330f >BizTalk Server Best Practices Analyzer V1.2 >http://www.microsoft.com/downloads/details.aspx?FamilyID=93d432fe-1370-4b6d-aaa8a0c43c30f5ab&displaylang=en

86

>BizTalk Server 2010 Posters >http://dotnetbase.co.uk/post/2011/01/08/BizTalk-Server-2010-Posters.aspx >BizTalk Benchmark Wizard >http://bbw.codeplex.com/ Finalmente, destaque especial para dois grandes MVPs do produto: Ruth Rezende (Brasil) e Sandro Pereira (Portugal). O material publicado em seus blogs Leitura Obrigatria para quem est envolvido em projetos com a plataforma BizTalk, confira! MVP de BizTalk no Brasil - Ruth Rezende Ref.: http://www.biztalkbrasil.com.br/ MVP de BizTalk em Portugal - Sandro Pereira Ref.: http://sandroaspbiztalkblog.wordpress.com/

E como no poderia faltar, confira os posts sobre Barramento de Servios e arquitetura SOA/SOI do arquiteto Markus Christen, aqui da Microsoft. Blog do Markus Christen http://blogs.technet.com/b/markuschristen/archive/tags/enterprise+service+bus/

Para terminar, a certificao sobre o BizTalk Server 2010 foi lanada em maro desse ano, confira: Exam 70-595: TS: Developing Business Process and Integration Solutions by Using Microsoft BizTalk Server 2010 http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-595 Por enquanto s! At o prximo post :) Waldemir.

87

patterns & practices : Microsoft Composite Service Application Guidance


Sat, Mar 19 2011 10:00 AM Ol pessoal, tudo certo? J falamos por aqui sobre a iniciativa do patterns & practices sobre Composio de Servios. Tivemos recentemente algumas atualizaes sobre essa iniciativa, que vale manter no radar. patterns & practices : Composite Services Ref.: http://compositeservices.codeplex.com/ O objetivo do Composite Services criar uma infraestrutura para composio de servios no modelo SOA, trabalhando sobre as tecnologias: Windows Server 2008 R2 Microsoft SQL Server 2008 R2 Enterprise Edition Microsoft Windows Server AppFabric Microsoft Visual Studio 2010 Microsoft Silverlight Tools for Visual Studio 2010 Silverlight 4 Toolkit April 2010 Em resumo, o pacote Composite Services oferece alguns patterns comuns para cenrios de reuso e composio de servios, como vemos abaixo (retirado da documentao): Composition Implementation Patterns Repair and Resubmit (candidate pattern) this pattern is implemented in ESB Toolkit 2.0 as part of Exception Management Framework (EMF). This CTP release provides code sample for implementing this pattern with workflow service in Windows Server AppFabric. This sample leverages exceptions web service and pre-build workflow activities for creating fault message and storing it in the EMF database. Service Virtualization implementation of this pattern in this CTP release shows how to expose WCF routing service with custom metadata and use metadata centralization capability.

Inventory Centralization Patterns Policy Centralization this CTP release delivers capabilities for policy centralization and for managing policy definitions and policy assertions in according to WS-Policy specification. The release also includes set of samples to show how to leverage the policy centralization capabilities. Schema Centralization this CTP release includes capabilities for importing and storing XML schemas centrally as well as tracking relationships between them to enforce reuse. The release also includes set of samples to show how to leverage the schema centralization capabilities.

88

Service and Inventory Governance Patterns Metadata Centralization this CTP release includes persistent store for service metadata for service metadata, including WSDL and ODATA specifications as well as tools for importing metadata and code generation from the service metadata store via inventory web services using MEX and HTTP GET protocols. In addition, service metadata store provides relationship tracking between imported metadata documents, such as WSDL, XML schemas and policies. Analytic Tracing (candidate pattern) this CTP release contains reusable code and samples for implementing analytic using ETW, which include the event collector service, event persistent store and samples that show how to define metrics and customize them. Analytic tracing capability for SOAP services provides flexibility to define service metrics as tracing policies using WS-Policy specification as well as components to emit those events. In addition, event collector service provides extensibility points to customize event processing logic: plugins and event decoders while reusing capabilities for ETW tracing. Termination Notification this CTP includes a sample implementation of this pattern that leverages policy centralization capability.

Como ainda CTP2, o processo de criao e configurao do ambiente ainda manual e exige alguns pontos de ateno. Mas permite a criao de um cenrio de resoluo de servios e composio, bem interessante. No deixe de seguir os passos e ler o documento C:\CompositeServices - CTP2 - Docs\GettingStarted.htm logo aps a instalao do pacote. Como estudo sobre patterns de SOA e reuso, o pacote est bem interessante. Vamos acompanhar sua evoluo ao longo do tempo. Por enquanto s! At o prximo post :) Waldemir.

SOA, ESB, BPM, EAI com BizTalk Server 2010


Tue, Oct 19 2010 12:00 PM Ol pessoal, tudo certo? Alguns produtos da plataforma Microsoft so especialmente dedicados para cenrios corporativos, bem especficos. o caso do BizTalk Server, um motor de integrao de aplicaes, que tem evoludo muito ao longo dos ltimos 10 anos. Tenho trabalhado com o BizTalk de tempos em tempos, ao longo de suas vrias verses. Muita coisa mudou desde as verses 2000 e 2002, onde nem a integrao com o Visual Studio havia. Era um sofrimento! :)

89

A lista de verses do plataforma aparece abaixo: - BizTalk Server 2010 - BizTalk Server 2009 - BizTalk Server 2006 R2 - BizTalk Server 2004 - BizTalk Server 2002 - BizTalk Server 2000 Ref.: http://msdn.microsoft.com/en-us/library/dd547397(v=BTS.10).aspx Hoje, o produto est em sua recm lanada verso 2010, bem completo e sendo posicionado como uma plataforma para integrao de aplicaes (EAI), fornecendo conectividade para diferentes plataformas e sistemas de mercado, Business Process Management (BPM) e capacidades de SOA/ESB. A plataforma ainda inclui capacidades para integrao de cenrios Business to Business (B2B), Adaptadores, Aceleradores e suporte completo para cenrios de RFID. Bastante coisa! No mercado brasileiro, tenho encontrado algumas empresas trabalhando com as verses 2006 e 2006 R2, em solues de integrao, orquestrao e tratamento de mensageria com bastante sucesso. Um diagrama simplificado do modelo de mensageria do BizTalk aparece abaixo, para quem ainda no o conhece:

90

Acima, vemos a mensageria acontecendo via MessageBox, onde toda mensagem recebida nas portas de entrada so persistidas para consolidao, subscrio e tratamento de orquestraes previamente definidas. A grande novidade que a verso 2010 do produto est com uma documentao e cenrios bem completos, o que deve ajudar muito as empresas na criao/configurao de suas infraestruturas. Veja abaixo alguns desses links: BizTalk Server 2010 - Developer Edition http://www.microsoft.com/downloads/en/details.aspx?FamilyID=938102b8-a677-4c20-906df6ae472b3a6a Microsoft BizTalk Server 2010 Help http://msdn.microsoft.com/en-us/library/aa548004%28v=BTS.70%29.aspx Microsoft Windows Communication Foundation (WCF) Line of Business (LOB) Adapter SDK 2010 Documentation http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=6edcf6c3e88d-4cef-b405-0b943bdf0f28 Samples in the SDK http://msdn.microsoft.com/en-us/library/aa560186%28v=BTS.70%29.aspx Scenarios for Business Solutions http://msdn.microsoft.com/en-us/library/aa561965%28v=BTS.70%29.aspx Understanding the Service Oriented Solution http://msdn.microsoft.com/en-us/library/aa560249%28v=BTS.70%29.aspx E como j uma tradio do produto, segue aqui o link para os posters da plataforma, atualizados: BizTalk Server 2010 Posters http://msdn.microsoft.com/en-us/library/ff742262(v=BTS.70).aspx Outro aspecto interessante numa plataforma de EAI a possibilidade de integrao de servios locais com servios publicado na nuvem pblica. Seja atravs de uma consolidao via uma barramento de servios ou simplesmente a publicao de um servios na nuvem, um motor de EAI deve permitir esse tipo de centralizao, facilitando a abstrao das diversas infraestruturas envolvidas na soluo. Durante o Tech-Ed Brasil 2010, Markus Christen fez duas sesses sobre a plataforma BizTalk, uma dedicada a integrao e outra sobre Enterprise Service Bus. Vale conferir as sesses:

91

TechEd 2010 Brasil Sesses Markus Christen Plataforma de Aplicaes http://blogs.technet.com/b/markuschristen/archive/2010/09/21/teched-2010-brasil-sess-245-esmarkus-christen-plataforma-de-aplica-231-245-es.aspx Bastante material! Aproveite! Por enquanto s! At o prximo post :) Waldemir.

Arquitetura de Referncia para Servios e Windows Server AppFabric


Sat, Sep 25 2010 9:00 AM Ol pessoal, tudo certo? Essa semana estive com algumas empresas, falando sobre orientao a servios no domnio da aplicao. Como sabem, podemos pensar um modelo de servios para um determinado escopo de aplicao ou para um domnio maior, o que alguns arquitetos de mercado definem como LITTLE SOA versus BIG SOA. Pensando em Little SOA, o Application Architecture Guide 2.0 apresenta uma arquitetura de aplicao com interfaces de servios definida em camadas, como vemos a seguir:

92

Ref.: http://msdn.microsoft.com/en-us/library/ee658114.aspx No desenho acima, temos uma camada de servios que implementa interfaces e tipos de mensagens, que usada pela camada de apresentao ou sistemas externos da soluo, consumindo esses servios conforme a necessidade. Ao mesmo tempo, vemos uma srie de questes que continuam verticais e presentes para essa arquitetura, como segurana, autenticao e autorizao, gerenciamento, configurao, comunicao, etc. Aproveitando esse desenho, gostaria de destacar o uso de Windows Server AppFabric como container principal para seus servios e processos (WCF/WF). Aspectos como persistncia, hospedagem, monitorao, hosting e caching podem ser facilmente implementados para a aplicao uma vez utilizado o Windows Server AppFabric. Quando estiver pensando em sua prxima aplicao orientada a servios na plataforma Microsoft, no deixe de considerar o AppFabric em sua infraestrutura. Por enquanto s! At o prximo post :) Waldemir.

Servios e Workflows com AppFabric, WCF e WF


Mon, Jun 28 2010 9:00 AM Ol pessoal, tudo certo? Esses dias me perguntaram sobre exportao de workflows como servios e seu impacto para solues orientadas a servios. Respondi com um desenho conhecido de vocs, onde encapsulamos um workflow WF dentro de um servios WCF Services. Atravs da criao de endpoints diversos, nosso servio pode responder em binding e endereos distintos, conforme a necessidade, alm de ser possvel o consumo de servios externos, como vemos no desenho a seguir:

93

Muito bem, at aqui, creio que no temos muitas novidades. Mas se pensarmos no ambiente corporativo, ou em cenrios de mundo real, as dvidas comeam a surgir. Algo como:

Onde devemos hospedas servios e workflows na plataforma Microsoft? O IIS o lugar mais indicado sempre para servios WCF? E para workflows WF? Meu cenrio prev um encadeamento de 3 a 5 servios, que so envolvidos num caso de uso ou processo de negcio. Como fao para garantir a segurana, a autenticao e a autorizao em servios encadeados? Em alguns cenrios, tenho diversos dados envolvidos que poderiam ser persitidos em memria para ganhos de performance. Como posso implementar um cenrio de cache para solues baseadas em servios e workflows? Preciso pensar logo no incio sobre um barramento de servios? Quando devo usar virtualizao de servios? Minha rea de negcios possui alguns processos muito bem documentados. Como fao para transformar esses processos e casos de negcio em servios e workflows numa infraestrutura de real da minha TI? Minha TI est parada no tempo, com tecnologias antigas e infraestrutura desatualizada. Um cenrio de coordenao de servios, com encadeamento de chamadas e workflows est fora das minhas possibilidades? J me falaram muito sobre REUSO e BAIXO CUSTO quando comentam sobre orientao a servios. Que outros aspectos esto envolvidos quando pensamos em servios, workflows e processos de negocio com agilidade?

Voc j teve algumas dessas perguntas em sua pauta de reunies? muito provvel de sim! E possvel ainda que voc tenha mais uma srie de outras perguntas, relacionadas ao contexto de suas aplicaes, necessidades especiais de seus negcios, demandas customizadas da rea de usurios, ou ainda cenrios especficos de sua TI. Toda pergunta relvante pois cada cenrio de fato nico.

94

A boa notcia que muitas das perguntas acima j so tratadas diretamente com o .NET Framework 4.0, combinado com a infraestrutura Windows Server AppFabric. E como vimos na semana passada, alguns cenrios de autenticao distribuda e/ou baseada em declaraes comeam a dar uma nova orientao para a segurana em servios e solues corporativas. Para completar, ainda temos tecnologias disponveis como Entity Framework 4.0, PLINQ, WCF RIA Services, Silverlight 4.0, PRISM v2.2, MEF, ASP.NET MVC, entre outras. Essas tecnologias e frameworks implementando peas importantes de uma soluo desacoplada, com grande flexibilidade para a composio de servios, coordenao de chamadas, tratamento de eventos encadeados e exportao de informaes crticas sobre a sade e a operao de nossas solues. Em breve, espero consolidar algumas dessas discusses em um material mais organizado, para a leitura de vocs. Para o Tech-Ed Brasil 2010, o time de arquitetura aqui da Microsoft tambm est preparando belos cenrios para discusses bem aderentes s necessidades de mundo real. Assim, fique ligado. Algumas surpresas esto sendo preparadas para os prximos meses. Por enquanto s! At o prximo post :) Waldemir.

SOA Manifesto
Sun, Nov 8 2009 5:11 PM Ol pessoal, tudo certo? O final de outubro marcou a publicao do SOA Manifesto, assinado por diversas empresas e representantes do mercado. SOA Manifesto Ref.: http://www.soa-manifesto.org/ Voc pode at pergunta: mais um Manifesto? Sim, mais um Manifesto! :) Entre os signatrios voc encontra nomes como Thomas Erl, Grady Booch, Brian Loesgen e John deVadoss da Microsoft, Aaron Skonnard da Pluralsight entre outros nomes de peso! Tambm sou signatrio por l :) Alguns princpios do SOA Manifesto so bem interessantes e esto de acordo com muitos dos posts e discusses que tivemos aqui no blog com a comunidade, veja:

Identificar os servios atravs da colaborao com stakeholders de tecnologia e de negcios;

95

Verificar que os servios atendam necessidades de negcio e metas da empresa; SOA pode ser realizada atravs de uma variedade de tecnologias e padres; Reconhecer que SOA de fato demanda mudanas em vrios nveis; entre outros...

Opinio: de fato, temos visto diversas empresas falharem na adoo de projetos de SOA. Em alguns casos, as falhas esto relacionadas escolhas equivocadas dos projetos-alvo; em outros, faltou um suporte maior de diferentes nveis da corporao, com o envolvimento integrado das reas de solues, desenvolvimento e infraestrutura. Um projeto de SOA amplo e exige um envolvimento corporativo para seu sucesso. Devido a esses vrios problemas, gosto muito da separao entre LITTLE SOA e BIG SOA. Sistemas orientados a servios, com interfaces bem definidas e uma boa organizao de processos, com foco no domnio da aplicao so os chamados LITTLE SOA. O grande desafio est nos projetos BIG SOA, que envolvem diversos domnios de aplicao e departamentos da corporao, exigindo uma estratgia mais ampla e com um impacto direto no negcio. Confira tambm seu anncio, realizado durante o 2nd International SOA Symposium, em Rotterdan: SOA Manifesto Announcement Ref.: http://www.youtube.com/watch?v=TCg16oTZSV0 Sem dvida, Leitura Obrigatria!!! Por enquanto s! At o prximo post :) Waldemir.

96

Captulo 4
Cloud Computing

Sem dvida, Cloud Computing foi o tema principal em discusses de arquitetura nas empresas e eventos de TI nesses ltimos anos. A importncia do assunto ocorre em um momento de transio de nossa TI, passando de um modelo puramente on-premise (local),onde o controle da infraestrutura de responsabilidade das empresas, para um modelo externo, de contratao por demanda, com um custoTI sendo pressionado para nmeros cada vez menores. Assim, esse captulo apresenta diversos posts publicados nesses ltimos anos sobre o assunto, assim como cenrios de uso da nuvem para solues discutidas com empresas e a comunidade.

97

Computao em Nuvem e alguns cenrios : AD FS e Custos de Infraestrutura


Sat, Nov 13 2010 10:00 AM Ol pessoal, tudo certo? Esta semana foi mais uma daquelas bem corridas! Creio que o tecido Espao-Tempo tenha alguma influncia nisso, mas voc deve concordar que todo mundo est na correria de algum modo, no verdade? :) Dois assuntos me chamaram ateno essa semana: O primeiro foi o uso de AD FS 2 para autenticao baseada em declaraes, com aplicaes na nuvem. Bem interessante esse pattern, que apresentado abaixo:

Vemos que um usurio pode estar autenticado no AD local da empresa (on-premise) e utilizar um STS (emissor de tokens) local, para emitir o token com declaraes exigido pela aplicao na nuvem, no Windows Azure. Nesse cenrio, nossa Web Role implementa as classes do WIF Windows Identity Foundation para manipular as declaraes presentes no token, fazendo assim uma soluo desacoplada em relao a autenticao. Veja mais aqui: http://blogs.msdn.com/b/jmeier/archive/2010/08/03/now-available-azuresecurity-notes-pdf.aspx O segundo assunto foi a justificativa de adoo de nuvem, em situaes de over-provisioning e under-provisioning. A figura abaixo voc j conhece, certo?

98

Vemos acima que a carga atual de uma aplicao varia ao longo do tempo, provocando situaes de desperdcio de infraestrutura (quando rodamos de forma osciosa nosso ambiente) e situaes de falta de infraestrutura (quando rodamos alm de nossa capacidade local). Quando pensamos apenas em custos associados, duas reas esto destacadas aqui:

o custo devido o over-provisioning, isto , o custo de infraestrutura local que mantemos por suportar um ambiente que muito superior ao real exigido pela aplicao. Isso aparece na rea em AZUL. e o custo devido o under-provisioning, isto , situaes onde nossa infraestrutura no suporta a real demanda da aplicao, provocando a perda de negcio, de usurios, a perda de requisies ou simplesmente a indisponibilidade da solues. Isso aparece na pequena rea em VERMELHO. Agora pense: o que custa mais para sua empresa? os custos devido a uma infraestrutura super dimensionada ou os custos devido a perda de negcios? Creio que de acordo com a indstria e ramo de atividade da empresa, o impacto do overprovisioning pode ser maior ou menor ao under-provisioning. Novamente, cabe aqui conhecer como TI suporta o negcio da empresa e qual a situao de conforto/segurana que deve ser mantida. Por enquanto s! Bom feriado e at o prximo post :) Waldemir.

99

Computao em Nuvem e Copa do Brasil em 2014


Thu, Jul 8 2010 9:00 AM Ol pessoal, tudo certo? Voc j notou que a discusso sobre Computao em Nuvem passou? J no vejo mais tantas pessoas questionando sobre o futuro da prxima dcada, se nossas solues iro todas para a nuvem, ou se as ofertas para Cloud Computing foram boas apostas de seus fornecedores. No esquisito? Perdi alguma coisa? :) Na verdade no penso que o hype, aquela sensao de novidades e modismo passou! Agora, j estamos entrando na fase das descobertas do dia-a-dia. E talvez at mesmo a fase da desiluso seja mais rpida do que estamos acostumados. Voc deve conhecer o diagrama abaixo, que ilustra o Hype Cycle de Tecnologias Emergentes, como utilizado pelo Gartner em diversas avaliaes, veja:

Em julho de 2009, o Gartner colocava Cloud Computing no topo da onda, em seu momento mais hype e de grande visibilidade, assim como outras tecnologias em diversos estgios, veja: Ref.: http://bhc3.wordpress.com/2009/07/27/gartner-hype-cycle-2009-whats-peaking-whatstroughing/ Aps 1 ano, milhares de empresas pelo mundo j possuem suas aplicaes em algum formato de nuvem, utilizando cenrios com dados na nuvem, servios na nuvem, barramentos na nuvem, de forma integrada com os ambientes locais (on-premise). E quando digo que o vale da sombra e da desiluso pode ser mais breve do que pensamos, porque as informaes sobre cenrios e experincias nunca foi to divulgada como hoje. Veja twittes, posts, blogs, artigos, wikis, foruns, redes sociais dedicadas, microblogs, comunidades,

100

etc, uma infinidade de pessoas e empresas trocando boas experincias e tambm no muito boas, sobre formas de utilizao e patterns para a nuvem. Tem muito material disponvel sobre o assunto. No Brasil, tambm vimos a novidade e descobrimos que em muitas empresas, a infraestrutura local no est suficientemente madura para coordenar servios na nuvem. Muitas empresas ainda esto se organizando num formato baseado em servios, avaliando o impacto da exposio pblica de seus servios para o consumo externo, ou mesmo a implementao de capacidades bsicas como autenticao, autorizao, versionamento, monitorao, caching, hosting padronizado, governana, etc. At o final de 2010, muitas empresas iro acelerar esse processo. Tenho visto tambm diversas empresas aproveitando a onda do Cloud Computing para aumentar a urgncia na revitalizao de sua TI, seus processos, sua capacitao interna e seu autoconhecimento. Esse auto-conhecimento est ligado em saber explicar o por qu a TI existe. Qual a misso da TI em sua empresa? Qual o impacto de sua TI para o negcio da empresa? Quais projetos ou tecnologias so crticas para o sucesso de um novo produto? O que define o sucesso dos usurios de negcio em sua organizao? No so poucas as empresas que ignoram essas perguntas e arriscam um posicionamento no mercado sem perspectivas de evoluo, distantes de conceitos como agilidade, produtividade, governana, viso estratgica, entre outros. Mas creio que a ficha est caindo! :) Temas como SOA/SOI, composio de aplicaes, coordenao de processos, workflows, etc, esto cada vez mais recorrentes em discusses, ampliando o entendimento das empresas sobre a viso da plataforma de aplicaes que ela possui. Hoje tivemos o lanamento logo da Copa do Brasil, em 2014. Pergunta: quantos projetos de TI associados ao projeto Copa estaro na nuvem? Quantos servios de sua empresa estaro preparados para suportar o volume de usurios que viro com a Copa? J pensou nisso? Ou a Copa no ter impacto sobre os negcios de sua empresa? Como sua TI ir suportar esse momento? Se passamos mesmo a fase do hype para Cloud Computing em menos de 1 ano, em menos de 4 anos poderemos estar no plat da produtividade, oferecendo sistemas com alta escalabilidade, provisionamento dinmico e crescimento elstico, que viro com a prxima festa! E em 2016 ainda tem Olimpadas!!! Agora, se isso no acontecer, muitas empresas perdero boas oportunidades de negcio, considerando os holofotes do mundo sobre o Brasil! Hexa em 2014, combinado?!

101

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

Nuvens Pblicas, Privadas e Dedicadas


Fri, May 21 2010 9:00 AM Ol pessoal, tudo certo? Uma discusso tambm recorrente quando falamos sobre computao em nuvem sobre os tipos de nuvens que podemos consumir. Vocs se lembram da taxnomia para a cloud, que apresentamos aqui no blog alguns vrios posts atrs, certo? Falamos sobre ofertas de IaaS, PaaS, SaaS e seus servios. Falamos bastante tambm sobre as capacidades presentes numa plataforma de nuvem exemplificando com os prprios recursos da plataforma Windows Azure. Agora gostaria de destacar sobre os tipos de nuvens que podemos trabalhar. Nesse ponto, podemos pensar em nuvens pblicas, nuvens privadas e nuvens dedicadas. Nuvens pblicas so as ofertas gerais que temos no mercado, atravs de provedores como Microsoft, Amazon, SalesForce, IBM, Google, entre outros. Nesse tipo de oferta, o acesso feito via internet e compartilhamos datacenters com diversas empresas do mundo. Veja, nosso compartilhamento limita-se ao datacenter; na plataforma Azure, por exemplo, o isolamento dos dados entre mquinas virtuais e mquinas fsicas total, sem o compartilhamento destes entre empresas e usurios diferentes.

102

Pensando uma soluo mais customizada, nuvens privadas podem oferecer os benefcios do provisionamento dinmico e economia de escala, aproveitando a infraestrutura de datacenters j investidos pela prpria empresa. Assim, empresas que possuem seus prprios datacenters podem avaliar o modelo de virtualizao e provisionamento, com a criao de uma nuvem privada, que estar disponvel apenas para os usurios e aplicaes da empresa. Uma limitao nesse modelo que alm da escalabilidade ser limitada ao tamanho do investimento j feito no seu prprio datacenter, a empresa continua responsvel pela adminitrao fsica dos recursos de hardware, assim como evoluo de software e atualizaes necessrios. Finalmente, nuvens dedicadas podem oferecer os benefcios da abstrao de um datacenter de mercado com o isolamento e customizao que uma empresa pode imaginar. Esse tipo de oferta normalmente envolve questes de segurana, como federeno de usurios locais (on-premise) com os usurios e aplicaes colocadas na nuvem e permite cenrios integrados, com grande flexibilidade de hardware e provisionamento para as empresas. A partir desses 3 cenrios de nuvens, natural pensar na federeo entre nuvens, resolvendo questes de autenticao, autorizao e segurana entre usurios de cada ambiente contratado. Pensando em autenticao e questes de segurana, o Markus publicou um post muito interessante sobre esses pontos, vale conferir: Single Sign-On com Windows Azure Ref.: http://blogs.technet.com/markuschristen/archive/2010/05/17/arquitetura-da-computa-o-emnuvem-para-a-empresa-corporativa-single-sign-on-com-a-nuvem.aspx Por enquanto s! At o prximo post :) Waldemir.

Computao em Nuvem: algumas perguntas sobre desafios em projetos


Fri, May 7 2010 8:00 AM Ol pessoal, tudo certo? Essa semana, fiz uma apresentao sobre Computao em Nuvem e recursos do Windows Azure na FAAP - Fundao Armando Alvares Penteado (http://www.faap.br/). Foi muito bom falar com o professor Tlio Marin, o prof. Rodrigo e o prof. Dr. Francisco Paletta sobre os desafios da Cloud, momentos antes do evento. Na sequncia da apresentao sobre Azure tivemos uma sesso com Cezar Taurion, gerente de novas tecnologias na IBM, que trouxe a viso sobre a cloud segundo a empresa. Ao longo do encontro, tivemos boas perguntas sobre aspectos importantes e desafios na cloud. Sobre esses desafios, destaco abaixo algumas perguntas frequentes que tenho visto em outros debates, veja:

103

Com um xodo massivo de capacidades de TI para a nuvem, o que acontecer com os profissionais de TI, que atuam sobre datacenters locais (on-premise)? Comentrio: essa questo to importante quanto constante. O Markus sempre fala: ol todo mundo, o mundo mudou!. Com certeza, teremos mudanas nas tarefas do dia-a-dia do IT Pros, do DBA, do administradores de rede, etc. Mas no teremos uma ruptura da noite para o dia. O que deveremos assitir ao longo do tempo uma composio de capacidades, ora local, ora na nuvem, capacidades essas que sero administradas de forma centralizada, atravs de ferramentas consolidadas no on-premise. Por exemplo, um DBA que opera sobre SQL Server Management Studio 2008 continuar administrando o servidor SQL local e com a mesma ferramenta, ir administrar os servidores contratados no SQL Azure. O mesmo deve acontecer na combinao de outras capacidades do enterprise, como hospedagem de servios (com o AppFabric local e na nuvem, por exemplo), o controle de acesso, o single sign-on (com CBA Claim-based Authenticaion), etc. Mas a recomendao permanece: mantenha-se atento as essas novas oportunidades de infraestrutura hbrida, pois essa combinao em TIs dever acontecer realmente. Mover para a nuvem provoca o lock-in de plataforma? possvel migrar aplicaes entre nuvens? Comentrio: quando pensamos em cloud computing temos diferentes nveis de abstrao disponveis, como vemos abaixo:

Sobre os datacenters de um provedor de nuvem encontramos ofertas de Infraestrutura como Servios (IaaS Infrasctructure as a Service), Plataforma como Servio (PaaS Platform as a Service) e Software como Servio (SaaS Software as a Service). Quando mais alto nas camadas, maior o nvel de abstrao e menor o controle. Quando mais baixo, maior o controle e menor a abstrao.

104

Portanto, se voc contrata uma soluo de IaaS, voc contrata uma infraestrutura capaz de executar e hospedar seu software sobre o sistema operacional que voc escolher, instalar, administrar e gerenciar. Maior controle = maior responsabilidade. Por isso, mudar de provedor IaaS deve oferecer um impacto menor em sua dependncia de plataforma, pois voc pode migrar apenas sua imagem de soluo, por exemplo. Ao mesmo tempo, contratar uma soluo SaaS exige o menor envolvimento sobre desenvolvimento, gerenciamento ou administrao da soluo. Porm, voc ir depender do software e funcionalidades oferecidas pela soluo SaaS, o que deve oferecer um impacto em caso de mudana do provedor contratado. Por exemplo, contratar uma soluo SaaS CRM da SalesForce.com diferente de contratar uma soluo SaaS CRM da Microsoft, via o Dynamic CRM OnLine. Fique atento e reconhea o tipo de servio de nuvem que voc est contratando. Reconhecer quais funcionalidades so nicas de cada provedor importante e deve esclarecer seu grau de dependncia com a soluo contratada. Outro aspecto importante na contratao de um provedor a facilidade de integrao com sua plataforma local (on-premise). A maioria dos provedores de nuvem oferecem APIs para consumo de recursos atravs de interfaces Web. O Windows Azure, por exemplo, oferece suporte para todos os protocolos internet e W3C para consumo de suas APIs, como HTTP, SSL, SOAP, REST, XML, etc, o que garante total interoperabilidade da nuvem Azure com outras plataformas, assim como sua infraestrutura on-premise (local). O que acontece se voc conecta aplicaes LOB locais com aplicaes SaaS e o provedor de Utility/APaaS/SaaS fica fora de operao? Comentrio: sem dvida, se o link cair, sua operao estar fora do ar; se o provedor cair, sua aplicao tambm estar fora do ar. Por isso, procure identificar quais servios sero consumidos da nuvem, quais so os nveis de servio (SLAs) oferecidos pelo provedor, quais funcionalidades da soluo podem estar parcialmente conectadas, com suporte a momentos offline, etc. Esse tipo de anlise muito importante! Com dados e processamento na nuvem, a transferncia de dados torna-se crtica. Como projetar pensando em transferncias para evitar gastos? Comentrio: pense que entre os vrios modelos de contratao na nuvem pagamos tambm pelos trfego de entrada e sada de dados na nuvem. No Windows Azure, por exemplo, pagamos pelos dados de entrada e sada no SQL Azure, assim como numa Table do Azure Storage. Portanto, ao projetar sua soluo para a nuvem procure avaliar o trfego que ser gerado nas fronteiras da cloud. O uso de bons patterns de software far a diferena no final do ms. Vimos aqui apenas algumas perguntas sobre desafios de um projeto na cloud. O que voc achou? Outras perguntas ainda existem? Fique a vontade para seus comentrios. Por enquanto s! At o prximo post :) Waldemir.

105

Windows Azure Design Patterns Patterns para a Cloud


Wed, Apr 28 2010 1:27 PM Ol pessoal, tudo certo? O ms de Abril est terminando e tivemos grandes novidades ao longo das ltimas semanas. Desde 12 de Abril, a plataforma Windows Azure est comercialmente no Brasil e diversas empresas j comearam seus projetos e iniciativas na plataforma. Assim tambm vimos o lanamento do .NET 4.0, o Visual Studio 2010, alm de novidades sobre o AppFabric, Velocity, SharePoint 2010, etc. Ao mesmo tempo, vrias perguntas surgiram sobre quando usar a nuvem ou qual tipo de aplicao mais aderente ao modelo de alta escalabilidade, alto volume e provisionamento elstico que a nuvem oferece. Como sabem, alguns cenrios de aplicaes so timos para a nuvem e para o Windows Azure, outros nem tanto. Veja alguns exemplos timos para a nuvem na figura abaixo:

Acima, temos cenrios de aplicaes On/Off, Crescimento Rpido, Carga Imprevista ou Carga Sazonal, que so bem aderentes aos recursos do Windows Azure. Para cada um deles,

106

usaremos Web Roles, Worker Roles, SQL Azure, Azure Storage e demais recursos da plataforma .NET suportada no Windows Azure. Como foram vrias perguntas, gostaria de resgatar aqui um video que publiquei em Maro/2010 no Azure Academy, falando sobre Patterns para Computao em Nuvem:

Ref.: http://msdn.microsoft.com/pt-br/azure/ff384162.aspx Creio que vai ajudar em alguns cenrios mais sobre a nuvem. Espero que gostem! Comentrios e dvidas, fiquem a vontade! Por enquanto s! At o prximo post :) Waldemir.

Computao em nuvem e as ondas de inovao


Fri, Apr 16 2010 4:02 PM Ol pessoal, tudo certo? Esses ltimos meses tm sido muito corridos para mim e muitos de vocs, com certeza. Entre os desafios do dia-a-dia, subidas para produo em finais de semana, consolidao de infraestruturas, reunies de projetos, tratamento de backlogs de sistemas, reunies com usurios de negcio para a coleta de novas funcionalidades, etc. Para completar, uma onda de novidades tem sido apresentada, inundando nossas mentes com idias e expectativas. Mas o fato que de tempos em tempos vivemos essas ondas de inovao ou pequenas revolues que desafiam nossa realidade. Veja alguns exemplos:

107

Surgimento dos Minicomputadores Sistema Operacional UNIX e Sistema Abertos Sistema Operacional DOS, Windows e o surgimento da Computao Pessoal Surgimento dos Monitores Transacionais (Transaction Processing) Surgimento do Banco de Dados Relacional Surgimento da Computao Cliente/Servidor Surgimento dos Laptops Nascimento dos Dispositivos mveis, Palm, PDAs Surgimento dos Celulares e Smartphones Aplicaes Web e a prpria Internet e mais recentemente Utility Computing e a Computao em Nuvem (Cloud Computing)

Claro, alguns leitores podem dizer que no se lembram de todas essas batalhas entre mundo real e viso de futuro, mas acredite, aconteceram muitas vezes ao longo desses ltimos 20/30 anos. Outras pequenas batalhas tambm aconteceram, a lista acima apenas parcial. E como toda onda de inovao, um ciclo de vida percorrida, que passa por momentos de novidade, descoberta tecnolgica, pico de expectativa (o chamado hipe), desiluso, recuperao e finalmente, a produtividade obtida com a maturidade. Esse bem o modelo usado pelo Gartner em diversas anlises de tecnologias, com o seguinte grfico:

Nesse contexto, Cloud Computing ou Computao em Nuvem a onda do momento, com seus benefcios, riscos e impacto para aplicaes e modelos de negcio. Costumo dizer que uma janela de oportunidades se abre para empresas, fornecedores de software e usurios. Na mesma linha, gostaria de adicionar mais um conceito: o que veremos nos prximos meses um aumento na discusso sobre o consumo de servios. Iremos nos referir a NUVEM (the Cloud) da mesma forma como nos referimos a NET (the Internet). Esse impacto deve criar tambm alguns papis novos no mercado:

Teremos as empresas fornecedoras de cloud, que devem prover os recursos de hardware e infraestrutura na forma de datacenters e funcionalidades de software para suportar a

108

cloud. Microsoft um exemplo, com sua malha de datacenters e recursos de sua plataforma Windows Azure.

Teremos tambm empresas que iro construir servios sobre a nuvem (os chamados brokers da nuvem), combinando funcionalidades de diferentes provedores ou os recursos de uma plataforma escolhida, para a construo de ofertas de servios com alta escalabilidade, disponibilidade e elasticidade para seus clientes. A Microsoft novamente um exemplo para algumas ofertas de servios, como o BPOS Business Productivity OnLine Suite, mas outras empresas j esto aproveitando a plataforma Azure para a construo de ofertas SAAS Software as a Services, por exemplo, oferecendo os benefcios da computao elstica para seus clientes. Finalmente, teremos as empresas clientes, cada vez mais consumidoras de servios de forma intensa e transparente. Esses consumidores iro combinar servios de diferentes brokers da nuvem com servios e aplicaes on-premise (locais), aproveitando os investimentos realizados em sua prpria infraestrutura.

Esse exemplo de combinao j aparece em diversos projetos pelo mundo que a Microsoft tem apoiado, integrando infraestrutura local com a nuvem. o caso do projeto Kelley Blue Book, colocado como evidncia no portal do Azure, veja:

Ref.: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000005874 Um dos pontos interessantes do projeto sua integrao entre uma infraestrutura local com servios de terceiros e servios colocados sobre o Windows Azure. Um desenho geral sobre a arquitetura do projeto dada abaixo, veja:

109

Em resumo, On-Premise + Servios de Terceiros + Cloud = TI Hbrida O que vemos na equao acima no apenas um potencial de inovao e agilidade para a construo de novos produtos e negcios nas empresas. tambm um desafio para a integrao entre ambientes, coordenao de desenvolvimentos, ALM integrado e Monitorao distribuda. Se por um lado estamos no hipe de cloud computing, por outro j comeamos um bom mapeamento de desafios presentes com esse modelo. J existem diversas solues para cada um desses desafios, como segurana federada (CBA Claim-based authentication), sincronizao entre dados locais e na nuvem (SSIS - SQL Server Integration Services), interfaces de servios locais e na nuvem (WS-F PRP - WS-Federation Passive Requestor Profile), container de servios locais e na nuvem (Microsoft Windows Azure platform AppFabric), barramentos de servios, repositrios, cockpits de monitorao integrada (Management API), etc. Talvez mais rpido do que imaginamos, estaremos diante de uma nova realidade em nosso dia-adia e o plat da produtividade esteja presente muito em breve tambm para cloud computing. E com certeza, novas ondas viro :) Enjoy the ride!!! Por enquanto s! Bom final de semana e at o prximo post :) Waldemir.

110

Trabalho de Concluso de Curso (TCC) sobre Cloud Computing: temas de negcio


Thu, Mar 25 2010 8:00 AM Ol pessoal, tudo certo? No post anterior falamos sobre algumas alternativas de temas para trabalhos de TCC, focando aspectos tcnicos ligados ao cloud computing. Neste post, veremos outros exemplos de temas com um foco mais em negcio. Vamos l? Propostas para um TCC sobre Cloud Computing: Temas de Negcio Tema 1: Estudo sobre TCO e ferramentas de anlise de retorno para cloud computing

Um dos principais aspectos do cloud computing seu modelo de micro-pagamento e pay as you go, isto , pagar apenas pelo uso. Considerando uma soluo local que foi migrada para a nuvem, como podemos comparar os benefcios financeiros da nuvem para o novo sistema? Um exemplo de ferramenta que apresenta diversas consideraes sobre retorno de investimento, plano de custos e valores de contratao a TCO and ROI Calculator . Veja mais nesse link: http://blogs.msdn.com/wcamb/archive/2009/12/05/windows-azure-calculadora-paratco-e-roi.aspx Assim, nesse trabalho voc pode propor alguns tpicos importantes para a anlise financeira do modelo de nuvem, em relao aos custos e retornos de um investimento local, com datacenters ou mquinas compradas pela prpria empresa.

Tema 2: Mecanismos de monetizao para uma soluo em cloud computing

Muitos dos aspectos presentes nesse trabalho esto ligados aos aspectos de monetizao, billing, campanhas e cobrana de soluo SaaS Software as a Service. Pensando nisso, imagine uma soluo SaaS hospedada sobre uma infraestrutura de provisionamento dinmico e elstico como a nuvem. Quais so as capacidades desejveis e importantes para uma soluo de cobrana sobre a cloud? Esse estudo importante principalmente se voc estiver pensando em construir sua prpria aplicao multi-inquilino dinamicamente configurvel no futuro. Tambm um belo trabalho.

Tema 3: Aspectos regulatrios, de segurana e governamentais envolvidos com o modelo de cloud computing

Um dos temas recorrentes em discusses com empresas ligados aos diversos nveis de governo (municipal, estadual, federal) sobre regulaes. Como tratamos dados, servios ou aplicaes hospedadas fora do pas? Quais so as leis que tratam aspectos de segurana, foro, legislao em vigor, proteo de dados, etc. O tema no exclusivo de cloud computing e tem pelo menos uns 10 anos de vida, j presente na poca das pontocoms. Com certeza, um belo tema para um TCC sobre cloud computing.

111

Tema 4: Governana Corporativa e Cloud Computing

Considerando os vrios anos de metodologias de governana e administrao do ambiente corporativo local, qual ser o impacto para o negcio e para a TI das empresas com a adio de uma infraestrutura na nuvem? Quais metodologias avaliam o tema e qual o impacto para a cultural organizacional das empresas?

Tema 5: Modelos de Negcio dos principais fornecedores de Cloud Computing

Microsoft, Google, IBM, SaleForce, Amazon, etc. so alguns dos exemplos de fornecedores de infraestrutura de cloud computing. Cada um oferece recursos diferenciados, que podem ser classificados quanto a sua aderncia ao modelo PAAS, SAAS, IAAS, DAAS, etc. Esse um belo trabalho de pesquisa, que vai ajud-lo a posicionar cada fornecedor de plataforma quanto aos recursos e maior ou menor aderncia s necessidades de cada empresa. Belo trabalho tambm!

Tema 6: Modelo de Billing e Cobrana de uma plataforma de Cloud Computing

Pensando sob a tica do fornecedor, como o modelo de cobrana adotado deve colaborar para a receita final da empresa. Por exemplo, a partir das previses de adoo e crescimento de uso da cloud pelo mercado, como seria uma previso de ganhos por oferta para cada fornecedor de cloud disponvel, por exemplo, Amazon, Google, Microsoft, etc. um tema difcil? Claro! Mas com certeza fez parte da anlise e justificativa para a construo de datacenters to numerosos pelos principais fornecedores.

Tema 7: Cloud Computing e o impacto para os profissionais de TI

Segue aqui um tema crtico e muito importante: o IT Pro vai sofrer algum impacto com a adoo da nuvem? E o desenvolvedor, ser o mesmo de hoje? Como as empresas fornecedoras de software vo se posicionar? Existe uma janela de oportunidades e novos mercados com as ofertas de cloud computing disponveis hoje, por isso, como ser a TI e os profissionais do amanh diante desse novo cenrio?

Tema 8: O impacto para o usurio final num futuro com cloud computing

Para terminar essa lista de temas, uma questo filosfica: o que ser de nosso usurio imerso na nuvem? Como sero suas ferramentas, opes de armazenamento de dados, servios para contratao, webparts, redes sociais hospedadas com armazenamento ilimitado para fotos, vdeos, udios, documentos, fonte de projetos, etc.? Imagine um usurio que possui a nuvem para seus dados e dispositivos cada vez mais presentes em seu dia-a-dia. Cloud Computing parte fundamental dessa revoluo social que j est acontecendo. Creio que esse um trabalho mais filosfico, mas no menos vibrante para seu TCC, o que acha?

112

Completamos assim 16 temas possveis para um TCC em cloud computing. Espero que tenha gostado! Fique a vontade para votar nos temas mais interessantes (atravs dos comentrios aqui do blog) e se voc escolher algum dos ttulos para seu TCC, compartilhe suas idias, fontes e concluses aqui no blog. O mais interessante que muitos dos temas acima fazem parte do dia-a-dia dos arquitetos de solues e infraestrutura envolvidos em questes sobre a nuvem em suas empresas. Algumas Referncias: Cloud Computing by Gartner Ref.: http://www.gartner.com/it/products/research/cloud_computing/cloud_computing.jsp Cloud Computing by Burton Group Ref.: http://www.burtongroup.com/Research/Topics/CloudComputing.aspx?intcmp=cloudhmbnr Cloud Computing by Microsoft Ref.: http://www.microsoft.com/cloud/ Azure Academy - Aprenda na prtica Ref.: http://msdn.microsoft.com/pt-br/azure/dd637687.aspx Plataforma Windows Azure - Portal Brasil Ref.: http://msdn.microsoft.com/pt-br/azure/default.aspx FAQ sobre Windows Azure e Cloud Computing nvel 100 Ref.: http://blogs.msdn.com/wcamb/archive/2010/03/04/faq-sobre-windows-azure-e-cloudcomputing-n-vel-100.aspx No tenha dvida! Existem diversos temas possveis sobre Cloud Computing, destaquei aqui apenas alguns que achei interessantes. E se voc procurar ainda por livros, vai encontrar um universo de literaturas, confira os exemplos da Amazon abaixo: Ref.: http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&fieldkeywords=cloud+computing Muita Leitura Obrigatria! Divirta-se e bom TCC para voc! Por enquanto s! At o prximo post :) Waldemir.

113

Trabalho de Concluso de Curso (TCC) sobre Cloud Computing: temas tcnicos


Tue, Mar 23 2010 8:00 AM Ol pessoal, tudo certo? Essas ltimas semanas tenho recebido diversas consultas sobre temas para o conhecido TCC Trabalho de Concluso de Curso. E posso dizer que nesse ltimo ano, o tema favorito tem sido Cloud Computing! E no se engane pensando em TCC apenas para a graduao. Diversos alunos de MBAs, Mestrados, Cursos de Extenso e Ps em diversas reas esto escolhendo a Nuvem para seus trabalhos finais. Pensando nisso, resolvi colocar aqui algumas opes de temas e comentrios sobre cloud computing para seu TCC! Dividi o assunto em dois posts, um sobre temas tcnicos e outro sobre temas de negcio. Vejamos o primeiro! Propostas para um TCC sobre Cloud Computing: Temas Tcnicos Tema 1: Uma taxonomia sobre Cloud Computing

Nesse trabalho, o objetivo estudar as diferentes abordagens de recursos computacionais como servios, por exemplo, DAAS Database as a Service, PAAS Platform as a Service, SAAS Software as a Service, IAAS Infrastructure as a Service, etc. A partir dessa taxonomia, voc pode escolher alguns dos principais servios e exemplificar os aspectos de desenvolvimento e principais questes de implantao. Esse conjunto de diferentes taxonomias est na base das ofertas de cloud computing que temos hoje no mercado.

Tema 2: Desenvolvimento para Cloud Computing

Nesse trabalho, a partir de uma primeira parte sobre os conceitos de cloud computing, como virtualizao, escalabilidade, provisionamento dinmico, configurao, monitorao, etc. uma segunda parte do trabalho pode focar nos principais aspectos de desenvolvimento para uma plataforma na nuvem. Que tipos de ferramentas so disponveis, quais so os patterns aplicveis, quais os templates indicados, tipos de dados, tipos de armazenamento, processos, recomendaes e melhores prticas. Voc pode escolher uma plataforma de cloud computing do mercado e avaliar as ferramentas, linguagens e templates disponveis para o desenvolvedor. Por exemplo, para o Windows Azure voc tem o desenvolvimento baseado no Visual Studio, com a adio de ferramentas com templates prontos, um SDK Software Development Kit para desenvolvimento local, alm de uma srie de exemplos e laboratrios a partir de um Training Kit para a plataforma. O suporte para linguagens diversas tambm um aspecto interessante, como a integraom com JAVA, PHP, C#, etc.

114

Tema 3: Cenrios Corporativos para Cloud Computing

Esse sempre um bom tema para discusso: conhecendo os cenrios corporativos, quais aplicaes e tipos de solues so mais aderentes ao modelo de cloud computing? Quais cenrios podero aproveitar os recursos da alta escalabilidade e geo-localizao dos datacenters da nuvem? um trabalho que tende a ser bem pragmtico, onde a escolha dos exemplos muito importante. Procure avaliar tambm aspectos como transao, segurana, integrao, protocolos, sincronizao entre os ambientes, etc.

Tema 4: Viso Software + Servios : o poder da escolha

Aqui coloquei um tema que referente a viso S+S da Microsoft, que envolve o poder de escolha do usurio entre diferentes infraestrutura. Falamos assim da combinao entre diferentes opes de plataforma, ora local, ora na nuvem, assim como diferentes dispositivos e consumidores, ora desktop, ora um dispositivo mvel, ora um browser a partir da Web, ora uma TV ou um eletrodomstico. Com certeza, o futuro muito mais que apenas a nuvem, ser mesmo uma combinao de plataformas, formatos de dados, protocolos, consumidores, servios e usurios. Essa combinao deve acontecer em parte pelos investimentos j realizados, mas tambm pelo crescente poder de processamento presente na mquina local, no notebook, desktop, netbook ou dispositivos do usurio final. Um belo tema.

Tema 5: Mecanismos de integrao entre a nuvem e o ambiente corporativo

Considerando o modelo de cloud computing para uma determinada aplicao ou tipo de soluo, como ser a integrao com os demais sistemas de uma empresa? Como ser a segurana, o controle de acesso, o uso de certificados digitais, a exportao e consumo de servios externos, ou mesmo a integrao entre aplicaes corporativas com aplicao e servios na nuvem. So diversos aspectos envolvidos, o que deve gerar um belo TCC. Outras tecnologias e arquiteturas devem ser tratadas aqui como SOA Service Oriented Architecture, Aplicaes de Composio, SOI Service Oriented Infraestructure, Web 2.0, mashups corporativos, etc.

Tema 6: Patterns para Cloud Computing

J fiz uma apresentao sobre o tema uns meses atrs. Devido os recursos disponveis num ambiente em nuvem, podemos aplicar patterns sofisticados na cloud, usando essa infraestrutura para escalar recursos, tratar solues SaaS Software as a Service com seu modelo multi-inquilino, implementar modelos de map reduce para computao em volume, provisionar servios para diversos consumidores, etc. Um tema com certeza bastante amplo.

Tema 7: Aplicaes locais e dados na nuvem

Um tema tambm muito interessante a composio de infraestruturas, onde nossas aplicaes esto no ambiente da empresa (local) e seus dados esto na nuvem. Como

115

acessar esses dados? Que aplicaes suportam esse modelo? Quando essa composio torna-se vivel? Como exemplo, imagine uma aplicao em .NET implementada localmente atravs de interfaces Web + Silverlight, consumindo servios em WCF. Parte dos dados esto em servidores de dados corporativos, enquanto que outra parte colocada sobre bases no SQL Azure Database, sendo acessados via ADO.NET e ODBC. Um belo trabalho! Tema 8: Redes Sociais e Cloud Computing

No poderia deixar de citar Redes Sociais ou Web 2.0 nessa lista de temas. Parte da grande demanda de usurios via Web que temos hoje vem da crescente onda da Web 2.0 e redes sociais que temos observado nesses ltimos anos. Nesse trabalho, voc pode explorar os aspectos tcnicos para o atendimento de milhares/milhes de usurios da Web 2.0 sobre solues hospedadas na nuvem. Que tipos de dados suportam o modelo? Quais as tcnicas envolvidas? Quais os principais desafios, etc?

Gostou? Espero que as propostas acima ajudem voc na escolha de seu tema de TCC. No prximo post, veremos outras idias com uma abordagem mais de negcio. Fique ligado. Por enquanto s! At o prximo post :) Waldemir.

FAQ sobre Windows Azure e Cloud Computing nvel 100


Thu, Mar 4 2010 4:15 PM Ol pessoal, tudo certo? Essa semana est bem corrida, mas consegui manter algumas belas discusses com empresas e times de projeto, para no perder a mania! :) Um dos assuntos, como sempre, foi Cloud Computing! Como ainda tenho ouvido diversas perguntas nvel 100, 125 e 200, aqui vai um post estilo FAQ - Frequently Asked Questions: 1) O que Cloud Computing? Podemos definir cloud computing ou computao em nuvem como uma combinao de grid computing com software como servio (SaaS - Software as a Service). Do grid computing temos o poder de computao e alta escalabilidade oferecida para as aplicaes, atravs de milhares de mquinas (hardware) disponveis em datacenters de ltima gerao. Do software como servio temos a capacidade de contratar um servio e pagar somente pelo uso. Essa caracterstica de provisionamento dinmico muito interessante, permitindo a reduo de custos operacionais, com uma configurao de infraestrutura realmente mais aderente s necessidades do nosso negcio.

116

Um elemento chave do modelo de cloud computing a virtualizao. Basicamente, quando contratamos mais ou menos poder de computao de uma de cloud estamos trabalhando com instncias de mquinas virtuais, que iro suportar a execuo de nossas aplicao na nuvem. Assim, teremos mquinas virtuais para computao de processos, para interfaces web, para armazenamento de imagens, para dados, etc. 2) Quem oferece Cloud Computing? Normalmente, os investimentos para construo e manuteno de datacenters de cloud computing so grandiosos. Por isso, encontramos grandes empresas oferecendo infraestruturas de cloud como Amazon, Google, IBM, Microsoft, Rackspace, Zoho, Salesforce, entre outras. No Brasil, alguns hosters locais tambm esto iniciando suas ofertas de cloud computing para o mercado, aproveitando sua infraestrutura existente ou mesmo investindo em solues baseadas em IaaS Infrastructure as a Service, com o provisionamento de infraestrutura como servio. Desde fevereiro de 2010, a Microsoft oferece comercialmente sua oferta de cloud computing, baseada no sistema operacional Windows Azure. O portal principal do Windows Azure esse abaixo: Windows Azure Platform Ref.: http://www.microsoft.com/windowsazure/ 3) Onde fica a nuvem? Cada fornecedor mantm sua prpria infraestrutura de cloud computing em datacenters especializados, muitos de ltima gerao. Em muitos deles, a infraestrutura de hardware colocada em containerers, como na figura abaixo, retirada de um datacenter Microsoft:

A Microsoft possui sua infraestrutura de datacenters atravs de 2 centros na Amrica do Norte, 2 centros na Europa e 2 na sia, por enquanto!

117

4) O que o Windows Azure? O Windows Azure um sistema operacional lanado pela Microsoft para seu modelo de cloud computing. Portanto, o Windows Azure no vendido para ambientes desktop, mobile ou servidores corporativos. O Windows Azure coordena a malha de hardware disponveis em datacenters Microsoft, provisionando mquinas virtuais para a oferta de servios online de alta escalabilidade e aplicaes com provisionamento dinmico. Essa malha baseada em containeres como a foto ao lado, onde milhares de mquinas esto disponveis para a infraestrutura Azure. Alm dos recursos de computao, armazenamento e administrao oferecidos pelo Windows Azure, a plataforma tambm disponibiliza uma srie de servios para a construo de aplicaes distribudas, alm da total integrao com a soluo onpremise (local) baseada em plataforma .NET. 5) Como funciona o Windows Azure? Cada oferta de cloud computing disponvel no mercado envolve questes de aplicao, plataforma e infraestrutura. Olhando o Windows Azure, temos uma infraestrutura baseada em datacenters onde executamos Windows Server 2008 com tecnologia de virtualizao baseada em Hyper-V da Microsoft. Sobre essa infraestrutura, contratamos instncias para processamento ou armazenamento de dados com diversas configuraes possveis, por exemplo:

118

Cada configurao acima possui um valor de contrato diferente. Uma vez definido o ambiente, pagamos pelo uso. Essa configurao feita atravs do prprio ambiente de desenvolvimento do Visual Studio 2008 ou 2010. Veja como feita essa configurao atravs do Visual Studio 2010, abaixo:

6) Quando posso usar uma nuvem? Podemos usar uma infraestrutura de nuvem conforme a necessidade, sempre que pensamos em alta escalabilidade via internet e reduo de custos operacionais (com um ambiente onde pago apenas pelo uso). Porm, que aplicao vou colocar na nuvem? Podemos pensar em alguns cenrios que so aderentes ao modelo de computao em nuvem, como ilustra a figura abaixo:

119

Assim, cenrios de carga On/Off', carga com Crescimento Rpido, carga com volume Imprevisvel ou mesmo picos Sazonais so exemplos de demandas que so aderentes ao Windows Azure, devido sua capacidade de configurao dinmica e elstica. Mas como o Otvio sempre comenta, temos de fato uma grande Janela de Oportunidades diante de ns, com a criao potencial de novos negcios, novas combinaes de infraestrutura e solues bem sofisticadas. Antes de pensar simplesmente em colocar sua aplicao na nuvem, procure identificar qual o cenrio envolvido e quais benefcios voc est perseguindo para sua soluo. 7) O futuro vai ser uma grande nuvem? Essa pergunta me lembra as diversas arquiteturas dominantes que j vimos nos ltimos 30/40 anos. A arquitetura Client/Server j foi colocada como o futuro do ambiente de TI nos anos 80, assim como solues Web eram a promessa definitiva nos anos 90. Depois vimos a viso de servios de SOA como a soluo de nossos problemas, mas de fato percebemos que hoje, convivemos com todas essas arquiteturas ao mesmo tempo. bem provvel que o futuro seja um MIX de vrias tecnologias, onde nossas solues iro aproveitar os benefcios do ambiente local, do ambiente corporativo, de servios Web assim como de servios hospedados na nuvem. Cada indstria ou empresa ir definir sua combinao ideal entre on-premise e cloud computing. 8) Quando o Windows Azure vai chegar no Brasil?

120

Durante o PDC09 foi anunciado que o Brasil teria seu lanamento comercial do Windows Azure no segundo trimestre de 2010. Estamos perto!!! Assim que tiver a data pblica eu aviso por aqui! 9) E o datacenter? Teremos datacenter no Brasil? Hoje temos 6 centros disponveis para o Windows Azure e creio que Amrica Latina tambm ter o seu no futuro. Ainda no temos a definio sobre quais pases hospedaro esses datacenters ou mesmo datas de lanamento. Vamos aguardar! 10) Tem algum ppt que eu possa usar para explicar isso para outras pessoas? Claro! Veja um deck que publiquei um tempo atrs sobre Cloud Computing. Vale algumas atualizaes em seu discurso, mas adicionando os comentrios deste post creio que um bom material para comear: Cloud Computing Windows Azure Ref.: http://www.slideshare.net/wcamb/aab308-cloud-computing-windows-azure-wcambpdf E como leitura obrigatria, recomendo o Training Kit do Windows Azure, abaixo: Windows Azure Platform Training Kit - December Update Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83B309-53B7B77EDF78&displaylang=en 11) Como fao a estimativa de custos e anlise de retorno sobre uso do Windows Azure? Excelente pergunta! :) Aqui, cabe o post sobre a ferramenta TCO Calculator, que publiquei um tempo atrs: Windows Azure: Calculadora para TCO e ROI Ref.: http://blogs.msdn.com/wcamb/archive/2009/12/05/windows-azure-calculadora-para-tco-eroi.aspx 12) Depois disso tudo, o que eu preciso instalar na minha mquina para desenvolver para o Windows Azure? Para criar uma estao de trabalho, voc precisa instalar os pacotes a seguir: Windows Azure Software Development Kit (February 2010) Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=DBA6A576-468D-4EF6877E-B14E3C865D3A&displaylang=en Windows Azure Tools for Microsoft Visual Studio 1.1 (February 2010) Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-98434EB40B297AB6&displaylang=en

121

Confira o esse post aqui para maiores informaes. 13) Para terminar Para terminar, recomendo tambm dois outros posts em especial: Cloud Computing para CIO e Gerentes de TI Ref.: http://blogs.msdn.com/wcamb/archive/2009/12/10/cloud-computing-para-cio-e-gerentesde-ti.aspx Windows Azure: Server & Cloud Division no ar! Ref.: http://blogs.msdn.com/wcamb/archive/2009/12/09/windows-azure-server-cloud-divisionno-ar.aspx O blog do time do Windows Azure esse abaixo, sempre vale acompanhar seus comentrios: Windows Azure Team Blog Ref.: http://blogs.msdn.com/windowsazure/ 14) Mais uma? Sim! Hoje, Steve Ballmer falou sobre Cloud Computing, no deixe de conferir o vdeo:

Microsoft on Cloud Computing: Live Webcast Ref.: http://www.microsoft.com/presspass/presskits/cloud/liveEvent.aspx Ento pessoal? Ficou um pouco mais claro? Espero que sim! Em breve, vou publicar novos posts com mais detalhes sobre a plataforma Windows Azure. Por enquanto s! At o prximo post :) Waldemir.

122

Opes para processamento distribudo...


Thu, Dec 17 2009 11:52 AM Ol pessoal, tudo certo? Ontem tive uma discusso interessante com o arquiteto da Microsoft Services, Marcos Pedroso. Ele sempre est envolvido em projetos de impacto no mercado, seja pela complexidade ou pelas restries e SLAs envolvidos na soluo. Grande Pedroso! :) Uma questo que conversamos foi sobre o uso de um modelo de cloud para cenrios de paralelismo e distribuio de processos em clculos financeiros. Existem mesmo diversos cenrios onde patterns como o Map Reduce se aplicam de forma natural. Para quem no conhece, o desenho abaixo ilustra esse pattern, que apesar de antigo, ficou mais conhecido pelo pessoal da Google, quando o utilizaram para processos de search na Web.

Explicando: A idia termos um processo master que divide uma massa para processamento entre diversos workers, que executam a tarefa programada em blocos da massa de dados original. Dessa forma, distribumo o processamento inicial entre diversos ns de computao, gerando um paralelismo na soluo. Ao final, os vrios resultados so devolvidos para o master, que realiza a consolidao dos resultados. Simples no? J tive diversos projetos em .NET que fizeram algo parecido, utilizando classes como Threads para a diviso manual dos blocos de processamento entre as diversas threads. Funciona muito bem! Porm, a implementao manual desse tipo de pattern no trivial e exige alguns cuidados quando falamos de cenrios mais complexos. Como alternativa para a programao manual, podemos usar algumas opes de paralelismo e escalabilidade na plataforma Microsoft. 1) HPC High Performance Computing A primeira delas o HPC High Performance Computing, que oferece um motor de paralelismo e distribuio de processamento pronto para essa diviso de workers, aproveitando ainda uma infraestrutura de vrios processadores (multi-core) ou vrias mquinas colocadas. Entre as caractersticas do HPC temos a possibilidade de trabalhar com mais de 1000 ns

123

workers, execuo sobre o Windows Server 2008 R2, suporte para bancos de dados remotos envolvidos na soluo, Job Scheduling (um recurso importante para alguns cenrios), etc. Um desenho que ilustra o cenrio de distribuio de processamento com o Microsoft HPC aparece abaixo:

Explicando: o desenho acima ilustra um cenrio simples de aplicao do Microsoft HPC, onde vemos a rede privada com os vrios ns de computao (Compute Node), coordenados pelo WCF Broker Node, que realiza o papel de Master no modelo Map Reduce. Tambm vemos o cluster de SQL Server e os demais componentes de infraestrutura da soluo, como AD, File Server, System Center e Mail Server. um cenrio aplicvel para diversas empresas e vale muito ser estudado! Para saber mais sobre HPC na plataforma Microsoft, confira: Ref.: http://www.microsoft.com/hpc/en/us/default.aspx 2) Private Cloud e o Dynamic Data Center Toolkit Outra opo interessante a chamada private cloud. Na plataforma Microsoft isso aparece atravs do Dynamic Data Center Toolkit (DDCT), que hoje est disponvel para cenrios de Hosting, mas em breve, estar com uma verso para Enterprise. Conversei rapidamente com o Fbio Hara (outro monstro sagrado do mundo de TI, hi! arigato!), que me apresentou alguns cenrios corporativos que podem implementar um modelo de private cloud, aproveitando toda a infraestrutura e investimentos j feitos internamente.

124

Veja ainda o post abaixo, do time de produto falando sobre a soluo DDCT/E para o mundo Enterprise: Ref.: http://blogs.technet.com/ddcalliance/archive/2009/09/28/dynamic-data-center-toolkitcoming-to-an-enterprise-near-you.aspx Para saber mais sobre Dynamic Data Center Toolkit e private cloud, confira o link abaixo: Microsoft Private Cloud Computing Infrastructure Ref.: http://www.microsoft.com/virtualization/en/us/private-cloud.aspx 3) Public Cloud e o Windows Azure Finalmente, podemos aplicar um cenrio de paralelismo e distribuio de processamento com alta escalabilidade e alta disponibilidade atravs do modelo de public cloud, na Microsoft oferecido pelo Windows Azure. Aqui, nosso pattern de Map Reduce ficaria assim:

Explicando: uma Web Role, por exemplo, pode implementar um servio WCF para o recebimento de dados para processamento, realizando a distribuio entre os vrios Workers internos da soluo. Essa passagem pode ser feita por filas (Queues), para o desacoplamento entre Web e Worker. Ao final, os vrios blocos de resultados so devolvidos para a camada Web por tabelas, preparadas para o cenrio de alta escalabilidade na plataforma Azure. A consolidao feita pela Web Role Master, que devolde o resultado final do processamento. Nesse cenrio de provisionamento elstico, podemos ainda configurar on-demand o nmero de ns de processamento, conforme alguma varivel de dimensionamento colocada. Vale lembrar que, como so cenrios de clculo intenso, mas feitos de forma pontual, podemos dinamicamente controlar essa alocao de instncia, reduzindo os custos envolvidos na soluo final. Com certeza, ficar mais barato do que investir inicialmente milhares de dlares em uma super mquina, que pode amargar vrios minutos ou horas de osciosidade ao longo do dia. Falei ainda

125

com o Danielzinho, aqui do time de DPE, que ficou louco pensando em modelos matemticos de clculo em engenharia eltrica, que poderiam aproveitar esse paralelismo sobre o Azure. :) Vimos assim trs cenrios interessantes de processamento distribudo na plataforma Microsoft: 1. Paralelismo via HPC 2. Paralelismo via private cloud, com o Dynamic Data Center Toolkit 3. Paralelismo via public cloud, com a plataforma Windows Azure Faa uma avaliao de seus cenrios e veja se voc no tem uma oportunidade de paralelismo com essas opes. Fique atento! Por enquanto s! At o prximo post :) Waldemir.

126

Captulo 5
Application Platform

Como base de uma discusso sobre evoluo da infraestrutura de TI de uma empresa temos a necessidade de entender a plataforma de aplicaes que usamos. Podemos classificar os diversos recursos presentes na plataforma de aplicaes em grupos de capacidades. Cada grupo de capacidades oferece mecanismos que facilitam o suporte de aplicaes e solues complexas, integradas e que suportam as linhas de negcio da empresa. Nesse captulo, veremos os diversos posts publicados sobre Plataforma de Aplicaes e uma organizao de capacidades proposta para a plataforma Microsoft.

127

Capacidades de uma plataforma de aplicaes


Fri, Oct 15 2010 9:00 AM Ol pessoal, tudo certo? Durante o Tech-Ed Brasil 2010, falei sobre alguns tpicos da plataforma de aplicaes da Microsoft. Um dos destaques foi o Windows Server AppFabric, que tenho explorado bastante por aqui no blog. Nessas ltimas semanas, tambm iniciei alguns projetos que j esto adotando o AppFabric para servios de hosting e caching de aplicaes. Mas neste post, gostaria de relembrar que existem diversos grupos de capacidades em uma plataforma de aplicaes. Em todas as sesses da track APPI do Tech-Ed, apresentamos o seguinte desenho:

Notamos acima 6 grupos principais de capacidades, que agrupam os recursos da plataforma. Em suas solues, voc utiliza recursos para desenvolvimento, integrao, hospedagem de servios e aplicaes, armazenamento e BI, assim como atividades de gerenciamento e segurana. So servios bsicos presentes na plataforma. Consolidando os principais produtos e tecnologias da plataforma Microsoft, temos o seguinte desenho:

128

No desenho acima, no destaquei o que cada produto ou tecnologia implementa como capacidade, apenas citei seus nomes. Mas j deu para perceber que cada grupo de capacidades pode oferecer recursos importantes para uma arquitetura corporativa. Nesse contexto, o Windows Server AppFabric aparece como um componente importante para as capacidades de Hospedagem, Caching e Monitorao de servios, workflows e aplicaes na infraestrutura da empresa. E em sua TI? Voc consegue agrupar quais tecnologias esto entregando quais capacidades para suas aplicaes e reas de negcio? um belo exerccio. Por enquanto s! At o prximo post :) Waldemir.

Planilha de capacidades na plataforma Microsoft


Tue, May 17 2011 9:00 AM Ol pessoal, tudo certo? Semana passada estive com diversas equipes de desenvolvedores e arquitetos, em projetos que estou acompanhando no mercado. Os cenrios passaram por algumas tecnologias como Silverlight 4, Windows Phone 7, Windows Azure, ASP.NET 4, WPF, WCF, WF, ASP.NET MVC, WIF, Windows Server AppFabric, SharePoint Server 2010, SQL Server 2008 e AD FS 2.0.

129

De fato, precisamos lembrar aqui que essas tecnologias podem ser agrupadas em pilares de capacidades de uma plataforma de aplicaes, como vemos no desenho a seguir:

Quando olhamos de perto cada pilar, podemos agrupar as tecnologias e produtos Microsoft como vemos a seguir:

Voc j deve ter visto esses desenhos por aqui, em posts anteriores, por isso, no se assuste! Mas sempre bom lembrar que a proposta de organizar os recursos de sua TI em grupos de capacidades uma excelente prtica! Fazendo assim, voc pode organizar melhor a estratgia de

130

evoluo de cada pilar, enquanto coordena o atendimento das necessidades de negcio que os projetos exigem de sua arquitetura de TI. Aproveitando as discusses de Assessment que vimos nos posts anteriores, podemos agrupar nossas aplicaes nos seguintes grupos gerais:

Business Management Application / Aplicaes para Gerenciamento de Negcios Business Productivity Application / Aplicaes para Produtividade Core Infrastructure Application / Aplicaes de Infraestrutura Web Applications / Aplicaes Web Outras Aplicaes (mais especficas ou fora da lista acima)

Agora pense para cada grupo acima quais grupos de capacidades so mais importantes ou estratgicos em determinado momento. Esse exerccio ir ajudar na priorizao de esforos e necessidades de evoluo, para os projetos criticos de sua empresa. Espero separar um tempinho para fazer alguns desses mapeamentos, para compartilhar com o leitor. Talvez uma matriz no Excel seja um caminho interessante para esse mapa, algo como vemos a seguir:

131

O que acha? Fique a vontade para explorar alternativas e criar a sua. Pode ser uma boa ferramenta para estudar suas opes de plataforma e tipos de aplicaes em produo. Por enquanto s! At o prximo post :) Waldemir.

.NET Framework 4 Recursos para uma plataforma de aplicaes


Wed, Jun 9 2010 9:00 AM Ol pessoal, tudo certo? Ainda falando sobre .NET Framework 4, podemos contextualizar os recursos do .NET 4 como um substrato para aplicaes numa plataforma. Essa viso foi bem comentada pelo arquiteto David Chappell, em uma de suas sesses aqui no Brasil, na semana passada. Aproveitando um de seus desenhos, veja o que Mr. Chappell destaca como principais componentes de uma plataforma de aplicaes:

No desenho abaixo, vemos que uma aplicao exige um suporte local, que oferecido para um sistema operacional especfico. Suporte local e S.O formam o fundamento para execuo de nossa aplicao. Ao mesmo tempo, precisamos de uma ferramenta de desenvolvimento que seja compatvel e que aproveite os recursos do suporte local, para a construo de nossas aplicaes.

132

Nossa aplicao pode ainda usar recursos da infraestrutura local, como armazenamento, integrao, identidades, controle de acesso, segurana, etc, essenciais para a integrao com demais sistemas do ambiente local. Finalmente, nossa aplicao tambm pode oferecer servios para usurios e outros sistemas, que iro consumir as funcionalidades implementadas para uma determinada necessidade de negcio. O desenho acima bem ilustrativo e representa muito bem os principais componentes de uma plataforma de aplicaes. Contextualizando o desenho para a plataforma Microsoft, veja algumas peas no desenho abaixo:

O que fiz no desenho acima foi colocar alguns dos representantes da plataforma Microsoft nos principais componentes de plataforma de aplicaes. Assim, vemos o Windows 7, Windows Server 2008, IIS, AppFabric e .NET 4.0 como parte do fundamento de uma aplicao. Ao mesmo tempo, Visual Studio a ferramenta para desenvolvimento na plataforma Microsoft. Nossas aplicaes podem consumir servios de infraestrutura e recursos como armazenamento em SQL Server, integrao como BizTalk Server, barramento de servios, identidade, autenticao e autorizao com AD, ADFS v2., etc. Finalmente, podemos exportar funcionalidades para usurios consumidores atravs de Web Services, servios WCF, pginas ASP.NET, PHP, etc. Com essa viso, o .NET Framework 4 aparece como parte de uma plataforma completa, oferecendo recursos para a construo de aplicaes Web, Desktop, Mobile, Enterprise e para a Nuvem. Para cada cenrio de aplicao, um determinado conjunto de recursos do .NET 4 ser usado, assim como uma arquitetura de referncia mais adequada. Para conhecer as principais

133

arquiteturas de referncia presentes na plataforma Microsoft, no deixe de conferir o Application Archicteture Guide 2.0, a seguir: Application Architect Guide 2.0 Ref.: http://apparchguide.codeplex.com/ Ainda, durante a construo de nossa aplicao podemos aproveitar alguns blocos de aplicaes prontos, como caching, tratamento de exceo, validao, configurao, etc, que esto presentes na verso 5.0 da Enterprise Library, a seguir: patterns & practices Enterprise Library Ref.: http://entlib.codeplex.com/ Microsoft Enterprise Library 5.0 April 2010 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyId=bcb166f7-dd16-448b-a1529845760d9b4c&displaylang=en#filelist E para conhecer um pouco mais dos principais recursos do .NET 4, confira o Training Kit, a seguir: Visual Studio 2010 and .NET Framework 4 Training Kit April 2010 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732A383-ED5740F02E93&displaylang=en Por enquanto s! At o prximo post :) Waldemir.

Recomendaes para projetos de migrao e evoluo de plataforma Parte 2/2


Sat, Apr 3 2010 8:00 AM Ol pessoal, tudo certo? No post anterior, falamos sobre alguns desafios em projetos de migrao e evoluo de plataforma que temos hoje em dia. Na verdade, muitas dessas questes so independentes de plataforma, seja para Microsoft, Java, Sun, Oracle, SQL, etc. Vamos continuar o assunto com algumas recomendaes mais que gostaria de compartilhar com vocs, a seguir: 1. Um projeto de migrao normalmente comea focado na interface ou em suas regras de negcio, aquelas que no esto no banco de dados. Isso um erro, pois muitas vezes, o

134

impacto maior de desempenho e otimizao est diretamente no modelo de dados do projeto. Antes de determinar qualquer tecnologia alvo para sua migrao, procure avaliar o estado de seu modelo de dados, sua administrao, estatsticas de uso, principais estruturas e stored procedures em uso, tabelas ou instncias que estejam obsoletas. Em muitos projetos de evoluo que buscavam melhorias de desempenho, a evoluo tecnolgica poderia focar apenas o banco de dados com excelentes resultados, devido a pequena participao dos componentes de software fora do banco ao longo da transao. Pense nisso: migrar de VB4 para .NET 4.0 pode at piorar a performance final do projeto, se o modelo de base de dados e suas integraes com outros sistemas no forem avaliadas. Pense no banco com carinho! 2. Para enfatizar, considere o envolvimento de um profissional de banco de dados para tarefas de otimizao e modelagem para a nova arquitetura, durante seu projeto de migrao/evoluo de tecnologia. No ignore as otimizaes no modelo de dados ao longo do projeto, por mais complexo que seja o modelo. 3. Muitos projetos construdos na dcada de 90 ainda esto em operao, oferecendo funcionalidades no modelo CLIENTE / SERVIDOR. Ao longo do tempo, alguns web services e uma camada de servios mal-acabada foi adicionada ao sistema, atendendo demandas entre departamentos. Pensando em evoluir seu projeto C/S, faa uma anlise sobre a nova arquitetura proposta, prevendo uma organizao em mltiplas camadas, com interface, processos, servios e acesso a dados. Identificar corretamente uma camada de funcionalidades expostas como servios pode eliminar diversos problemas de integrao com outros sistemas. Aproveite essa oportunidade e pense em servios com WCF e WF! 4. Outra questo interessante sobre a nova abordagem do projeto: a migrao deve manter o modelo desktop? ser usado um modelo Web? vamos criar um modelo autoconfigurvel como SAAS, usando MVC? teremos novas interfaces alvo como dispositivos mveis? Procure separar os aspectos de migrao das novas demandas de projeto e aspiraes dos usurios de negcio. Evite trabalhar 3 ou 4 projetos mascarados num nico projeto de migrao tecnolgica. Mas acima de tudo, defina com um bom embasamento se seu sistema ser Web, Desktop ou SmartClient. 5. Um projeto de migrao no envolve apenas questes tcnicas e decises sobre arquitetura: tambm envolve uma estratgia de evoluo e entrega dos novos mdulos do projeto. Existem diversas abordagens possveis nesse processo: podemos congelar a verso atual do projeto original e construir um ncleo na nova plataforma, que ser a indicada para as novas funcionalidades. Ao mesmo tempo, as funcionalidades migradas vo sendo desligadas do velho sistema e disponibilizadas apenas no novo. Outra abordagem a construo em paralelo, onde o projeto original continua sendo mantindo, enquanto que um projeto novo construdo, migrando funcionalidades. Em um certo momento, um conjunto completo de funcionalidades liberado na nova plataforma. Seja atravs de uma abordagem gil e emergente de construo ou atravs de um modelo radical de virar a chave para o novo sistema, separe um bom tempo para pensar na estratgia de migrao e evoluo de seu projeto.

135

6. Para terminar, a nova plataforma deve envolver novas capacidades nos times de desenvolvimento e infraestrutura. Procure identificar qual ser o impacto para sua operao e manuteno na nova plataforma, pensando no plano de capacitao e atualizao tecnolgica dos times envolvidos. Outro aspecto importante sincronizar ao longo do tempo seu projeto com a infraestrutura da empresa. A nova arquitetura exige componentes de um novo sistema operacional? Ele j est homologado? Algum impedimento para o uso de .NET 3.5 ou .NET 4.0? Algum processo formal para a liberao do Windows Server 2008 R2? Temos SharePoint no licenciamento da empresa? Manter o arquiteto de infraestrutura ou responsvel envolvido no projeto obrigatrio para se evitar surpresas no momento mais importante, o deployment! Para terminar, continua valendo a dica: faa um belo estudo sobre as necessidades de negcio atuais de seu projeto e aproveito o momento para consolidar funcionalidades ou mesmo eliminar aquelas que no esto mais sendo utilizadas. Por enquanto s! At o prximo post :) Waldemir.

Recomendaes para projetos de migrao e evoluo de plataforma Parte 1/2


Thu, Apr 1 2010 8:00 AM Ol pessoal, tudo certo? Atuando como consultor pela Microsoft Services, participei de diversos projetos na rea financeira. Essa vertical envolve caractersticas muito prprias como questes de desempenho, mensageria assncrona, sistemas de logging, disparo de processos, agendamento de processos, monitorao, tratamento de excees, entre tantas outras. Mas um dos tipos de projetos recorrentes era o de migrao e atualizao tecnolgica. Imagine um sistema de grande importncia desenvolvido numa tecnologias de 5 ou 10 anos atrs:

como migrar? como realizar a atualizao da plataforma? e o impacto para a rea de infraestrutura? que novos servidores sero indicados? como ser a capacitao do time? vamos manter o modelo de dados e mudar apenas os componentes de negcio? vamos mudar a interface do sistema? estamos planejando uma arquitetura de exceo ou vamos aproveitar o projeto para planejar a nova TI da empresa?

136

Perguntas como essas so crticas para o arquiteto de solues e cada empresa possui um cenrio prprio que deve direcionar essas decises. Recentemente, estive com um time da rea financeira enfrentando esse tipo de projeto, envolvendo a atualizao da plataforma diante de um sistema muito antigo e igualmente importante. Entre as tecnologias usadas tivemos VB4, VB5, VB6, COM+, pginas ASP 3 e componentes de acesso ADO e COMTI (lembra da COMAREA?) Algumas recomendaes que passei para o time vou compartilhar aqui com vocs vejam: 1. A primeira pergunta antes de comear o projeto : por que voc quer migrar? Procure identificar se temos uma demanda de performance, de usabilidade, de suporte, de interface, funcionalidades ou se um desejo do usurio de negcio, pensando em novas oportunidades para seu sistema. A correta identifcao da demanda original para essa migrao crtica para orientar o sucesso do projeto. 2. Se o projeto antigo, muito provvel que diversos usurios de negcio e desenvolvedores tenham passado pelo sistema. Isso deve ter provocado a adio de diversas funcionalidades no mais usadas, que apenas fazem parte da verso em produo. Procure identificar se esse o caso e se antes do processo de migrao, no seria vivel a eliminao de funcionalidades, funes e interfaces obsoletas, economizando muitas horas de projeto. 3. Da mesma forma, um sistema legado pode ser composto de mais de um processo ou projeto de software. Em muitos casos, a consolidao de sistemas possvel e pode oferecer benefcios enormes para a administrao e evoluo futuras do projeto. Procure identificar se mdulos e sistemas no podem ser consolidados, eliminando funcionalidades redundantes e otimizando os passos de navegao e interao dos usurios de negcio com seu novo sistema. 4. Projetos de grande porte possuem dezenas, centenas de telas de entrada de dados, assim como interfaces customizadas para diferentes perfis de usurios de negcio. Ao longo do tempo, o projeto original perdido e em muitos casos, novas interfaces e perfis de usurios so adicionados ao projeto sem respeitar modelos ou padronizaes de acesso, criando grandes problemas de manuteno. Procure identificar se esse o caso. Se afirmativo, pense em uma abordagem atualizada para o controle de acesso, customizao de interfaces dinmicas e autenticao / autorizao para seus usurios de negcio. Esse ser um bom momento para incluir aspectos de segurana que tenham sido perdidos ao longo do tempo. 5. Se o projeto em estudo envolve uma arquitetura de duas camadas CLIENTE / SERVIDOR, muito provvel que regras de negcio estejam tanto na camada de interface do usurio como tambm em stored procedures colocadas no banco de dados. Em muitos casos, outros sistemas so consumidores dessas mesmas stored procedures, competindo pelos recursos do banco de dados. Em outros casos, VIEWS diversas foram criadas para a exportao de dados para sistemas adjacentes e sofrero com qualquer manuteo ou mudanas de interfaces. Procure mapear quais projetos so usurios de

137

seu sistema. A identificao desses pontos de contato pode nos dar indcios sobre a necessidade futura de servios, hubs de integrao ou web services para outros departamentos. Sem dvida, cada projeto uma caixinha de surpresa, mas um projeto de migrao/evoluo tecnolgica pode ser tornar um container inteiro e no de Windows Azure!! :) Por isso, faa uma boa anlise sobre os reais requisitos e necessidades atualizadas do sistema, ao invs de apenas migr-lo para uma nova plataforma: resista a essa tentao!!! No prximo post, vamos continuar esse assunto com algumas outras recomendaes tambm importantes, aguardem! Por enquanto s! At o prximo post :) Waldemir.

138

Algumas palavras sobre Projetos de Misso Crtica


Fri, Nov 6 2009 8:01 PM Ol pessoal, tudo certo? Essa semana acompanhei algumas discusses no forum do Grupo .NET Architects. Entre vrios assuntos, um em especial chamou minha ateno: projetos de Misso Crtica. O que voc entende por um Projeto de Misso Crtica? Do wikipedia temos que o termo Misso Crtica refere-se a qualquer fator (equipamento, processo, procedimento, software, etc.) que seja crucial para o sucesso ou completude de uma atividade ou projeto. Tambm pode se referir a um projeto cujo o sucesso vital para a misso da organizao ou negcio da empresa. Falando em projetos, vejamos alguns exemplos que considero de Misso Crtica: - Um sistema de controle e coleta de dados de um projeto em Fsica Experimental para criao de estado de plasma, rodando sobre sistema operacional Debian/Linux, com processos em C, usando pilha TCP, pode ser considerado de misso crtica para o laboratrio, devido as restries e riscos envolvidos na monitorao e controle de equipamentos; - Um ncleo de negociao para o mercado financeiro, tratando milhes de operaes/dia, envolvendo mensageria em banco de dados, cache distribudo, gerenciamento de recursos em memria, etc., com requisitos rgidos de baixa latncia, tambm um exemplo de misso crtica; - Um SDCD Sistema Digital de Controle Distribudo para monitorao e atuao de bicos de leo em caldeiras para a gerao de vapor num planta industrial, tambm um belo exemplo. Vapor um elemento chave em diversos processos industriais, de petroqumicas a processamento de atum em lata :) - Um monitor transacional de alto desempenho, aplicando conceitos como ACID, MUTEX, CRITICAL SESSIONS, SEMFOROS, rvores de falhas, etc, outro exemplo. Uma leitura obrigatria sobre o assunto o livro Transaction Processing, confira aqui! - Um sistema SaaS Software as a Service sobre algum provedor em nuvem, para uma soluo multi-inquilino com interfaces Web, responsvel pelo ncleo de faturamento da empresa, de misso crtica, com requisitos de disponibilidade, responsividade e desempenho. Imagine um sistema SaaS para a venda de ingressos do show de Eric Clapton ou B.B. King! :)

139

- Um sistema de automao para controle de caixas margem de via, por exemplo, para determinao de presena de trens de metr e vages em trechos da via, abertura de portas, desvios de ramais, movimento, etc. O prprio controle do carrossel de composies na via tambm crtico. Qual o trem mais seguro? Um trem parado ou um trem na oficinal, fora da via? :) - Um sistema para contabilidade e bilhetagem de chamadas em telefonia celular, tambm crtico; - Em muitos cenrios, at mesmo um sistema de emails um sistema de misso crtica para a empresa. Algumas corporaes simplesmente param ou perdem negcios em casos de falha em suas caixas postais, por mais commodities que possam parecer. Impacto financeiro a vista!; - Um sistema de controle de equipamentos mdicos, como scanners, tomgrafos, dispositivos de ultra-som, leitores dopplers em tempo real (opa!), entre outros mais sofisticados em medicina, so extremamente crticos em seus resultados. Considero todos os exemplos acima como sistemas de Misso Crtica em diferentes nveis, pois envolvem riscos para o negcio da empresa. Assim, podemos destacar trs tipos de riscos envolvidos:

Riscos Materiais; Riscos Financeiros; Riscos envolvendo Vidas Humanas;

Alguns sistemas de Misso Crtica podem envolver requisitos de Tempo Real (Real Time), isto , janelas de atuao e tempos resposta bem definidos, que devem ser respeitados. Nesses casos, o nmero de processos envolvidos, o volume ou o nmero de chamadas disparadas no deve interferir no tempo de resposta do sistema. Qual o tempo de resposta envolvido no tempo real (em milisegundos, por exemplo)? Depender do cenrio que estamos tratando, seja um canal de feeders de notcias com filtros sobre poltica ou mensagens para a abertura de cofres em sistemas de segurana bancrio. Normalmente, condies de tempo real esto envolvidas em cenrios de misso crtica, mas no so obrigatrias. Meu ponto aqui que no podemos considerar como Misso Crtica apenas o aspecto de desempenho e tempo de resposta envolvidos. Para algumas indstrias, outros atributos so to importantes quanto, como o impacto financeiro, disponibilidade e riscos diversos. Quo crtico o sistema em que voc est trabalhando hoje? Ele envolve riscos financeiros, riscos humanos ou riscos materiais?

140

Em resumo, qual o impacto de uma falha em seu sistema para a execuo do negcio de sua empresa? Aspectos como recuperao de falhas, tratamento de excees, rvore de falhas, etc., tornam-se importantes em muitos casos. Uma vez identificado o cenrio de misso crtica, como conduzir o projeto? Algumas perguntas so recorrentes neste momento, como:

Qual o melhor sistema operacional para cada cenrio? Qual a melhor linguagem de programao para cada cenrio? Qual a melhor abordagem de patterns para cada cenrio? Quais so as restries de memria e disco para o SO? Poucos recursos? Desktops? Servidores? Quais so as necessidades de comunicao com dispositivos e perifricos diversos nesse ambiente de misso crtica? Quais so os drivers disponveis para o SO escolhido? Teremos que implementar esses drivers? Existem fornecedores no mercado? Quais so as latncias de rede e pilhas de transporte suportados? O TCP suficiente? IPv6? Vamos precisar adotar protocolos de Tempo Real (RTP Real Time Transport Protocol)? Vamos implementar bindings customizados para a entrega de mensagens com baixa latncia? Transporte customizado? Qual a necessidade por tempo real, paralelismos de processos, high performance computing, cluster computing ou grid computing?

Sem falar ainda em questes adjacentes, como:


Qual ser o suporte necessrio para a soluo? Como ser evoluo da pilha de software ao longo do tempo? Qual o perfil de profissionais capacitados, exigidos para o projeto? Quais so os guias de desenvolvimento e patterns disponveis? Quais so as ferramentas para a construo de software, metodologias, documentao, etc.

Atravs aqui do blog, temos acompanhado a plataforma Microsoft e seu suporte para aplicaes de misso crtica em diferentes nveis. Existem diversos recursos que atendem esses cenrios, seja sobre a plataforma .NET ou mesmo sobre cdigo no gerenciado, com processos em C++ sobre Windows Server. No ambiente gerenciado, recursos como interfaces de servios em WCF Windows Communication Foundation, mensageria com MSMQ, paralelismo, sincronizao e sistemas de integrao com baixa latncia so alguns exemplos. Em todos os casos, o impacto para o negcio da empresa est presente. Em breve, teremos ainda novos recursos disponveis na plataforma Microsoft, como o Dublin (para hospedagem de servios e processos sobre o Windows Server), o Velocity (para cache distribudo e aplicaes de alto desempenho), novos recursos sobre WCF 4 e WF 4, alm da

141

integrao com a plataforma de alta escalabilidade e disponibilidade do Windows Azure, que j est em contagem regressiva para seu lanamento, durante o PDC 2009. Finalizando, procure identificar em quais cenrios de Misso Crtica voc est pessoalmente envolvido e como ser a evoluo destes nos prximos meses. Voc vai perceber que sua TI tem um impacto direto para o sucesso de sua empresa! Por enquanto s! At o prximo post :) Waldemir.

142

Captulo 6
Windows Azure Platform

Sem dvida, o tema mais presente do blog nesses ltimos anos foi a plataforma Windows Azure. Desde seu anncio em Outubro de 2008, usei o blog como memria dessa evoluo, falando sobre os diferentes recursos, ferramentas e pacotes de suporte para a plataforma Azure ao longo do tempo. Mais recentemente, diversas empresas comearam estudos srios de mapeamento de aplicaes e sistemas existentes, procurando reconhecer quais seriam os sistemas mais indicadas para uma migrao para a plataforma na nuvem. Neste captulo, confira alguns dos principais posts sobre a plataforma Azure, assim como a evoluo de suas ferramentas e patterns de aplicaes.

143

Arquitetura de aplicaes para o Windows Azure e estimativas de custos


Fri, Jul 8 2011 9:00 AM Ol pessoal, tudo certo? No post anterior, falei de exemplos de arquiteturas de aplicaes, baseado no Application Architecture Guide 2.0. Seguindo essa linha, veja um desenho bsico de componentes para uma aplicao no Windows Azure:

At aqui, nada de novo. Voc j sabe que podemos utilizar uma camada de atendimento Web atravs de Web Roles do Windows Azure, assim como uma camada de servios ou regras de negcios implementadas em Worker Roles. Essas roles podem se comunicar atravs de tipos do Azure Storage, como blobs, tables e filas. A partir desse desenho, uma pergunta frequente sobre como implementar uma arquitetura tradicional em camadas atravs desses componentes. A figura abaixo ilustra um exemplo para o Windows Azure.

144

No desenho acima, vemos uma camada cliente formada por diferentes tipos de interfaces, como front-end mobile, desktop e web. Essa camada pode ser implementada atravs de tecnologias como ASP.NET WEB FORMS, ASP.NET AJAX, ASPE.NET MVC, SILVERLIGHT, etc. No ambiente Windows Azure, a aplicao hospedada atravs de 3 componentes importantes: - uma camada de atendimento de requisies, formada por WEB ROLES e WCF WEB ROLES; - uma camada de regras de negcios formada por WORKER ROLES, consolidando as camadas de negcio e acesso a dados; - uma camada de dados, baseada em WINDOWS AZURE STORAGE e / ou SQL AZURE.

145

Se voc usar esse modelo bsico de implementao, podemos at calcular o custo de instncias mensal, atravs da Calculadora do Windows Azure. Vamos considerar os seguintes componentes:

2 web roles + 2 web wcf roles + 1 worker role = 5 instncias de Azure Roles do tipo Small Instance; uma base de dados SQL Azure de 5 GB; Azure Storage de 10 GB; Data Transfer de 100 GB; 20 K transaes de autenticao no Access Control; 20 conexes de Service Bus, pensando em serivos publicados no Azure AppFabric;

Claro, usei os valores acima como uma estimativa bsica, a partir de uma aplicao que acompanhei recentemente, com alguns arredondamentos. Veja como ficou a estimativa de custo na calculadora Windows Azure Pricing Calculator:

Windows Azure Princing Calculator Ref.: http://www.microsoft.com/windowsazure/pricing-calculator/ No final, alm de recomendar a contratao do tipo PAY-AS-YOU-GO, a calculadora fornece uma estimativa de custo

146

de US 548.61 / ms, algo em torno de R$ 858,80 / ms, considerando o cmbio de R$ 1.5654 o dolar em 06 de Julho. O que isso significa? Por menos de R$ 900,00 por ms, temos uma infraestrutura de 5 mquinas (tipo Small = 1 CPU 1.6 GHz, 1.75 GB RAM, 225 GB HD) com alta disponibilidade, balanceamento de carga automtica e nvel de servio (SLA) de 99.9% pronta para uso. Ainda, possvel desmobilizar toda essa infraestrutura a qualquer momento, quando o cenrio no for mais necessrio. Da mesma forma, poderemos expandir sua capacidade, aumentando dinamicamente o nmero de instncias ou capacidades de armazenamento, se a aplicao exigir. No clculo acima, estamos considerando cada instncia ligada por 750 horas por ms, ou seja, estamos considerando cada instncia ligada 24 horas por dia, os 30 dias do ms. Se essa soluo no precisar de 750 horas por ms de UP TIME, o custo ser bem menor. Considere agora os custos no contemplados de manuteno, gerenciamento, hardware, conectividade, licenciamentos, etc. no ambiente local (on-premise). Veja os tipos de instncias disponveis na plataforma Windows Azure, para lembrar:

Ref.: http://www.microsoft.com/windowsazure/compute/ Interessante, no? Tenho falado com alguns arquitetos e muitas vezes ficamos em dvida sobre comparao de custos on-premise e nuvem. Por isso, parar um pouco e fazer algumas contas pode ser importante para fundamentar a discusso. No deixer de separar um tempinho para detalhar ainda mais essa anlise, considerando sua carga transacional, o volume de dados de entrada e sada, nmero de conexes de servios e nmero de transaes no Access Control. Alguns links importantes so:

147

Windows Azure Guidance Ref.: http://wag.codeplex.com/ Windows Azure Security Guidance Ref.: http://azuresecurity.codeplex.com/ Now Available: Windows Azure Security Notes PDF Ref.: http://blogs.msdn.com/b/jmeier/archive/2010/08/03/now-available-azure-security-notespdf.aspx Por enquanto s! At o prximo post :) Waldemir.

Windows Azure AppFabric Services Integration


Fri, Jul 1 2011 9:00 AM Ol pessoal, tudo certo? No post anterior, falamos sobre o Azure AppFabric Applications, uma viso que deve oferecer um conjunto de servios de infraestrutura na plataforma Windows Azure, permitindo a construo de aplicaes na nuvem, integradas com o ambiente local. Alm disso, componentes como AppFabric Container e AppFabric Middleware Services devem facilitar a composio de aplicaes e servios, tornando o desenvolvimento de soluces ainda mais flexvel. Existem diversos componentes que esto sendo desenvolvidos nesse caminho, no algo da noite para o dia. Um dos componentes importantes ser a integrao entre ambiente on-premise e a nuvem, atravs do Azure AppFabric Integration. Veja:

148

Windows Azure AppFabric Integration Ref.: http://www.microsoft.com/windowsazure/appfabric/overview/#top Em breve , o AppFabric Integratio deve ser disponibilizado como CTP. Vamos aguardar! Veja ainda esse post anterior AppFabric para composio de servios: viso AppFabric Composite App Ref.: http://blogs.msdn.com/b/wcamb/archive/2011/01/22/appfabric-para-composi-231-227-ode-servi-231-os-vis-227-o-appfabric-composite-app.aspx Por enquanto s! At o prximo post :) Waldemir.

Windows Azure AppFabric Services preparando o caminho para a composio de aplicaes locais e na nuvem
Thu, Jun 30 2011 9:00 AM Ol pessoal, tudo certo? No post anterior, falei rapidamente sobre o mapa de recursos gerais da plataforma Windows Azure. Um dos componentes citados o AppFabric Services. De fato, o Windows Azure AppFabric est sendo apresentado agora como um concentrador de servios de middleware para aplicaes na nuvem, consolidando servios como:

Caching Barramento de Servios Controle de Acesso Integrao Composio

Porm, a viso ainda maior, onde teremos em breve um AppFabric Container tambm, que far o hosting de componentes customizados e roles do Windows Azure. Ou seja, sobre as roles de Web Role e Worker Role (que j podemos controlar quanto ao nmero de instncias, configurao de SO, etc.), teremos abstraes como Web sites prontos, RIA Services, RIA Apps, WCF Services, etc., prontos para uso, que estaro hospedados sobre o novo AppFabric Container, consumindo recursos de infraestrutura na nuvem oferecidos pelo AppFabric Services. A figura abaixo ilustra o mapa geral de servios e integrao entre o ambiente on-premise e o ambiente Windows Azure, como anunciado no ltimo Tech-Ed North America, veja:

149

Em resumo, a evoluo do Azure AppFabric promissora. Ele deve se tornar parte muito importante no apenas para cenrios de integrao entre a plataforma on-premise e a nuvem. No futuro, ele deve oferece recuros de abstrao de servios e aplicaes na nuvem, alm de funcionalidades para INTEGRAO e COMPOSIO de aplicaes na nuvem e no onpremise. Veja mais no blog abaixo: Ref.: http://blogs.msdn.com/b/appfabric/archive/2011/06/20/introducing-windows-azureappfabric-applications.aspx Por enquanto s! At o prximo post :) Waldemir.

Recursos da plataforma Windows Azure um lembrete!


Tue, Jun 28 2011 9:00 AM Ol pessoal, tudo certo? Semana passada estive com um grupo tcnico, falando sobre os componentes principais da plataforma Windows Azure. A dvida era sobre o que aquele time de desenvolvedores e arquitetos deveria estudar ou se preocupar, antes de avanar em suas primeiras solues sobre a plataforma na nuvem da Microsoft.

150

Apenas lembrando, o Windows Azure foi anunciado publicamente em outubro de 2008 e est disponvel no Brasil desde Abril de 2010. Ao longo desse tempo, a plataforma tem evoludo e adicionado novos recursos para a construo de aplicaes de alta escalabilidade e volume na nuvem. Atualmente, os principais componentes construtivos na plataforma so: Windows Azure Compute responsvel pela criao de um canal IPSEC seguro e protegido para a comunicao entre servidores e mquinas virtuais locais (on-premise) com Azure Roles na nuvem ( Web Roles, Worker Roles, VM Roles ). Windows Azure Roles que definem os tipos de processos que podemos utilizar na plataforma Windows Azure, para nossas aplicaes e servios. So eles:

Windows Azure Web Role Windows Azure Worker Role Windows Azure VM Role (virtual machine)

Windows Azure Storage responsvel por fornecer tipos de alta escalabilidade como blobs, tabelas e filas, para aplicaes na nuvem, garantindo o acesso sem o lock de recursos sobre o alto volume de requisies na aplicao.

Blobs Tables Queues

Windows Azure CDN responsvel pela criao de um cache para tipos como blobs, permitindo a distribuio regional de contedo, alm do hosting sobre os principais datacentes da plataforma Windows Azure. SQL Azure responsvel pela criao de bases de dados relacionais na nuvem, suportando o mesmo modelo de persistncia e administrao do SQL Server 2008 on-premise. Entre seus principais recursos para sincronizao e relatrios temos:

SQL Azure Data Sync SQL Azure Reporting

AppFabric PaaS Middleware Services conjunto de servios de middleware para aplicaes na nuvem, concentrando funcionalidades como barramento de servios, caching de dados e controle de acesso, atravs dos servios:

AppFabric Caching AppFabric Service Bus AppFabric Access Control Server

151

Tendo esse mapa rpido em mente, voc consegue se organizar sobre o que estudar e por onde comear. Com certeza, o Training Kit da Plataforma Windows Azure leitura obrigatria para esse comeo. Confira! Windows Azure Platform Training Kit - May Update Ref.: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8396 Por enquanto s! At o prximo post :) Waldemir.

Atualizao do Layered Architecture Sample for Azure - Cloud Expense Sample - July 2010
Mon, Jun 27 2011 1:35 PM Ol pessoal, tudo certo? Mas uma atualizao do projeto Cloud Expense Sample est no ar, desde o final de semana, confira!

152

Layered Architecture Sample for Azure Ref.: http://cloudsample.codeplex.com/ Bastante coisa, bela aplicao! Por enquanto s! At o prximo post :) Waldemir.

SLA para Windows Azure AppFabric Service Bus, Access Control e Caching
Tue, May 31 2011 3:00 PM Ol pessoal, tudo certo? Uma documentao que pouco falada mas muito importante sobre os diferentes SLAs praticados na plataforma Windows Azure. Vale a pena conhecer o link abaixo e seus vrios documentos (pequenos mas importantes): Windows Azure AppFabric Service Bus, Access Control and Caching SLAs Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=f8de25ff-0298-49188006-2f8c955d425d A ltima atualizao foi semana passada. Por enquanto s! At o prximo post :) Waldemir.

Calculadora de custos do Windows Azure


Wed, May 25 2011 9:00 AM Ol pessoal, tudo certo? Um pedido recorrente do mercado sobre Windows Azure sempre foi uma calculadora ou planilha para clculo de estimativas de custos sobre a plataforma. Agora temos!!! O time do Windows Azure publicou finalmente uma calculadora com estimativas para o nmero de instncias de diferentes mquinas virtuais (Azure Roles), assim como transferncia de dados, uso de Storage, SQL Azure, etc.

153

O nome da ferramenta Windows Azure Pricing Calculator, confira!

Ref.: http://www.microsoft.com/windowsazure/pricing-calculator/ Sem dvida, uma ferramenta importante que vai ajudar em sua anlise de projetos e estimativas de custos para comparao. Por enquanto s! At o prximo posr :) Waldemir.

Links, SDKs e Tools para a plataforma Windows Azure


Mon, May 23 2011 9:00 AM Ol pessoal, tudo certo? Quando o assunto Windows Azure, links e pacotes esto em constante evoluo. Por isso, segue aqui mais um post com links atualizados sobre a plataforma: Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (March 2011) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c49dadaa5ed018

154

Windows Azure Platform Training Kit - May Update http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B30953B7B77EDF78 Windows Azure AppFabric SDK V2.0 CTP - May Update http://www.microsoft.com/downloads/en/details.aspx?FamilyID=D89640FC-C552-446EAEAD-B1E0D940F31B Windows Azure Toolkit for Windows Phone 7 http://watoolkitwp7.codeplex.com/releases/view/61952 Windows Azure SDK for Java http://www.windowsazure4j.org/ Windows Azure SDK for PHP http://phpazure.codeplex.com/ http://www.interoperabilitybridges.com/projects/php-sdk-for-windows-azure Windows Azure Tools for Eclipse (Plug-in for Eclipse) http://www.windowsazure4e.org/ Azure AppFabric SDK for Ruby http://www.interoperabilitybridges.com/projects/azure-ruby-sdk-for-net-services Windows Azure Storage for WordPress http://www.interoperabilitybridges.com/projects/windows-azure-storage-for-wordpress Por enquanto s! At o prximo post :) Waldemir.

Windows Azure Toolkit for Windows Phone 7


Tue, May 10 2011 9:00 AM Ol pessoal, tudo certo? Quem j viu de perto um Windows Phone 7 rodando sabe o produto show! E o que impressiona tambm so os nmeros, veja:

155

Durante o ltimo evento MIX11 foi anunciado o Azure Toolkit para Windows Phone 7. Ele est disponvel no link abaixo: Windows Azure Toolkit for Windows Phone 7 Ref.: http://watoolkitwp7.codeplex.com/releases/view/61952 Aps a instalao, voc ter a pasta C:\WAZToolkitForWP7, alm de templates para o Visual Studio 2010. Para essa instalao, voc vai precisar dos seguintes pacotes de desenvolvimento na estao: Windows Phone Developer Tools RTW Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=04704acf-a63a-4f97952c-8b51b34b00ce&displaylang=en Windows Phone Developer Tools January 2011 Update Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313912a-f0cca9c7d277 Silverlight for Windows Phone Toolkit - Feb 2011 Ref.: http://silverlight.codeplex.com/releases/view/60291 Aps preparar o ambiente, a pasta de templates CLOUD do Visual Studio oferece novos templates para aplicaes no Windows Azure, como vemos abaixo:

156

Note que agora, alm do template Windows Azure Project, temos o Windows Phone 7 Cloud Application e o Windows Phone 7 Empty Cloud Application. Escolhendo o Windows Phone 7 Cloud Application, temos uma aplicao exemplo que pode ser usada para o incio de nossas aplicaes no WP7. De incio, teremos uma janela para indicar o uso do Azure Storage de nossa preferncia. Para testes locais, podemos selecionar o Storage Emulator, como vemos abaixo:

Logo aps subir a aplicao, podemos executar o template, que composto por dois projetos principais: o projeto do servio no Windows Azure, que vemos abaixo:

157

E o projeto da aplicao para o Windows Phone 7, que vemos a seguir:

Nesse ambiente, podemos desenvolver nossas aplicaes com interface para o Windows Phone 7, com uma excelente produtivida. O toolkit facilita bastante os testes locais e deploy da aplicao para o aparelho. Como j disse por aqui, a dupla dispositivos mveis e computao em nuvem veio para ficar. Assim, pense com carinho em aplicaes para Windows Phone 7 com Windows Azure. Alguns

158

cenrios so nativamente feitos para essa plataforma e devem oferecer uma grande produtividade no desenvolvimento, assim como nos recursos para aplicaes dessa gerao. Experimente! Em posts futuros, vamos estudar alguns cenrios com os recursos do Windows Phone 7 na ponta e o Windows Azure para o suporte da aplicao. Fique ligado! Por enquanto s! At o prximo post :) Waldemir,

O que o Windows Azure?


Mon, Apr 18 2011 9:00 AM Ol pessoal, tudo certo? Um desenho bem interessante que ilustra os principais componentes da plataforma Windows Azure vemos abaixo:

Aqui vemos em destaque os 4 principais grupos de funcionalidades disponveis na plataforma:

Windows Azure : com seus recursos para computao, hospedagem de aplicaes e servios, gerenciamento e armazenamento de dados de alta escalabilidade, via o Azure Storage; SQL Azure : com seus recursos para reporting, persistncia de dados relacional, sincronizao de dados com o ambiente on-premise e gerenciamento de dados na nuvem;

159

Windows Azure AppFabric : com seus recursos para gerenciamento e publicao de servios, atravs do Service Bus, e controle de acesso, atravs do Access Control. Ainda, novos funcionalidades como o Azure AppFabric Caching oferecem novos recursos para aplicao na nuvem; Windows Azure DataMarket : finalmente, o Azure DataMarket oferece mecanismos diversos para billing, gerenciamente de pagamentos, subscrio, informaes sobre servios publicados e relatrios para o controle de aplicaes oferecidas na nuvem. No deixe de conferir o resto do material, no link: What is Windows Azure? Ref.: http://msdn.microsoft.com/en-us/library/dd179367.aspx Por enquanto s! At o prximo post :) Waldemir.

Casos e projetos sobre o Windows Azure


Wed, Apr 13 2011 3:00 PM Ol pessoal, tudo certo? Sempre me perguntam sobre cases de utilizao do Windows Azure e exemplos do mundo real. Assim, depois de conversar com Haroldo Gali, especialista em solues de Azure no Brasil, veja uma lista de exemplos bem interessante: Transport for London Moves to Windows Azure http://blogs.msdn.com/b/windowsazure/archive/2010/12/13/transport-for-london-moves-towindows-azure.aspx Nike http://www.jumpman23mosaic.com/ Lowes http://www.lowes.com/cd_paint+sample+selector_864481435_?cm_cr=Paint-_-Web+Activity_-Paint+A1+1.18.11+Activity-_-SC_Paint++Stain_Area1-_76607_6_cd_paint+sample+selector_864481435_ Netflix http://netflixpivot.cloudapp.net/ Aerlingus http://www.aerlingus.com/

160

Holtl http://www.hoeltl.com/ Rodobens http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?from_info_index=13&infoid= 23865&sid=97 Rock in Rio http://olhardigital.uol.com.br/produtos/central_de_videos/ja-comprou-o-ingresso-do-rock-in-riota-facil http://olhardigital.uol.com.br/produtos/central_de_videos/cloud-computing-o-futuro-datecnologia Demais casos http://www.microsoft.com/windowsazure/evidence/ Gostou!? Assim que novos casos forem publicados, comento aqui com vocs! Por enquanto s! At o prximo post :) Waldemir.

161

Introduo sobre o Windows Azure AppFabric Caching Service


Tue, Apr 5 2011 10:00 AM Ol pessoal, tudo certo? A plataforma Windows Azure voc j conhece, com suas vrias capacidades e recursos para servios, bases de dados relacionais, gerenciamento, hospedagem, etc. De fato, o desenho abaixo ilustra bem os principais componentes da plataforma, veja:

Um desses componentes o Windows Azure AppFabric, que agrupa recursos para hospedagem e execuo de servios na nuvem, com controle de acesso e segurana. Entre os principais grupos de capacidades do Windows Azure AppFabric temos: Service Bus, Access Controle e Caching.

162

Para trabalhar com o Windows Azure AppFabric, voc vai precisar do SDK v2.0 CTP, que teve sua ltima atualizao em Fevereiro, no link abaixo: Windows Azure AppFabric SDK V2.0 CTP February Update Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d89640fc-c552-446eaead-b1e0d940f31b&displaylang=en Este semana, tivemos a publicao de um novo artigo dos especialistas em Azure Karandeep Anand e Wade Wegner, artigo que recomendo com certeza para leitura: Introducing the Windows Azure AppFabric Caching Service Ref.: http://msdn.microsoft.com/en-us/magazine/gg983488.aspx O Windows Azure AppFabric Caching Services oferece a infraestrutura para criao de uma camada de cache distribudo para aplicaes na nuvem, sobre a plataforma Azure. Entre os principais recursos que o Azure AppFabric Caching Services oferece temos:

providers ASP.NET para controle de sesso e pginas, acelarando a adoo de caching para aplicaes Web, sem necessidade de modificao no cdigo; caching para qualquer tipo de objeto gerenciado, sem limite para o tamanho do objeto, sem custo de serializao facilidade para integrao com aplicaes existentes; acesso ao cache de forma segura e autenticada, atravs do Access Control do AppFabric, etc. Pensando em utilizar uma camada de caching na nuvem, para aplicaes como Web Roles ou mesmo WCF Web Roles, o AppFabric Caching Services ir cumprir bem esse papel, do mesmo modo que seu primo AppFabric Caching Services no ambiente local (on-premise), sobre o Windows Server AppFabric. Em posts futuros, vamos falar mais sobre o AppFabric Caching Services e como uma aplicao Azure pode aproveitar seus benefcios. Por enquantp s! At o prximo post :) Waldemir.

Comunicao com Worker Roles via Endpoints


Fri, Apr 1 2011 9:00 AM Ol pessoal, tudo certo? Esses ltimos meses, participei de alguns projetos na plataforma Azure. Alguns cenrios foram muito comuns, como o desenho abaixo, onde temos interfaces Web Roles com ASP.NET MVC e

163

processos implementados em Worker Roles. A comunicao entre esses processos vem sendo feita via filas ou tabelas e blobs para usos gerais, dependendo do projeto.

Outro mecanismo disponvel para comunicao com Web Roles e Worker Roles o Endpoint. A atualizao de Fevereiro do Training Kit oferece alguns exerccios sobre a comunicao com Worker Roles, veja: Worker Role Communication Ref.: http://msdn.microsoft.com/en-us/gg457887 Podemos criar Endpoints para comunicao via TCP, HTTP e HTTPS. Em seu projeto Worker Role, entre na pgina de propriedades e na aba Endpoints, voc encontrar a lista de Endpoints em uso. Atravs do boto Add Endpoint, voc poder adicionar suas novas entradas.

Veja o exemplo de Worker Role completo abaixo. Esse cdigo utiliza um Endpoint de nome TelnetServiceEndpoint para implementar o tratamento de uma conexo Telnet Client. Atravs desse canal, podemos obter informaes sobre o funcionamento do Worker, por exemplo.

164

1: using System; 2: using System.Collections.Generic; 3: using System.Diagnostics; 4: using System.Linq; 5: using System.Net; 6: using System.Threading; 7: using Microsoft.WindowsAzure; 8: using Microsoft.WindowsAzure.Diagnostics; 9: using Microsoft.WindowsAzure.ServiceRuntime; 10: using Microsoft.WindowsAzure.StorageClient; 11: 12: using System.IO; 13: using System.Net.Sockets; 14: 15: namespace HelloWorkerRole 16: { 17: public class WorkerRole : RoleEntryPoint 18: { 19: private readonly AutoResetEvent _connectionWait = new AutoResetEvent(false); 20: 21: /// <summary> 22: /// 23: /// </summary> 24: /// <returns></returns> 25: public override bool OnStart() 26: { 27: ServicePointManager.DefaultConnectionLimit = 12; 28: DiagnosticMonitor.Start("DiagnosticsConnectionString"); 29: RoleEnvironment.Changing += RoleEnvironmentChanging; 30: return base.OnStart(); 31: } 32: 33: 34: /// <summary> 35: /// 36: /// </summary> 37: public override void Run() 38: { 39: Trace.WriteLine("Starting Telnet Service...", "Information"); 40: TcpListener listener; 41: try 42: { 43: listener = new TcpListener( 44: RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["TelnetServiceEndpoint"].IPEndpoint ) { ExclusiveAddressUse = false };

165

45: listener.Start(); 46: 47: Trace.WriteLine("Started Telnet Service.", "Information"); 48: } 49: catch (SocketException se) 50: { 51: Trace.Write("Telnet Service could not start.", "Error"); 52: return; 53: } 54: while (true) 55: { 56: listener.BeginAcceptTcpClient(HandleAsyncConnection, listener); 57: _connectionWait.WaitOne(); 58: } 59: } 60: 61: 62: /// <summary> 63: /// 64: /// </summary> 65: /// <param name="clientId"></param> 66: /// <param name="writer"></param> 67: private static void WriteRoleInformation(Guid clientId, StreamWriter writer) 68: { 69: writer.WriteLine("--- Current Client ID, Date & Time ----"); 70: writer.WriteLine("Current date: " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString()); 71: writer.WriteLine("Connection ID: " + clientId); 72: writer.WriteLine(); 73: 74: writer.WriteLine("--- Current Role Instance Information ----"); 75: writer.WriteLine("Role ID: " + RoleEnvironment.CurrentRoleInstance.Id); 76: writer.WriteLine("Role Count: " + RoleEnvironment.Roles.Count); 77: writer.WriteLine("Deployment ID: " + RoleEnvironment.DeploymentId); 78: writer.WriteLine(); 79: 80: writer.WriteLine("--- Instance Endpoints ----"); 81: 82: foreach (KeyValuePair<string, RoleInstanceEndpoint> instanceEndpoint in RoleEnvironment.CurrentRoleInstance.InstanceEndpoints) 83: { 84: writer.WriteLine("Instance Endpoint Key: " + instanceEndpoint.Key); 85: 86: RoleInstanceEndpoint roleInstanceEndpoint = instanceEndpoint.Value; 87: 88: writer.WriteLine("Instance Endpoint IP: " + roleInstanceEndpoint.IPEndpoint);

166

89: writer.WriteLine("Instance Endpoint Protocol: " + roleInstanceEndpoint.Protocol); 90: writer.WriteLine("Instance Endpoint Type: " + roleInstanceEndpoint); 91: writer.WriteLine(); 92: } 93: } 94: 95: 96: /// <summary> 97: /// 98: /// </summary> 99: /// <param name="result"></param> 100: private void HandleAsyncConnection(IAsyncResult result) 101: { 102: var listener = (TcpListener)result.AsyncState; 103: var client = listener.EndAcceptTcpClient(result); 104: _connectionWait.Set(); 105: 106: var clientId = Guid.NewGuid(); 107: Trace.WriteLine("Connection ID: " + clientId, "Information"); 108: 109: var netStream = client.GetStream(); 110: var reader = new StreamReader(netStream); 111: var writer = new StreamWriter(netStream); 112: writer.AutoFlush = true; 113: 114: var input = string.Empty; 115: while (input != "3") 116: { 117: writer.WriteLine(" 1) Display Worker Role Information"); 118: writer.WriteLine(" 2) Recycle"); 119: writer.WriteLine(" 3) Quit"); 120: writer.Write("Enter your choice: "); 121: 122: input = reader.ReadLine(); 123: writer.WriteLine(); 124: 125: switch (input) 126: { 127: case "1": 128: WriteRoleInformation(clientId, writer); 129: break; 130: case "2": 131: RoleEnvironment.RequestRecycle(); 132: break; 133: }

167

134: 135: writer.WriteLine(); 136: } 137: 138: client.Close(); 139: } 140: 141: 142: /// <summary> 143: /// 144: /// </summary> 145: /// <param name="sender"></param> 146: /// <param name="e"></param> 147: private static void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e) 148: { 149: if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange)) 150: { 151: e.Cancel = true; 152: } 153: } 154: 155: } 156: } Para o Endpoint TCP, veja a propriedade da Worker Role, abaixo:

Retirei o cdigo acima a partir do artigo a seguir: Gritty Technical Info on Windows Azure Worker Roles Ref.: http://compositecode.com/2011/01/17/gritty-technical-info-on-windows-azure-workerroles/ Vale conferir! Boa leitura!

168

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

Um guia de recursos da plataforma Windows Azure


Mon, Mar 28 2011 9:00 AM Ol pessoal, tudo certo? Nos ltimos posts, falei de arquitetura em N-Camadas com .NET 4.0 e para Windows Azure. Porm, podemos ainda pensar nas vrias capacidades que uma aplicao necessita, em suas vrias camadas. O desenho abaixo uma atualizao sobre essas capacidades, e como o Windows Azure atende cada conjunto de necessidades, veja:

Assim, temos capacidades sobre:


Storage / Armazenamento Compute / Poder de computao / execuo Data / Tratamento de dados Connectivity / Conectividade / Barramentos

169

Security / Segurana / Autenticao / Autorizao Frameworks / APIs e recursos locais para o desenvolvimento de aplicaes Application Server / Servidor de Aplicaes e plataforma

Veja em cada camada os recursos e componentes da plataforma Azure, que oferecem funcionalidades para o desenvolvedor, na construo de uma aplicao para o Azure. Aproveite esse mapa para guiar seus estudos sobre a plataforma. Praticamente todos os componentes esto aqui representados. Por enquanto s! At o prximo post :) Waldemir.

Um guia para o Windows Azure em 4 passos


Fri, Mar 25 2011 9:00 AM Ol pessoal, tudo certo? Para simplificar seu processo de estudo e primeiros passos na plataforma Windows Azure, segue abaixo um guia de 4 etapas:

Primeiro Passo: instalando o ambiente de desenvolvimento

Prepare sua estao de desenvolvimento com os componentes do SDK e tools para Windows Azure. Os principais recursos so:

Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (March 2011) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c49dadaa5ed018&displaylang=en Segundo Passo: construindo uma aplicao local

A partir da configurao de seu ambiente, construa sua aplicao localmente. Para isso, voc pode usar os templates de Web Role, Worker Role ou VM Role. Seus testes podem aproveitar o Azure Emulator local, sem precisar de uma conta no Azure nesses primeiros testes. Um guia importante sobre recomendaes e desafios na migrao de aplicaes para o Azure voc tem no link abaixo:

170

Windows Azure Architecture Guide, Part 1 - Moving Applications to the Cloud http://waag.blob.core.windows.net/partone/index.html Terceiro Passo: criando uma conta no Windows Azure

O passo seguinte criar uma conta no portal do Azure, para que voc possa publicar a aplicao e fazer seus testes de homologao. Aps esses testes, poder promover sua aplicao para produo, com uma URL definitiva para acesso. Existem diversas ofertas de contas e pacotes para subscrio no Windows Azure. Fique a vontade para estudar cada uma dessas opes, para identificar a que melhor atende sua necessidade por recursos. No meio do caminho, para testes iniciais com a plataforma, no deixe de conferir (e CONTRATAR!) a Windows Azure Pass, uma conta gratuta por 30 dias, que permite testes na plataforma sem custo ou necessidade de entrar seu carto de crdito. Muito legal!!! No deixe de conferir o post do Otvio, sobre os recursos da Azure Pass. Ref.: http://blogs.msdn.com/b/otavio/archive/2011/03/19/passcode-para-o-azure.aspx Quarto Passo: Subindo a aplicao para o Windows Azure

Terminado os testes locais e j de posse de sua conta no Windows Azure, podemos fazer o upload da aplicao para a plataforma. Para isso, voc pode fazer o processo manual, onde indicar os diretrios dos arquivos de configurao e aplicao no portal do Windows Azure, ou pode usar o wizard do Visual Studio 2010, que faz o upload diretamente para sua conta e subscrio cadastrada.

Assim, voc tem um mapa simplificado de primeiros passos na plataforma Azure. Espero que ajude! Por enquanto s! At o prximo post :) Waldemir.

Mais um exemplo de arquitetura em N-Camadas com Windows Azure


Wed, Mar 23 2011 9:00 AM Ol pessoal, tudo certo? No ltimo post vimos um exemplo de arquitetura N-Camadas com .NET e falamos um pouco sobre outras consideraes que so importantes nesse tipo de cenrio. Ento algum pergunta: e se tivermos a nuvem na soluo? como fica?

171

Na mesma linha de organizao em camadas, veja o desenho abaixo, que publica a soluo no Windows Azure:

Veja, nesse desenho de arquitetura continuamos com as 3 camadas do desenho anterior: temos a camada de apresentao, implementada sobre WEB ROLES do Windows Azure; temos a camada de servios, com WCF WEB ROLES e uma camada de dados relacional, com o SQL AZURE. Do lado do cliente on-premise (local), podemos consumir os recursos da interface web, preparada para uma grande demanda e volume crescente. Um aspecto interessante nesse tipo de deployment que, havendo um volume crescente de demanda e requisies sobre a soluo, podemos contratar mais mquinas (instncias de VMs no Azure), aumentando o poder de tratamento e escalabilidade da soluo publicada na nuvem.

172

Para saber mais sobre esse exemplo, confira o projeto do codeplex, a seguir: Layered Architecture Sample for Azure Ref.: http://cloudsample.codeplex.com/ Aproveite esses dois ltimos posts para exercitar comparaes entre solues locais e solues sobre o Windows Azure. Assim, voc ficar mais seguro quando tiver que decidir sobre uma alternativa de implementao ou outra. ^ Finalmente, para as duas alternativas (local e nuvem), dois aspectos continuam de exterma importncia: GERENCIAMENTO e CUSTO. Fique atento aos dois! Por enquanto s! At o prximo post :) Waldemir.

Windows Azure SDK e Windows Azure Tools for Microsoft Visual Studio, atualizaes de Maro 2011
Thu, Mar 10 2011 3:00 PM Ol pessoal, tudo certo? Retornando do Carnaval, com uma boa novidade: acaba de ser anunciado o novo SDK 1.4 do Azure, veja: Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (March 2011) Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-430786c4-9dadaa5ed018&displaylang=en Note: desinstalar o Windows Azure Tools for Microsoft Visual Studio, verso 1.3, antes de instalar a verso 1.4. Entre as novidades, destaque para: o Windows Azure CDN:

CDN com SSL: agora possvel entregar contedo do CDN atravs do protocolo SSL (HTTPS) Habilitar CDN dentro das roles (CDN for Hosted Service): atravs deste novo recurso, teremos um diretrio dentro das instncias da mquina virtual (Web Role e VM Role) que ser disponibilizado via CDN. Isso permite Web Roles e VM Roles alimentarem dinamicamente este diretrio sem a necessidade de um Blob. E tambm para o Windows Azure Connect, agora com mltiplos administradores e atualizao do cliente local para notificaes e para instalao em outras verses de idioma do Windows.

173

Muitas novidades no pacote, alm de atualizaes no portal de administrao da plataforma. Confira! Por enquanto s! At o prximo post :) Waldemir.

Blog do J.D. Meier e outras Leituras Obrigatrias!


Tue, Jan 18 2011 10:00 AM Ol pessoal, tudo certo? O ano apenas comeou e tenho estado bem enrolado entre projetos e eventos. Por isso, aguarde algum delay no ritmo de posts aqui do blog. Mas vou escrevendo entre uma reunio e outra. Para no perder a mania, segue um post no estilo LEITURA OBRIGATRIA! 1) quem j conhece sabe que o blog do J.D. Meier genial. Agora, quem no conhece, poderia comear com o post a seguir, um legtimo Leitura Obrigatria! Ref.: http://blogs.msdn.com/b/jmeier/archive/2010/03/07/the-power-of-blue-books-for-platformimpact.aspx 2) o Windows Azure AppFabric Caching foi anunciado j faz alguns meses, mas chama ateno pelo potencial benefcio para aplicaes de alta performance sobre a plataforma Azure. Se voc ainda no leu nada sobre o Azure AppFabric Caching, confira o link a seguir: Ref:.: http://blogs.msdn.com/b/windowsazureappfabric/archive/2010/10/28/introduction-towindows-azure-appfabric-caching-ctp.aspx 3) finalmente, no Channel9 foi publicado mais uma srie Jump Start sobre a plataforma Windows Azure (em ingls). Vale conferir: Windows Azure Jump Start (01): Windows Azure Overview Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-01-Windows-AzureOverview Windows Azure Jump Start (02): Introduction to Compute Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-02-Introduction-to-Compute Session 03: Windows Azure Lifecycle, Part 1 Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-03-Windows-AzureLifecycle-Part-1

174

Session 04: Windows Azure Lifecycle, Part 2 Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-04-Windows-AzureLifecycle-Part-2 Session 05: Windows Azure Storage, Part 1 Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-05-Windows-Azure-StoragePart-1 Session 06: Windows Azure Storage, Part 2 Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-06-Windows-Azure-StoragePart-2 Windows Azure Jump Start (07): Introduction to SQL Azure Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-07-Introduction-to-SQLAzure Session 08: Windows Azure Diagnostics Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-08-Windows-AzureDiagnostics Session 09: Windows Azure Security, Part 1 Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-09-Windows-Azure-SecurityPart-1 Session 10: Windows Azure Security, Part 2 Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-10-Windows-Azure-SecurityPart-2 Session 11: Scalability, Caching & Elasticity, Part 1 Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-11-Scalability-Caching-Elasticity-Part Session 12: Scalability, Caching & Elasticity, Part 2, and Q&A Ref.: http://channel9.msdn.com/posts/Windows-Azure-Jump-Start-12-Scalability-Caching-Elasticity-Part-2-and-QA Por enquanto s! At o prximo post :) Waldemir.

Windows Azure Hands on Labs disponvel para download


Thu, Jan 13 2011 10:00 AM Ol pessoal, tudo certo?

175

Um novo material sobre Windows Azure e Hands on Labs foi publicado essa semana, no link a seguir: Developing Applications for the Cloud Hands on Labs Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bd89a4f3-b0ff-4277b042-e2d0ac08e9a8 Ele parte da srie de Samples e guias do Windows Azure Guidance, que voc tem nos links abaixo: Developing Applications for the Cloud Code Samples Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2853c3dc-0586-49c79b7f-83d3083252c8&displaylang=en Developing Applications for the Cloud on the Microsoft Windows Azure Platform Ref.: http://msdn.microsoft.com/en-us/library/ff966499.aspx patterns & practices Windows Azure Guidance Ref.: http://wag.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

Nuvem hibrida e recursos combinados


Wed, Dec 15 2010 10:00 AM Ol pessoal, tudo certo? No lembro se j havia citado esse artigo, mas creio que vale a pena como leitura adicional sobre Nuvem Hibrida, integrando os recursos do ambiente on-premise e o ambiente da nuvem pblica, veja:

176

Hybrid Cloud Solutions With Windows Azure AppFabric Middleware Ref.: http://blogs.msdn.com/b/appfabriccat/archive/2010/11/29/hybrid-cloud-solutions-withwindows-azure-appfabric-middleware.aspx Ainda falando sobre uma estratgia hbrida, que tal relembrar um artigo clssico do Journal, hein? Head in the Cloud, Feet on the Ground (LEITURA OBRIGATRIA) Ref.: http://msdn.microsoft.com/en-us/library/dd129910.aspx Por enquanto s! At o prximo post :) Waldemir.

NCBI BLAST no Windows Azure : um projeto da Research na nuvem


Sat, Dec 4 2010 10:00 AM Ol pessoal, tudo certo?

177

Pensando em projetos de pesquisa que esto usando a plataforma de Computao em Nuvem, segue aqui um exemplo bem legal:

NCBI BLAST on Windows Azure Ref.: http://research.microsoft.com/en-us/projects/azure/azureblast.aspx Construdo sobre o Windows Azure, o NCBI BLAST on Windows Azure permite a pesquisadores aproveitarem a escalabilidade da plataforma Windows Azure em anlises de dados de protenas e dados genmicos na nuvem. Esse projeto ainda em CTP conduzido pela Microsoft Research e no link acima, voc pode fazer o download do cdigo Azure para testes e clientes. Como vemos na figura abaixo, o projeto trabalha com ASP.NET Web Role de interface, assim como uma Worker Role para processar os dados consultados.

Alm do NCBI BLAST on Windows Azure, outro pacote de exemplos o Windows Azure Architecture Guide Parte 1. O download de fontes exemplos foi atualizado em Novembro, veja:

178

Windows Azure Architecture Guide Part 1 Code Samples Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=76883a9f-f4aa-4218add3-1c9b8cc36fc7&displaylang=en E no deixe de visitar o Windows Azure Guide, como sempre, leitura obrigatria! :) patterns & practices - Windows Azure Guidance Ref.: http://wag.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

Novidades no Ar : Novo portal de administrao do Windows Azure em Silverlight


Tue, Nov 30 2010 10:00 AM Ol pessoal, tudo certo? Mais uma novidade entrou no ar essa semana. A partir de hoje, o novo portal de administrao do Windows Azure est disponvel para seus usurios. Esse novo portal est em Silverlight e oferece uma navegabilidade muito mais limpa e de fcil operao.

179

Estou usando uma conta INTRODUCTORY SPECIAL e quando acesso a pgina do Windows Azure, sou perguntado se pretendo usar o novo ou o antigo portal, veja:

Para o SQL Azure, entrando direto pela URL do portal, ainda possvel operar suas bases pela interface antiga. Em breve, farei alguns posts sobre as novas funcionalidades para a administrao do Windows Azure com o portal em Silverlight. Aguardem! Outra mudana interessante que o conjunto de templates no Visual Studio 2010 agora est sob label Windows Azure Project, a partir da instalao do pacote SDK 1.3 do Windows Azure, lanado ontem veja:

180

Alm do novo nome de projeto, o antigo Development Fabric do SDK 1.2 passou a ser chamado Computer Emulator UI. Em suas funcionalidades, nada mudou aparentemente, apenas um nmero de mensagens menor sobre as telas de cada instncia simulada localmente, veja:

Esta semana estarei publicando dois posts sobre aplicaes com o ASP.NET Web Role e SQL Azure, ainda usando o SDK 1.2 e o portal antigo. Por isso, no se espantem com as telas do portal de administrao antigo. Os passos de configurao continuam os mesmos. Em breve, farei uma atualizao sobre esses posts, com os novos passos no portal de administrao em Silverlight e o novo SDK 1.3. Aguardem! Por enquanto s! At o prximo post :) Waldemir.

Windows Azure Marketplace DataMarket


Mon, Nov 29 2010 10:00 AM Ol pessoal, tudo certo? Um documento bem interessante sobre o DataMarket do Windows Azure Marketplace, voc encontra a seguir:

181

Windows Azure Marketplace DataMarket Ref.: http://bit.ly/h7NznE Esse documento est bem legal, com uma bela descrio do Marketplace do Azure, assim como os modelos de consumo de dados. Note que no desenho acima, o componente principal de consumo de dados baseado em protocolo ODATA OpenData Protocol, na frente de Web Roles da soluo. Para saber mais sobre ODATA, confira ainda: ODATA Ref.: http://msdn.microsoft.com/en-us/data/ee844254.aspx Por enquanto s! At o prximo post :) Waldemir.

Benefcios da plataforma Windows Azure para assinantes MSDN


Fri, Nov 5 2010 10:00 AM Ol pessoal, tudo certo?

182

Uma pergunta que sempre recebo de algumas empresas sobre horas de mquinas virtuais e contas de testes para o Windows Azure. Para pessoa fsica, autnomos, desenvolvedores e arquitetos que desejam fazer seus primeiros testes, recomendo sempre a oferta Introductory Special, que inclusive a que tenho usado em demonstraes, para ilustrar o modelo de desenvolvimento na plataforma. Minha ltima conta veio zerada, pois tenho me mantinho dentro dos limites oferecidos pela oferta, veja:

Existem ainda outras ofertas interessantes e pacotes que devem ser estudados, no link a seguir: Ref.: http://www.microsoft.com/windowsazure/offers/default.aspx Porm, se voc ou sua empresa possui assinatura de MSDN, confira as ofertas para MSDN Subscribers, abaixo:

183

Windows Azure Platform Benefits for MSDN Subscribers Ref.: http://msdn.microsoft.com/en-us/subscriptions/ee461076.aspx Em resumo, voc tem 750 horas de instncias por ms gratutas, o que um plano bem interessante para testes com a plataforma. Agora voc no tem mais desculpa para no comear seus testes com a plataforma Azure! ;) Por enquanto s! At o prximo post :) Waldemir.

Provisionamento dinmico com Windows Azure


Wed, Nov 3 2010 10:00 PM Ol pessoal, tudo certo? Semana passada tive algumas conversas sobre provisionamento dinmico, private cloud e public cloud. Dois tpicos foram importantes: provisionamento elstico e clculo de operao de uma aplicao. Olhando o portal do Windows Azure, voc deve conhecer a ferramenta de anlise de TCO, disponvel no link abaixo: http://www.microsoft.com/windowsazure/economics/ Com essa ferramenta, possvel gerar relatrios de anlise com uma boa memria de clculo sobre diferentes cenrios de capacidades computacionais envolvidas numa soluo. Veja o exemplo abaixo para uma soluo de e-commerce local e na nuvem, com at 15 mquinas e usurios power-user:

184

Mudando os valores de configurao da aplicao, conseguimos resultados comparativos muito interessantes, ampliando nosso entendimento dos componentes de maior impacto na soluo. Alm de relatrios como esse, a ferramenta ainda oferece grficos de comparao, como:

Por isso, recomendo a realizao de diversas anlises de cenrios, combinando as diferentes configuraes de mquinas, recursos e usurios disponveis na ferramenta. O objetivo obter os benefcios de um modelo elstico de provisionamento, possveis com a computao em nuvem. Falando sobre provisionamento elstico, veja a figura a seguir:

185

Quando pensamos numa soluo local (on-premise), comum trabalharmos com diversos perodos de over-provisioning, ou seja, nossa infraestrutura opera muito abaixo da capacidade, pois disponibilizamos uma folga muito grande para eventuais picos. Porm, picos acontecem e muito provvel que voc enfrente situaes de under-provisioning, onde a infraestrutura local no capaz de suportar a demanda emergente. Desse modo, nossa infraestrutura transita entre perodos de grande osciosidade e falta de capacidade, enquanto ocorre flutuaes de caga em nossa aplicao. Esse tipo de desequilbrio muito comum e quando possvel monetiz-lo, vemos o tamanho do custo operacional devido ao poder de computao oscioso que temos localmente. Qual o sonho aqui? Algo como a figura abaixo:

186

Vemos acima que a curva de capacidades e custos operacionais acompanha a curva de carga real demandada pela aplicao. Assim, seja em picos e vales de carga, conseguimos minimizar perodos de over-provisioning ou under-provisioning de nossa infraestrutura. Esse tipo de comportamento s possvel quando temos um ambiente com provisionamento elstico, como o que ocorre na plataforma de nuvem do Windows Azure. Ao mesmo tempo, outro cenrio interessante quando prevemos perodos de picos em nossa infraestrutura, mantendo uma situao constante de over-provisioned by design. Algo como vemos na figura a seguir:

Veja que a infraestrutura constante (linha vermelha), com excesso de poder computacional, prevendo cenrios de carga peridicos (linha verde). Porm, esse cenrio tambm apresenta problemas e custo operacional acima do real utilizado. O ideal seria trabalharmos com uma curva de infraestrutura como segue, eliminando o provisionamento excessivo da infraestrutura:

187

Ou seja, mesmo reconhecendo os picos e vales perdicos, tambm provisionamos nossa infraestrutura o mais prximo ao comportamento real de carga da aplicao. Pensar sobre o comportamento de carga de sua soluo, assim como o custo operacional envolvido um grande desafio hoje em dia, mas que ser cada vez mais cobrado das reas de negcio de sua empresa. Por isso, fique atento e se antecipe essa boa prtica em sua TI Por enquanto s! At o prximo post :) Waldemir.

Security Best Practices For Developing Windows Azure Applications


Sat, Oct 9 2010 9:00 AM Ol pessoal, tudo certo? Segurana sempre um assunto importante! Mas ainda encontramos poucas empresas considerando os aspectos de segurana com o empenho que o tema merece. Pensando em aplicaes para o Windows Azure, nomes de peso como Andrew Marshall, Michael Howard, Grant Bugher, Brian Harden, Vittorio Bertocci e outros arquitetos e engenheiros da Microsoft publicaram um documento inicial sobre questes de segurana para a plataforma Azure. Veja: Security Best Practices For Developing Windows Azure Applications Ref.: http://blogs.msdn.com/b/vbertocci/archive/2010/06/14/security-best-practices-fordeveloping-windows-azure-applications.aspx O documento de leitura rpida, mas oferece alguns pontos importantes que devemos pensar para aplicaes na nuvem. Por enquanto s! At o prximo post :) Waldemir.

Patterns para a construo de aplicaes para o Windows Azure


Fri, Oct 8 2010 9:00 AM Ol pessoal, tudo certo?

188

J falei aqui sobre o projeto WAG do CodePlex, para mapeamento de patterns para aplicaes no Windows Azure. Mas nuncae demais falar sobre isso. Estou acompanhando alguns projetos que passam pela definio de patterns. Por isso, veja a seguir alguns exemplos retirados do WAG: Uma aplicao tpica contendo Web Rolers, Worker Roles e comunicao por filas Queues do Azure mostrada a seguir:

Uma verso simplificada deste patterns com ASP.NET Forms Authentication para Azure Tables vemos a seguir:

Dois links importantes como referncia so os posts do J.D. Meier, Principal Program Manager do patterns & practices group na Microsoft, que listou recentemente vrios patterns de aplicaes ASP.NET sobre Windows Azure. Confira mais essas LEITURAs OBRIGATRIAs!

189

Windows Azure Application Patterns Ref.: http://blogs.msdn.com/b/jmeier/archive/2010/09/11/windows-azure-applicationpatterns.aspx Windows Azure App Types Ref.: http://blogs.msdn.com/b/jmeier/archive/2010/09/11/windows-azure-app-types.aspx patterns & practices Windows Azure Guidance Ref.: http://wag.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

Monitorao no Windows Azure links e artigos


Thu, Sep 30 2010 9:00 AM Ol pessoal, tudo certo? Estou acompanhando um projeto que envolve monitorao de aplicaes no Windows Azure. Semana passada acabei recebendo tambm um email de um leitor perguntando sobre links para monitorao do Windows Azure. Assim, vai aqui alguns links interessantes: Getting Started with Windows Azure Diagnostics and Monitoring Ref.: http://www.azuresupport.com/2010/03/getting-started-with-windows-azure-diagnosticsand-monitoring/ Windows Azure Diagnostics, Logging and Monitoring Ref.: http://code.msdn.microsoft.com/WADiagnostics/Release/ProjectReleases.aspx?ReleaseId=3709 Windows Azure Monitoring, Logging, and Management APIs (video) Ref.: http://www.microsoftpdc.com/2009/SVC15 Azure Monitoring and Diagnostics (video) Ref.: http://msdn.microsoft.com/en-us/windowsazure/ff700237.aspx Como principal dashboard de monitorao do Azure, temos: Ref.: http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx

190

Veja, no link acima, temos todos os estados de servios do Azure, em tempo real. O arquiteto Cond tambm publicou alguns posts interessantes sobre o assunto, recomendo conferir: Ref.: http://blogs.msdn.com/b/conde/ Por enquanto s! At o prximo post :) Waldemir.

Woodgrove Cloud Application um exemplo de aplicao rica no Azure


Tue, Sep 28 2010 9:00 AM Ol pessoal, tudo certo? Gostaria de compartilhar uma nova aplicao desenvolvida em Silverlight 4, demonstrando alguns exemplos de um Internet Banking. A aplicao est hospedada no Windows Azure, sendo um belo exemplo de soluo RIA, usando os recursos da plataforma Azure. Veja abaixo:

Ref.: http://woodgrove.cloudapp.net/ Por enquanto s! At o prximo post :) Waldemir.

191

patterns & practices Developing Applications for the Cloud


Mon, Sep 27 2010 9:00 AM Ol pessoal, tudo certo? Novidade no ar! J est disponvel mais um guia para desenvolvimento de aplicaes com o Windows Azure, veja:

Developing Applications for the Cloud on the Microsoft Windows Azure Platform Ref.: http://msdn.microsoft.com/en-us/library/ff966499.aspx Ainda estou olhando o material, que est bem completo, com exemplos de aplicaes e integrao com a conhecida Tailspin Travel. Mas recomendo a leitura, com certeza! Para ver o material completo, confira o portal: patterns & practices Windows Azure Guidance site Ref.: http://wag.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

192

Ruby, Eclipse, Java, Python e PHP - Interoperabilidade com o Windows Azure


Wed, Sep 22 2010 9:00 AM Ol pessoal, tudo certo? Durante o Tech-Ed Brasil 2010, tive o prazer de falar com o Fabio Akita, muito conhecido da comunidade pelos trabalhos com Ruby. Falamos sobre Windows Azure e alguns dos SKDs suportados para interoperabilidade com a plataforma. Mas fiquei devendo um link sobre o assunto. Assim, segue aqui um post, com os principais projetos de interoperabilidade com a plataforma Azure.

Ref.: http://www.microsoft.com/windowsazure/interop/ Confira alguns projetos: AppFabric SDK for Ruby Ref.: http://www.interoperabilitybridges.com/projects/azure-ruby-sdk-for-net-services.aspx Ref.: http://www.dotnetservicesruby.com/ Windows Azure Tools for Eclipse Ref.: http://www.interoperabilitybridges.com/projects/windows-azure-tools-for-eclipse Ref.: http://www.windowsazure4e.org/

193

Windows Azure SDK for Java Ref.: http://www.interoperabilitybridges.com/projects/azure-java-sdk-for-net-services Ref.: http://www.windowsazure4j.org/ Windows Azure SDK for PHP Ref.: http://www.interoperabilitybridges.com/projects/php-sdk-for-windows-azure Ref.: http://phpazure.codeplex.com/ E ainda os projetos: Windows Azure Storage for WordPress Ref.: http://www.interoperabilitybridges.com/projects/windows-azure-storage-for-wordpress Ref.: http://wordpress.org/extend/plugins/windows-azure-storage/ Windows Azure Tomcat Solution Accelerator Ref.: http://code.msdn.microsoft.com/winazuretomcat Windows Azure MySQL PHP Solution Accelerator Ref.: http://code.msdn.microsoft.com/winazuremysqlphp Por enquanto s! At o prximo post :) Waldemir.

patterns and practices: Windows Azure Guide links e dicas


Tue, Aug 31 2010 9:00 AM Ol pessoal, tudo certo? O Guia de Arquitetura para Aplicaes Microsoft vocs j conhecem, certo? patterns & practices: App Arch Guide 2.0 Knowledge Base Ref.: http://apparch.codeplex.com/ Vale assim lembrar do Windows Azure Guide, que teve algumas atualizaes recentes, confira:

194

patterns & practices - Windows Azure Guidance Ref.: http://wag.codeplex.com/ Release Candidate for Part 1 of the Windows Azure Guide Ref.: http://wag.codeplex.com/releases/view/45438 Release Candidate for Part 2 of the Windows Azure Guide Ref. :http://wag.codeplex.com/releases/view/48599 Veja ainda: Moving Applications to the Cloud on the Microsoft Windows Azure Platform Ref.: http://msdn.microsoft.com/en-us/library/ff728592.aspx A Enterprise Library 5 tambm uma excelente dica de estudo, veja: patterns & practices Enterprise Library Ref.: http://entlib.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

195

patterns & practices Windows Azure Guidance


Wed, Aug 11 2010 8:30 PM Ol pessoal, tudo certo? Essas ltimas semanas estive fora, entre treinamentos e viagens, mas agora estou retomando as atividades e os posts aqui no blog. Ento vamos l, j temos disponveis as partes 1 e 2 do Windows Azure Guidance, no site do CodePlex. Alm desses documentos, outras adies esto sendo feitas sobre a Enterprise Library 5 com Windows Azure e uma aplicao exemplo bem interessante, confira:

Part 1 of the Guide is complete (brownfield scenario) Part 2 of the Guide (focused on greenfield scenarios) - Release Candidate Enterprise Library 5 - Beta 2 on Windows Azure white paper Music Store sample application on Windows Azure

O link segue abaixo:

patterns & practices Windows Azure Guidance Ref.: http://wag.codeplex.com/ Os documentos da parte 2 ainda so RC mas j tem um bom material para leitura, baseando-se em cenrios como o projeto TailSpin Web. Recomendo!!

196

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

Exemplos de aplicaes para o Windows Azure


Tue, Aug 3 2010 8:36 PM Ol pessoal, tudo certo? Semana passada tivemos alguns lanamentos no CodePlex, de projetos bem interessantes: Layered Architecture Sample for Azure Ref.: http://cloudsample.codeplex.com/

Outro projeto exemplo segue abaixo:

197

Expense Sample - July 2010 (for .NET 4.0) Ref.: http://layersample.codeplex.com/releases/view/47627 Por enquanto s! At o prximo post :) Waldemir.

Melhores prticas em segurana para o Windows Azure


Fri, Jun 4 2010 9:00 AM Ol pessoal, tudo certo? Estou acompanhando algumas equipes que esto desenvolvendo suas primeiras solues para a plataforma Windows Azure. Compartilhei com eles alguns artigos e whitepapers que valem a leitura, todos a partir do link a seguir: Ref.: http://www.microsoft.com/windowsazure/whitepapers/ Porm, um deles vale especial ateno: Security Best Practices For Developing Windows Azure Applications

This paper focuses on the security challenges and recommended approaches to design and develop more secure applications for Microsofts Windows Azure platform. Microsoft Security Engineering Center (MSEC) and Microsofts Online Services Security & Compliance (OSSC) team have partnered with the Windows Azure team to build on the same security principles and processes that Microsoft has developed through years of experience managing security risks in traditional development and operating environments.

Ref.: http://download.microsoft.com/download/7/3/E/73E4EE93-559F-4D0F-A6FC7FEC5F1542D1/SecurityBestPracticesWindowsAzureApps.docx Esse documento fornece diversos pontos de ateno sobre segurana para aplicaes no Windows Azure. Por exemplo, pensando em uma arquitetura tradicional de aplicao Web, o diagrama abaixo apresenta diversos aspectos de segurana envolvidos, veja:

198

Essa mesma aplicao em ambiente Windows Azure deve considerar os seguintes pontos de ateno:

199

Portanto, aspectos como auditoria, logging, autenticao, autorizao, comunicao, gerenciamento de configurao, criptografia, gerenciamento de excees, gerenciamento de sesso e validao continuam sendo importantes e devem ser tratados em algum momento em sua aplicao na nuvem. Ao mesmo tempo, aspectos como atualizao e correes de S.O., administrao de servios, protocolos, segurana em diretrios e arquivos, compartilhamento de dados fsicos, portas e acesso a registros no so aspectos envolvidos, uma vez que na plataforma Windows Azure voc utiliza um modelo PAAS Platform as a Service, ou plataforma como servio. Nesse modelo, no temos acesso como administrador aos recursos do Windows Azure, o que elimina essas preocupaes de nosso plano de mitigao e segurana. Bem interessante! No deixe de avaliar os aspectos de segurana que sua aplicao deve tratar. Por enquanto s! At o prximo post :) Waldemir.

200

Windows Azure Management Tool (MMC) Release de Maio


Thu, May 20 2010 9:00 AM Ol pessoal, tudo certo? Para quem j est trabalhando com a plataforma Azure, uma ferramenta que vale ser conferida a Azure Management Tool (MMC), disponvel no CodePlex: Windows Azure MMC Ref.: http://code.msdn.microsoft.com/windowsazuremmc J falamos dela por aqui e recentemente tivemos atualizaes no pacote disponvel, em 10 de Maio. Entre as principais funcionalidades, destaque para as operaes sobre cada objeto da plataforma Azure disponvel em sua conta:

Dispare o executvel WindowsAzureMMC.Setup.exe e siga os passos de instalao.

201

Um dos primeiros requisitos em sua mquina ser ter instalado o PowerShell Execution Policy. Aps um rpido scan, todos os componentes so verificados:

Uma vez instalada, o console permite navegar pelos objetos disponveis em sua conta na plataforma Azure.

202

No deixe de conferir tambm o ScreenCast sobre a ferramenta. Veja Aqui! Por enquanto s! At o prximo post :) Waldemir.

Windows Azure links e roles para seus primeiros projetos


Tue, Apr 20 2010 8:00 AM Ol pessoal, tudo certo? Semana passada foi o lanamento do Windows Azure e agora, tempo de iniciar os trabalhos, provas de conceitos e primeiros projetos, para quem ainda no comeou. :) Para preparar sua estao de trabalho para o Azure, os seguintes pacotes so importantes, para quem est com o Visual Studio 2008 ou 2010: Windows Azure Tools for Microsoft Visual Studio 1.1 (February 2010) Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-98434EB40B297AB6&displaylang=en Windows Azure Software Development Kit (February 2010) Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=DBA6A576-468D-4EF6877E-B14E3C865D3A&displaylang=en

203

Windows Azure platform AppFabric SDK V1.0 - April Update Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=39856A03-1490-4283-908FC8BF0BFAD8A5&displaylang=en Windows Azure Platform Training Kit - December Update Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83B309-53B7B77EDF78&displaylang=en Trabalhando com o Visual Studio 2010, confira ainda os seguintes links: Visual Studio 2010 and .NET Framework 4 Training Kit Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383ED5740F02E93&displaylang=en Moving to Visual Studio 2010 e-book Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=12A6DE81-C633-4F2CA35F-CEA6FE772712&displaylang=en Se voc estiver sem Visual Studio e pretende iniciar seus testes com Azure, voc pode experimentar o Visual Web Developer 2010 Express. Esse kit j vem com o SDK do Windows Azure, faltando apenas o pacote TOOLS para habilitar sua estao.

Ref.: http://www.microsoft.com/express/Web/

204

Assim que voc cria um novo projeto, as roles disponveis sero: ASP.NET Web Role, ASP.NET MVC 2 Web Role, WCF Service Web Role, Worker Role, CGI Web Role, como vemos a seguir:

Muito bem! Estao preparada, agora precisamos escolher o cenrio de aplicao que iremos construir no Azure. Um desenho de recursos que voc pode aproveitar dado abaixo:

205

Veja, esse desenho no uma arquitetura de referncia para o Windows Azure, mas ilustra as principais caixas e roles que teremos em uma soluo. Do lado da empresa, componentes para autenticao/autorizao com o modelo CBA Claim-based Authentication/Authorization. Do lado do Azure, componentes web com Web Roles, servios Web Services com WCF Service Web Role, tipos nativos do Azure com o Azure Storage (blobs, tables, queues e drives), assim como servios registrados no Windows Azure Plataform AppFabric. Finalmente, havendo dados relacionais na nuvem, estamos com o SQL Azure. Em breve, espero publicar um novo post sobre uma arquitetura de referncia para o Windows Azure, fique ligado! Por enquanto s! At o prximo post :) Waldemir.

Microsoft Cloud Computing Capacidades da plataforma Windows Azure


Wed, Apr 14 2010 8:16 PM Ol pessoal, tudo certo? Depois de uma semana cheia com o Regional Architect Forum 2010 Brasil (RAF), estive esta semana no evento do Gartner, o Gartner Enterprise Technologies Summit. Gartner Enterprise Technologies Summit Ref.: http://www.gartner.com/it/summits/brl37l/index.jsp Foi muito legal reencontrar alguns amigos de empresas de SP, RJ, DF e MG, que estavam circulando pelo evento. A Microsoft esteve com uma presena importante por l, e o Otvio fez uma bela apresentao sobre as Capacidades do Windows Azure e a viso da Microsoft para a computao em nuvem. Pensando em capacidades da plataforma Windows Azure, esse tema ganha importncia quando pensamos em migrar aplicaes ou cenrios de negcio para a nuvem. O que vamos migrar? Quais capacidades precisamos? O que nossa aplicao vai utilizar no Azure? Essas perguntas so vlidas para o processo de migrao para qualquer fornecedor de cloud. Veja assim, algumas das principais capacidades que podemos destacar para nossa soluo em cloud computing:

206

No desenho acima, destacamos capacidades como storage, computao, persistncia de dados, conectividade, segurana, frameworks e servios de aplicao. Para essas capacidades, veja os componentes da plataforma Windows Azure que oferecem suporte para nossas aplicaes:

No desenho acima, vemos os tipos nativos do Azure Storage, como Tables, Blobs, Queues, Drive e CDN, assim como funcionalidades para conectividade e segurana no AppFabric e dados relacionais no SQL Azure.

207

Para integrar os ambientes local e nuvem, recursos como SQL Azure Data Sync, SQL Server Integration Services (SSIS) e segurana baseada em CBA Claim-based Authentication so importantes para nossa soluo. Com esse mapa em mente, temos um primeiro passo no processo de anlise e entendimento de suas opes no Azure. Por enquanto s! At o prximo post :) Waldemir.

Dia 12 de Abril de 2010: Windows Azure no Brasil


Mon, Apr 12 2010 5:55 PM Ol pessoal, tudo certo? Esta uma segunda-feira de grandes lanamentos: Visual Studio 2010, .NET 4.0, Silverlight 4.0 e Windows Azure no Brasil. Para acompanhar, veja as entrevistas aconteceram no Channel9, no link a seguir:

Ref.: http://www.microsoft.com/visualstudio/en-us/watch-it-live Confira tambm o post do JP, aqui da Microsoft: Ref.: http://blogs.msdn.com/jpclementi/archive/2010/04/12/assista-ao-vivo-o-lan-amento-dovisual-studio-2010-rtm-e-do-silverlight-4.aspx Finalmente, a oferta comercial do Windows Azure chegou ao Brasil. Veja a notcia como publicada na info.abril:

208

Windows Azure finalmente chega ao Brasil Ref.: http://info.abril.com.br/noticias/ti/windows-azure-finalmente-chega-ao-brasil-1204201022.shl Agora, quando voc entra na pgina de ofertas da plataforma Azure, a opo Brasil aparece no combo, veja:

Ref.: http://www.microsoft.com/windowsazure/offers/ E para fazer uma escolha correta, veja a tabela de comparao das ofertas disponveis: Windows Azure Platform Offer Comparison Table Ref.: http://www.microsoft.com/windowsazure/offers/popup.aspx?lang=en&locale=ptBR&offer=COMPARE_PUBLIC Muitas novidades e a semana s est comeando! Por enquanto s! At o prximo post :) Waldemir.

209

Microsoft Cloud Computing A plataforma Microsoft na nuvem


Wed, Mar 31 2010 8:00 AM Ol pessoal, Nesse final de maro estou separando alguns posts sobre a abordagem de nuvem da Microsoft. No post de hoje, gostaria de ilustrar as principais capacidades presentes na nuvem Microsoft. Assim, podemos separar as principais ofertas e capacidades da plataforma nas seguintes camadas:

Servios de Aplicaes Servios de Software Servios de Plataforma Servios de Infraestrutura

Veja a figura abaixo para ilustrar:

Comeando com Servios de Aplicaes, encontramos uma srie de servios prontos, acabados, que podem ser utilizados de forma imediata por usurios finais e empresas. So exemplos desses servios o Bing, o Windows Live, o Office Live, assim como redes de colaborao como o Microsoft HealthVault e o XBOX Live. Logo na sequncia encontramos os Servios de Software, que oferecem funcionalidades adicionais para infraestruturas e ambientes corporativos, como o Exchange Online, o SharePoint

210

Online, o Office Communications Online e o CRM Online. So mecanismos baseados na nuvem que adicionam valor aos ambientes colocados localmente nas empresas. Complentando a relao de capacidades encontramos os Servios de Plataforma, que agregam funcionalidades como bancos de dados relacionais, hosting de processos, servios, interoperabilidade, controle de acesso, autenticao/autorizao, alm de servios diversos. Aqui, o desenvolvedor pode trabalhar com uma srie de recursos para a construo de suas aplicaes na nuvem, ou novos servios e aplicaes que exportam funcionalidades para o ambiente local (on-premise) nas empresas. Finalmente, toda essa srie de servios so suportados por uma infraestrutura de nuvem, baseada em datacenters da Microsoft. Como vimos no post anterior, a tecnologia e processo para manuteno desse tipo de ambiente j tem algum tempo, depois de anos de experincia com servios de alta escalabilidade e alto volume como o Hotmail, o Windows Update, o MSN, entre outros. Com esse post, completamos uma breve introduo sobre os principais componentes da plataforma de nuvem da Microsoft. podemos estar certos de que ao longo do ano, novas capacidades presentes no ambiente on-premise (local) tero seus similares tambm na nuvem. Por enquanto s! At o prximo post :) Waldemir.

211

Microsoft Cloud Computing A experincia vem com o tempo


Tue, Mar 30 2010 8:00 AM Ol pessoal, tudo certo? Semana passada troquei alguns emails com o arquiteto David Chou da Microsoft. Falando sobre Windows Azure e alguns pontos de ateno em projetos para a nuvem, ele destacou um ponto interessante: a experincia da Microsoft em solues e infraestrutura de cloud. Veja as tecnologias abaixo:

Note que s para o Windows Live e o Hotmail j so 15 anos de experincia com o suporte de alta escalabilidade na plataforma. MSN so outros 13 anos, para Windows Update outros 12 anos, como um rede servidores em nuvem para o atendimento das requisies de pacotes, bing com 11 anos e 2 bilhes de consultas por ms, alm de 450 milhes de usurios ativos na rede XBOX Live e 6 anos de pesquisas para o Microsoft Online Services, com 4 Bilhes de emails/dia. Ou seja, a plataforma de nuvem da Microsoft no nova, mas sim resultado de mais de uma dcada de pesquisas e evoluo no atendimento de alta escalabilidade, disponibilidade e provisionamento. Um belo exemplo desse processo evolutivo a arquitetura Auto-Pilot, utilizada na infraestrutura do servio BING. Diversos grupos de servidores so alocados para atividades especficas, como indexao, repositrio de dados, tratamento de consultas, etc. Veja um mapa exemplo:

212

Aproveitando o post, no deixe de conferir o portal da Microsoft sobre o Global Foundation Services, que oferece a infraestrutura bsica de suporte para diversos servios do Microsoft OnLine Services: Microsoft - Global Foundation Services Ref.: http://www.globalfoundationservices.com/environment/index.html Por enquanto s! At o prximo post :) Waldemir.

Microsoft Cloud Computing Construindo um container Azure


Mon, Mar 29 2010 8:00 AM Ol pessoal, tudo certo? Esse final de semana tivemos um belo evento em Curitiba, o Innovation Day, organizado pelo pessoal da TechResult e o time do Microsoft Innovation Center de Curitiba, com a presena de diversos MVPs. O evento foi realizado no Centro Tecnolgico da Universidade Positivo e foi muito legal! Durante o evento, fiz uma palestra sobre Computao em Nuvem e Windows Azure, apresentando a viso da Microsoft e os resursos da plataforma. E j que estamos em ritmo de Azure, segue aqui um belo vdeo do Microsoft Showcase, sobre cloud computing na Microsoft. Microsoft Cloud Computing - IT Pre-Assembled-Components (ITPAC) Ref.: http://www.microsoft.com/showcase/en/us/details/84f44749-1343-4467-80129c70ef77981c

213

O vdeo apresenta a tecnologia de componentes pr-fabricados para a construo de datacenters de ltima gerao, os conhecidos containers do Azure, como esse:

Veja como o processo de fabricao passa por etapas como:

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

214

Captulo 7
SQL Azure

Ainda falando sobre plataforma Windows Azure, o SQL Azure merece um captulo especial. Praticamente 90% dos cenrios de migrao e uso da plataforma Windows Azure contavam com a presena de bases de dados relacionais sobre SQL Azure. Diversas recomendaes e exemplos de implantao foram discutidos atravs do blog. Nesse captulo, confira alguns dos principais posts sobre o SQL Azure e conhea um pouco mais sobre sua evoluo nesses ltimos dois anos.

215

Windows Azure Sample Project - .NET Stock Trader 5 Sample Application


Fri, Jun 24 2011 9:00 AM Ol pessoal, tudo certo? Nova soluo exemplo para Windows Azure, a soluo .NET Stock Trader 5, veja:

Ref.: http://www.microsoft.com/download/en/details.aspx?id=26553 A soluo est muito bem documentada e tem uma bela organizao de Web Roles, Worker roles e uso de SQL Azure. Por isso, vale muito como aplicao de estudo para seus projetos. No deixe de conferir, mas antes de sair rodando, leia os documentos! Por enquanto s! At o prxmo post :) Waldemir.

SQL Azure : uma aplicao Web Role com SQL Azure parte 1/2
Wed, Dec 1 2010 10:00 AM Ol pessoal, tudo certo? Atendendo a pedidos, o post de hoje um tutorial completo da demo que usei em minhas ltimas palestras, para construo de uma aplicao ASP.NET Web Role que consome uma base de dados no SQL Azure. Como so vrios passos, dividi o tutorial em duas partes. Espero que gostem. Importante: estou considerando que voc j tenha uma conta no Windows Azure. Para criar sua conta, entre no link abaixo e escolha pas BRASIL. A seguir, selecione a criao de uma conta do tipo INTRODUCTORY SPECIAL, que a mesma que estou usando para essa demonstrao. Ela no paga nada, dentro de certos limites de utilizao. Para testes, uma boa dica! Mas voc vai precisar de um carto de crdito para cadastro.

216

Criando uma conta INTRODUCTORY SPECIAL Ref.: https://windows.azure.com/Cloud/Provisioning/ Importante: este post ainda est compatvel com o portal antigo de administrao do Windows Azure, assim como o SDK 1.2 do Windows Azure. O novo portal de administrao est em Silverlight e entrou em operao esta semana. Em breve, farei a atualizao dos principais recursos e funcionalidades sobre o novo portal, que ficou muito bonito. Aguardem! PREPARANDO O AMBIENTE Para comear, voc precisa preparar seu ambiente de desenvolvimento com o Visual Studio 2010. Se ainda no tiver instalado, use o Visual Studio Express Edition, no link abaixo: Visual Studio 2010 Express Edition Ref.: http://www.microsoft.com/express/Downloads/ Com o Visual Studio ok, faa o download de outro componente importante da demo, o SQL Azure Migration Wizard, no link abaixo: SQL Azure Migration Wizard Ref.: http://sqlazuremw.codeplex.com/ Agora abra o Visual Studio 2010 como ADMINISTRATOR e selecione a opo FILE / NEW / PROJECT. A janela de templates ir aparecer. Nela, escolha a pasta CLOUD e o template 'Windows Azure Cloud Service', para a linguagem de sua preferncia. Nesse exemplo, estarei usando C#. Como sua primeira aplicao, o Visual Studio ir direcion-lo para instalar o pacote Azure Tools for Visual Studio, no link a seguir: Windows Azure Tools for Microsoft Visual Studio Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2274a0a8-5d37-4eacb50a-e197dc340f6f&displaylang=en Pronto! Sua mquina est pronta para comear a demo. O primeiro passo ser criar uma base de dados no SQL Azure. CRIANDO UMA BASE NO SQL AZURE Em sua conta no SQL Azure, abra o portal de administrao e crie uma nova instncia de SQL Azure para sua demo. Portal de Administrao do SQL Azure Ref.: https://sql.azure.com/

217

Importante: atravs desta URL, voc ainda opera as bases do SQL Azure atravs do portal antigo de administrao. Somente quando selecionamos a pasta Windows Azure neste portal que somos redirecionados para a interface em Silverlight. Isso ser mais notado na segunda parte desta demonstrao. Fique atento!

Para nossa demo, vamos criar uma base chamada ADVENTUREWORKSAZURE, pois vamos migrar essa base local para o SQL Azure. Ao clicar em Create Database, vamos escolher uma base de 1 GB apenas, pois ser suficiente:

Ao final, temos uma base da verso WEB Edition do SQL Azure, com tamanho mximo de 1 GB de dados. Note que nossa base de administrao e controle master continua na lista. A base master no cobrada como servio do usurio, serve apenas para controle interno do SQL Azure.

218

Outra tarefa importante para nossa aplicao configurar os IPs liberados no FIREWALL do SQL Azure. Isso feito na aba FIREWALL SETTINGS, que voc v na figura abaixo. Em meu exemplo, estou liberando todas as faixas de IPs, pois o cenrio apenas de teste. Em sua aplicao final, faa a correta configurao dos IPs vlidos para consumo do banco na nuvem. Voc poder fazer isso atravs do boto Add Rule.

219

MIGRANDO DADOS PARA O SQL AZURE Agora que temos nossa base criada, podemos usar a ferramenta SQL Azure Migration Wizard para migrar o schema e os dados de uma base local para a nuvem. Vamos escolher uma base conhecida, como o banco AdventureWorks, que voc encontra no link abaixo: AdventureWorks Community Samples Databases for SQL Azure (December CTP) Ref.: http://msftdbprodsamples.codeplex.com/releases/view/37304 A base acima j est compatvel com os objetos suportados pelo SQL Azure. Abrindo o SQL Azure Migration Wizard, vamos escolher a carga a partir de um arquivo TSQL, como vemos a seguir:

Note que escolhi a opo de anlise de compatibilidade e migrao do arquivo. Ainda, estou usando um arquivo reduzido do AdventureWorks, pois retirei parte dos dados, para um teste de carga mais rpido. Mantive as estruturas e schemas do banco sem alterao. Seguindo, o SQL Azure Migration Wizard faz uma varredura de anlise no arquivo TSQL, como vemos a seguir:

220

A partir dessa anlise, a ferramenta pede as credenciais de acesso e o nome do servidor SQL AZURE que vamos usar, veja:

221

Entrando o servidor e credenciais corretamente, o SQL Azure Migration Wizard mostra as bases disponveis na nuvem. Como vemos, nossa base ADVENTUREWORKSAZURE aparece na lista. Vamos selecionar essa base para comear a migrao dos dados locais.

222

Finalmente, podemos avanar e realizar o processo de migrao de dados para a base ADVENTUREWORKSAZURE no SQL Azure.

223

Ao final, nossa instncia de SQL Azure na nuvem possui os dados e tabelas da base AdventureWorks, prontos para consumo.

224

No prximo post, vamos ver a segunda parte dessa demo, com a criao de uma aplicao ASP.NET Web Role que ir consumir a base aqui criada. No perca. Por enquanto s! At o prximo post :) Waldemir.

225

SQL Azure : uma aplicao Web Role com SQL Azure parte 2/2
Fri, Dec 3 2010 10:00 AM Ol pessoal, tudo certo? Esse post a segunda e ltima parte da demonstrao de aplicao ASP.NET consumindo uma base no SQL Azure. Voc confere o post 1 neste link aqui. Na primera parte, criamos uma instncia de SQL Azure na nuvem, pronta para consumo. Importante: este post ainda est compatvel com o portal antigo de administrao do Windows Azure, assim como o SDK 1.2 do Windows Azure. O novo portal de administrao est em Silverlight e entrou em operao esta semana. Em breve, farei a atualizao dos principais recursos e funcionalidades sobre o novo portal, que ficou muito bonito. Aguardem! Agora, vamos criar uma aplicao Web que ir consumir esse dados. CRIANDO UMA APLICAO WEB ROLE PARA WINDOWS AZURE No Visual Studio 2010, selecione a opo FILE / NEW / PROJECT. Quando a janela de novos projetos aparecer, voc deve escolher a opo CLOUD, com o template Windows Azure Cloud Service, para sua linguagem preferida. Nesta demonstrao, estou usando a linguagem Visual C#, veja:

Para o projeto, estou escolhendo o nome AdventureWorksAzure, pois vamos consumir os dados da base ADVENTUREWORKSAZURE, no SQL Azure j criada.

226

Ao selecionar esse template, vamos poder escolher as ROLES necessrias em nossa aplicao. Para nossa demo, vamos escolher apenas a role ASP.NET Web Role, com o nome AdventureWorksWeb, como vemos a seguir:

A seguir, o Visual Studio ir expandir esse template, criando uma aplicao simples de ASP.NET, pronta para uso. Ao final da criao do projeto, voc pode executar a aplicao pela primeira vez, notando a pgina ASP.NET a seguir:

227

Essa aplicao Web Role possui apenas 1 instncia de mquina virtual cadastrada. Voc pode checar isso no arquivo de configurao do projeto, ServiceConfiguration.cscfg, onde vemos o atributo Instance count = 1:

Em nosso ambiente local, nossa aplicao Web executada pelo Development Fabric, um simulador de instncias do Windows Azure que permite testes locais com o ambiente do Visual Studio 2010. Voc pode checar o Development Fabric funcionando atravs do cone a seguir:

Selecionando a opo Show Development Fabric UI, voc ver as instncias de mquinas virtuais criadas em sua estao, quando a aplicao estiver rodando para testes. Rode novamente a aplicao e veja a mquina Web Role em operao:

228

CONSUMINDO DADOS DO SQL AZURE Agora que nossa aplicao ASP.NET est corretamente criada, podemos partir para o binding com o SQL Azure e consumo de seus dados. Para isso, vamos usar um objeto GRIDVIEW, que vamos adicionar na pgina principal de nossa aplicao ASP.NET Web Role, como vemos a seguir:

229

Para o binding do Data Source, vamos escolher a opo New Data Source. Uma janela de configurao ir aparecer, onde vamos selecionar SQL Database. como vemos a seguir:

Estou aceitando o nome default para o data source criado, aqui chamado SqlDataSource1. Como prximo passo, vamos criar uma conexo com o banco de dados. Para isso, vamos selecionar New Connection na janela a seguir:

230

A janela de conexo ir aparecer, onde vamos indicar o nome do servidor SQL Azure que temos, assim como nossas credenciais.

231

Aqui, voc pode usar as mesmas credenciais que usou no SQL Azure Migration Wizard, ou pode ainda usar uma conta de usurio especfica para sua aplicao. Para criar contas especficas, voc pode usar o prprio SQL SERVER MANAGEMENT STUDIO, para conectar ao SQL Azure e operar suas instncias, usurios e dados, do mesmo modo que faz localmente. Quando a conexo for testada, selecione a base de dados ADVENTUREWORKSAZURE, que ir aparecer no combo Select or enter a database name, que vemos na figura acima. A prxima janela indica o nome da ConnectionString corretamente gerada para nossa aplicao. Essa ConnectionString estar configurada no arquivo WEB.CONFIG de nossa WEB ROLE.

232

Podemos agora indicar qual ser nossa consulta SQL sobre nossa base de dados. Vou selecionar uma consulta customizada, como vemos na janela a seguir:

233

Agora, vou entrar uma query customizada, sobre a tabela SALESLT da base ADVENTUREWORKSAZURE que temos no SQL Azure, veja: SELECT [ProductID] ,[Name] ,[ProductNumber] ,[Color] ,[ListPrice] ,[Size] ,[Weight] ,[SellStartDate] ,[ModifiedDate] FROM [ADVENTUREWORKSAZURE].[SalesLT].[Product] GO

234

Fazendo o teste de consulta na janela seguinte, j temos o retorno de dados do SQL Azure em nossa janela do Visual Studio, veja:

235

Finalmente, estamos prontos para executar pela primeira vez nossa aplicao ASP.NET WEB ROLE consumindo dados do SQL Azure. Faa seu F5 e veja os resultados:

236

Uma vez terminado os testes locais, podemos publicar nossa aplicao para o Windows Azure. Isso feito atravs da opo PUBLISH da janela do Solution Explorer no Visual Studio 2010, veja:

Selecionando Publish, temos duas opes para realizar a publicao de aplicao no Windows Azure: ou fazemos manualmente, com o upload dos arquivos de projeto e configurao atravs do portal do Windows Azure; ou fazemos o upload atravs das credenciais cadastradas no Visual Studio. Vamos escolher a segunda opo. Para isso, estou usando minha SUBSCRIPTION ID, que voc encontra no portal do Windows Azure, na aba ACCOUNT, como vemos a seguir:

237

Obtido o Subscription ID, minha opo PUBLISH no Visual Studio pode ser feita, onde vemos a seguinte janela:

238

A janela de Publicao do Visual Studio ainda pede outras informaes alm das credenciais, como o SLOT para deployment, se PRODUO ou STAGE, o nome do STORAGE que ser usado no Windows Azure e um label para o deployment. A partir desses dados, o Visual Studio inicia o processo de upload do projeto, mostrando o andamento da operao:

Ao final da operao, nossa aplicao ASP.NET estar publicada no Windows Azure, no slot de STAGE, como vemos a seguir:

239

Note que no slot de STAGE, nossa aplicao oferece uma URL temporria, apenas para testes. A partir dos testes realizados em STAGE, podemos migrar nossa aplicao para o slot de PRODUO (PRODUCTION), onde teremos acesso a URL definitiva.

Em nosso exemplo, minha URL definitiva a HTTP://ADVENTUREWORKSWEB.CLOUDADPP.NET/, que deve abrir a aplicao ASP.NET WEB ROLE consumindo os dados do SQL Azure, conforme vimos at aqui.

240

Terminamos assim essa demonstrao simples de criao de uma Web Application com base de dados no Windows Azure. Porm, existem muitas outras combinaes de aplicaes que podemos fazer na plataforma Azure. De fato, quanto mais exploro seus recursos, mais me surpreendo com a facilidade de desenvolvimento e clareza de seus projetos. No deixe de visitar o Windows Azure Guidance, que est consolidando muitos outros exemplos para a plataforma. Veja mais no link a seguir: patterns & practices - Windows Azure Guidance Ref.: http://wag.codeplex.com/ Se voc gostou dessa demo ou tem novas sugestes para outras demonstraes, no deixe de colocar seus comentrios. Por enquanto s! At o prximo post :) Waldemir.

241

MSDN Webcast: SQL Azure - Desenvolvimento, Operao e Administraco de dados relacionais sobre o Windows Azure.
Tue, Nov 9 2010 4:00 PM Ol pessoal, tudo certo? Essa semana, farei um MSDN Webcast sobre SQL Azure. Ser na sexta-feira e os dados para participar do evento seguem abaixo: MSDN Webcast: SQL Azure - Desenvolvimento, Operao e Administraco de dados relacionais sobre o Windows Azure.

Viso Geral do Evento: Nesse Webcast, vamos conhecer as principais capacidades do SQL Azure, o banco de dados relacional na plataforma Windows Azure. Veremos algumas boas prticas de programao, migrao e operao de aplicaes com dados na nuvem. Data de Incio: sexta-feira, 12 de novembro de 2010, 12:00 h, Braslia Inscries: https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032470376 &EventCategory=4&culture=pt-BR&CountryCode=BR Vamos percorrer os principais tpicos de arquitetura, desenvolvimento e operaes do SQL Azure. O assunto extenso, mas vamos tentar cobrir alguns pontos comuns e tirar as dvidas do pessoal.

O SQL Azure componente importante da plataforma Windows Azure, fornecendo uma base de dados relacional na nuvem, para aplicaes e servios com alta escalabilidade. Espero vocs no Webcast de sexta-feira ento! Por enquanto s! At o prximo post :) Waldemir.

242

Tech-Ed Brasil 2010 Sesso sobre SQL Azure


Tue, Sep 14 2010 11:00 AM Ol pessoal, tudo certo? Hoje tivemos o segundo dia do Tech-Ed Brasil 2010 e na parte da manh, fiz uma apresentao sobre o SQL Azure, o banco de dados relacional na plataforma Azure. Para lembrar, temos 3 tipos de arquitetura de aplicaes consumindo dados do SQL Azure, como vemos na figura a seguir:

Arquitetura Code Near quando a aplicao e a base de dados esto sobre o Windows Azure. Assim, a aplicao uma Web Role ou Worker Role, consumindo dados do SQL Azure. Arquitetura Code Far quando a aplicao est hospedada em ambiente local (on-premise) e consome dados hospedados no SQL Azure. Esse tipo de cenrio interessante para aplicaes legadas que esto usando dados na nuvem, por exemplo. Arquitetura Hbrida quando a soluo combina aplicao e dados entre o ambiente local e o ambiente na nuvem. Cada cenrio possui seus prs e contras, que devem ser avaliados de acordo com as necessidades da aplicao.

243

Entre os vrios assuntos tratados, apresentei uma demo com diversas classes de conexo com o SQL Azure, usando: ODBC, ADO.NET, OLEDB, LINQ TO SQL, PHP e JAVA. Como combinado, segue abaixo o link para a demo de conexo. Conectando via ODBC 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: using System.Data.Common; 6: using System.Data.Odbc; 7: 8: namespace ConnectDemoApp 9: { 10: public class OdbcConnectionDemo : SQLAzureConnectionDemo 11: { 12: public OdbcConnectionDemo(string userName, string password, string dataSource, string databaseName) : 13: base(userName, password, dataSource, databaseName) 14: { 15: } 16: 17: protected override DbConnection CreateConnection(string userName, string password, string dataSource, string databaseName) 18: { 19: return new OdbcConnection(CreateOdbcConnectionString(userName, password, dataSource, databaseName)); 20: } 21: 22: private string CreateOdbcConnectionString(string userName, string password, string dataSource, string databaseName) 23: { 24: string serverName = GetServerName(dataSource); 25: 26: OdbcConnectionStringBuilder connectionStringBuilder = new OdbcConnectionStringBuilder 27: { 28: Driver = "SQL Server Native Client 10.0", 29: }; 30: connectionStringBuilder["Server"] = "tcp:" + dataSource; 31: connectionStringBuilder["Database"] = databaseName; 32: connectionStringBuilder["Uid"] = userName + "@" + serverName; 33: connectionStringBuilder["Pwd"] = password; 34: return connectionStringBuilder.ConnectionString;

244

35: 36: 37: 38: 39: 40: 41: } 42: }

} protected override DbCommand CreateCommand(DbConnection connection) { return new OdbcCommand() { Connection = connection as OdbcConnection }; }

Conectando via ADO.NET 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: using System.Data.Common; 6: using System.Data.SqlClient; 7: 8: namespace ConnectDemoApp 9: { 10: public class AdoConnectionDemo : SQLAzureConnectionDemo 11: { 12: public AdoConnectionDemo(string userName, string password, string dataSource, string databaseName) 13: : base(userName, password, dataSource, databaseName) 14: { 15: } 16: 17: protected override DbConnection CreateConnection(string userName, string password, string dataSource, string databaseName) 18: { 19: return new SqlConnection(CreateAdoConnectionString(userName, password, dataSource, databaseName)); 20: } 21: 22: private string CreateAdoConnectionString(string userName, string password, string dataSource, string databaseName) 23: { 24: // create a new instance of the SQLConnectionStringBuilder 25: SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder 26: { 27: DataSource = dataSource, 28: InitialCatalog = databaseName, 29: Encrypt = true, 30: TrustServerCertificate = false,

245

31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: } 43: }

UserID = userName, Password = password, }; return connectionStringBuilder.ToString(); } protected override DbCommand CreateCommand(DbConnection connection) { return new SqlCommand() { Connection = connection as SqlConnection }; }

Conectando via LINQTOSQL 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: 6: namespace ConnectDemoApp 7: { 8: public class LinqToSqlConnectionDemo 9: { 10: /// <summary> 11: /// AdventureWorksSqlAzureDataContext takes care of handling your transactions for you 12: /// leaving you free you use Linq to extraxt information stored up in the cloud. 13: /// </summary> 14: public void ConnectToSQLAzureDemo() 15: { 16: HolTestDBEntities context = new HolTestDBEntities(); 17: 18: // get all company names 19: IQueryable<string> emails = from customer in context.Customer 20: select customer.EmailAddress; 21: 22: // display these all on the console 23: foreach (string email in emails) 24: { 25: Console.WriteLine(email); 26: } 27: } 28: } 29: }

246

Conectando via OLEDB 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: using System.Data.Common; 6: using System.Data.OleDb; 7: 8: namespace ConnectDemoApp 9: { 10: public class OleDbConnectionDemo : SQLAzureConnectionDemo 11: { 12: public OleDbConnectionDemo(string userName, string password, string dataSource, string databaseName) 13: : base(userName, password, dataSource, databaseName) 14: { 15: } 16: 17: protected override DbConnection CreateConnection(string userName, string password, string dataSource, string databaseName) 18: { 19: return new OleDbConnection(CreateOleDBConnectionString(userName, password, dataSource, databaseName)); 20: } 21: 22: private string CreateOleDBConnectionString(string userName, string password, string dataSource, string databaseName) 23: { 24: string serverName = GetServerName(dataSource); 25: 26: OleDbConnectionStringBuilder connectionStringBuilder = new OleDbConnectionStringBuilder 27: { 28: Provider = "SQLOLEDB", 29: DataSource = dataSource, 30: }; 31: connectionStringBuilder["Initial Catalog"] = databaseName; 32: connectionStringBuilder["UId"] = userName + "@" + serverName; 33: connectionStringBuilder["Pwd"] = password; 34: 35: return connectionStringBuilder.ConnectionString; 36: } 37: 38: protected override DbCommand CreateCommand(DbConnection connection) 39: {

247

40: return new OleDbCommand() { Connection = connection as OleDbConnection }; 41: } 42: } 43: } Conectando via JAVA 1: // Build a connection string 2: String connectionUrl= "jdbc:sqlserver://server.database.windows.net;" + 3: "database=mydatabase;encrypt=true;user=user@server;password=*****"; 4: 5: // Next, make the sure the SQL Server Driver is loaded. 6: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 7: 8: // Then attempt to get a connection. This will null or throw if we can't get a connection. 9: 10: Connection sqlConn = DriverManager.getConnection(connectionUrl); 11: if (sqlConn == null) 12: { 13: System.out.println("Unable to obtain connection. exiting"); 14: System.exit(1); 15: } 16: 17: // Got a connection, do what you will 18: // Free the connection 19: sqlConn.close(); Conectando via PHP 1: <?php 2: $host = "server.database.windows.net"; 3: $dbname = "database"; 4: $dbuser = "user@server"; 5: $dbpwd = "password"; 6: $driver = "{SQL Server Native Client 10.0}"; 7: 8: // Build connection string $dsn="Driver=$driver;Server=$host;Database=$dbname;Encrypt=true;TrustServerCertificate=tr ue"; 9: if (!($conn = @odbc_connect($dsn, $dbuser, $dbpwd))) { 10: die("Connection error: " . odbc_errormsg()); 11: } 12: 13: // Got a connection, do what you will 14: // Free the connection 15: @odbc_close($conn);

248

16: ?> Bastante coisa! Por enquanto s! At o prximo post :) Waldemir.

SQL Azure Migration Wizard v3.3.6


Mon, Sep 6 2010 9:00 AM Ol pessoal, tudo certo? Esses ltimos dias tenho estado bem enrolado com a preparao das demos e sesses do TechEd Brasil 2010. O evento est chegando. Um de minhas sesses sobre o SQL Azure, falando de questes sobre administrao, operao, conectividade e migrao. Enquanto olhava a demo de migrao, vi que o SQLAzureMW foi atualizado no final de agosto, com a nova verso 3.3.6, veja:

SQL Azure Migration Wizard v3.3.6 Ref. : http://sqlazuremw.codeplex.com/

249

Para quem no conhece SQLAzureMW, vale destacar que ela no suportada pela Microsoft, porm, muito interessante como ferramenta de apoio para testes e desenvolvimento. A ferramenta ofere uma anlise de compatibilidade dos objetos SQL Server para o SQL Azure, assim como retry/chunking durante a migrao. Outro destaque que trabalha muito bem com scrips batch, sendo por isso muito interessante para testes. Como pontos negativos, o processo de carga feito atravs de um arquivo BCP que armazenado localmente, fique atento! Ainda, o TSQL Parser incompleto, mas tem evoludo de verso em verso. Guardadas as ressalvas, uma ferramenta interessante para quem est desenvolvendo para o SQL Azure! Por enquanto s! At o prximo post :) Waldemir.

Novas opes de contratao para o SQL Azure


Wed, Jun 9 2010 3:00 PM Ol pessoal, tudo certo? Novidades no ar!!! Em agosto, teremos novas opes de contratao para o SQL Azure. At hoje, era possvel contratar instncias de 1GB (Web Edition) e 10GB (Business Edition). A partir de agosto, teremos diversas opes de tamanho para bases no SQL Azure, o que amplia a flexibilidade de aplicaes na nuvem. Veja os nmeros abaixo:

SQL Azure Web Edition


$9.99 per database up to 1GB per month $49.45 per database up to 5GB per month**

SQL Azure Business Edition

250

$99.99 per database up to 10GB per month** $199.98 per database up to 20GB per month** $299.97 per database up to 30GB per month** $399.96 per database up to 40GB per month** $499.95 per database up to 50GB per month**

Para maiores detalhes, veja a pgina do portal Azure: http://www.microsoft.com/windowsazure/offers/ E na pgina de detalhes a seguir: http://www.microsoft.com/windowsazure/offers/popup.aspx?lang=en&locale=enUS&offer=MS-AZR-0013P E nas sesses do Tech-Ed North America 2010, que est acontecendo essa semana, veja: http://www.microsoft.com/events/techednorthamerica/ COS305 | Microsoft SQL Azure Development Best Practices Session Type: Breakout Session Track: Cloud Computing & Online Services Speaker(s): Rick Negrin Level: 300 - Advanced COS311 | Migrating Applications to Microsoft SQL Azure Session Type: Breakout Session Track: Cloud Computing & Online Services Speaker(s): Cihan Biyikoglu Level: 300 - Advanced Super Novidade!!! O Tech-Ed Brasil 2010 promete!!! Aproveite para conferir o site do evento:

Ref.: http://www.teched.com.br/2010/ Por enquanto s! At o prximo post :) Waldemir.

251

SQL Azure Explorer um Addin para Visual Studio 2010 Beta 2


Wed, Dec 16 2009 8:03 AM Ol pessoal, tudo certo? Em minhas andanas pelo Visual Studio 2010 Beta 2, um Addin bem interessante que vale o destaque o SQL Azure Explorer, que est disponvel para download como projeto no CodePlex, veja:

Ref.: http://sqlazureexplorer.codeplex.com/ O que h de interessante nesse Addin? Ele permite que de dentro do Visual Studio 2010 o desenvolvedor navegue pelos objetos presentes em bases colocadas no SQL Azure Database, l na nuvem. A partir da instalao do Addin, o Visual Studio 2010 Beta 2 oferece uma nova opo no menu Tools (Ferramentas), como vemos abaixo:

Abrindo a janela do SQL Azure Explorer, voc poder configurar sua conta para acessar o SQL Azure Database online, algo como:

252

Feita a configurao de suas credenciais para a nuvem, a janela do SQL Azure Explorer ir navegar pelos objetos presentes na nuvem, veja:

Na janela acima notamos as bases Northwind, HolTestDB, SSDAYDB e SSDAYDBADONET, todas elas criadas durante meus testes com a plataforma Azure. O que bacana com esse Addin que posso navegar os objetos de cada base, como vemos na figura a seguir. Veja as stored procedures colocadas na base Northwind na nuvem, por exemplo:

253

Finalmente, podemos ainda executar consultas sobre as tabelas de uma base no SQL Azure Database, como as TOP 100 linhas, por exemplo:

A consulta acima retorna as linhas a seguir (um trecho do retorno):

254

Note que estou dentro do Visual Studio 2010 Beta 2, ou seja, uma grande ajuda para o desenvolvedor que ir trabalhar de forma integrada com a nuvem. Legal n? Se voc gostou, faz barulho!! :) Em breve, vamos discutir alguns cenrios de integrao on-premise e cloud, que a arquitetura de solues sobre a plataforma Microsoft nos apresenta, aguardem! Por enquanto s! At o prximo post :) Waldemir.

SQL Azure: Frequently Asked Questions (FAQ)


Mon, Dec 7 2009 12:35 PM Ol pessoal, tudo certo? Considerando as vrias perguntas frequentes sobre o SQL Azure, vale lembrar o link para o FAQ da plataforma Azure: Frequently Asked Questions (FAQ) Ref.: http://www.microsoft.com/windowsazure/faq/ Porm, algumas questes esto espalhadas entre vrias partes do FAQ, alm de novidades colocadas em apresentaes do PDC09. Assim, segue abaixo alguns pontos importantes que consolidei para vocs, especificamente sobre o SQL Azure: Bulk Copy suportado na v1 do SQL Azure. O argumento QUERYOUT do BCP no suportado por enquanto. Linked Server no suportado na v1 do SQL Azure.

255

.NET CLR no suportado na v1 do SQL Azure. SQL Server Error Log no suportado na v1 do SQL Azure. Change Tracking no suportado na v1 do SQL Azure. SQL Agent no suportado no SQL Azure. SQL Profile no suportado na v1 do SQL Azure. Replication no suportado na v1 do SQL Azure. Recomenda-se o uso de SSIS para mover dados entre on-premise e SQL Azure. Podemos criar uma base de dados indicando o tamanho desejado, se Web Edition (1GB) ou Business Edition (10BG), fazendo:

CREATE DATABASE foo (MAXSIZE = 1GB) ou CREATE DATABASE foo (MAXSIZE = 10GB)

O nvel de isolamento default na v1 do SQL Azure o Snapshot Isolation. Spatial data types no suportado na v1 do SQL Azure porque eles tm uma dependncia com o .NET CLR, que no suportado. Podemos usar SSIS conectado via ADO.NET para fazer a migrao de dados entre on-premise SQL e SLQ Azure. Outra forma de migrao a ferramenta SQL Azure Migration Wizard, uma ferramenta desenvolvida pela comunidade disponvel no site http://sqlazuremw.codeplex.com/. Tambm possvel acompanhar uma demo de migrao de dados disponvel no Windows Azure Training Kit de Outubro/Novembro 2009, no link http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B30953B7B77EDF78&displaylang=en. BI - Business Intelligence no parte da oferta de v1 do SQL Azure. Ofertas de BI, Analysis Services e Reporting Services esto sendo trabalhadas para as verses futuras. Entretando, j podemos acesso o SQL Azure a partir da solues local de Reporting Services e Analysis Services on-premise. Isso j possvel. Existem ainda algumas limitaes sobre aes com LOGIN e DATABASE na v1 do SQL Azure. Quando executamos CREATE/ALTER/DROP LOGIN ou CREATE/DROP DATABASE em aplicaes ADO.NET, o uso de comandos parametrizados no suportado. Algumas consideraes so colocadas no link abaixo: http://msdn.microsoft.com/en-us/library/ee336245.aspx

256

Usurios em CTP podem criar at 6 bases de dados no SQL Azure, incluindo a master. Usurios comerciais podero criar quantas bases desejarem. O SQL Azure v1 no oferece mecanismos de particionamento automtico de dados. Em breve, sero disponibilizados guias e application patterns sobre como fazer isso em nossas aplicaes. Quando o tamanho limite da base de dados alcanado, qualquer ao de adio de novos dados ir resultar em trmino da sesso. Operaes de leitura continuaro funcionando, assim como as operaes de delete e drop, permitindo reduzir o tamanho da base de dados. Podemos consultar o tamanho atual da base de dados atravs do portal do SQL Azure (https://sql.azure.com/). Por enquanto, no possvel descobrir o tamanho de forma programtica, o que ser resolvido em verses futuras. A Microsoft recomenda a realizao de back-ups para a recuperao em caso de perdas de dados (por exemplo, a deleo acidental de dados pela aplicao do usurio). Podemos usar o SSIS para a realizao desses back-ups. No futuro, o SQL Azure ir suportar tambm comandos BCP. Internamente, o SQL Azure realiza back-ups peridicos, alm de checks de consistncia para recuperao de falhas de hardware, mas so para uso internos somente. possvel conectar ao SQL Azure com o SSMS 2008 atualmente, mas Object Browser no suportado. Ainda, algumas mensagens de erro eventuais devem ser ignoradas, como: "Unable to apply connection settings. The detailed error message is: ANSI_NULLS is not a recognized SET option." Apenas click ok e siga trabalhando! Um exemplo clssico de connection string para o SQL Azure Database dado a seguir: "Server=tcp:server.database.windows.net;Database=master;User ID=user@server;Password=password;Trusted_Connection=False;" Essa string ir funcionar em qualquer tipo de aplicao, seja on-premise ou uma Role sobre o Windows Azure. Bom, assim conseguimos cobrir muitas questes comuns na v1. Vamos aos testes agora!!! Por enquanto s! At o prximo post :) Waldemir.

257

258

Captulo 8
Windows Server AppFabric

Retornando ao ambiente on-premise, muitas empresas enfretam at hoje grandes desafios com a administrao de servios, workflows e solues Web baseadas em Web Services. Entre as principais questes temos administrao de servios, lista de endpoints em uso, monitorao, persistncia de workflows de longa durao, gerenciamento, caching de dados distribudos, etc. Nesse cenrio, a Microsoft lanou o Windows Server AppFabric, que uma extenso do Windows Server 2008, ajudando enormente a administrao e implantao de cenrios baseados em servios e workflows. Veja mais sobre o AppFabric neste captulo.

259

AppFabric in a Box : Uma viso sobre solues baseadas em servios


Mon, Nov 8 2010 4:00 PM Ol pessoal, tudo certo? Como primeiro post da srie AppFabric in a Box, vamos rever uma arquitetura de aplicao orientada a servios, o que muitos arquitetos chamam de LITTLE SOA, ou SOA no escopo da aplicao. O desenho a seguir ilustra esse tipo de composio:

A figura acima mostra 3 camadas simples de uma aplicao:

O Front-End, onde interfaces clientes Web, Desktop e Mobile oferecem uma porta de entrada para dados e respostas para o usurio. Independente do modelo rico no desktop ou rico no browser, atravs de aplicaes RIA Rich Internet Applications, temos uma separao clara entre as funcionalidades de navegao mais interao do usurio com as camadas internas da aplicao, responsveis pela lgica da aplicao e acesso a dados. Vemos ainda uma camada Middle-Tier, que oferece funcionalidades como o hosting da lgica de navegao, tarefas executada no server-side ou mesmo consolidao de chamadas para outros servios externos da soluo. Finalmente, a camada Back-End, que oferece os servios de negcio, acesso ao modelo de dados e lgica da aplicao.

260

Se voc concorda com essa diviso exemplo, podemos focar a partir de agora somente os servios no Back-End, onde podemos reconhecer dois tipos bsicos:

Servios implementados via WCF com acesso via SOAP Servios implementados via WF e exportados com interfaces WCF.

O desenho abaixo ilustra esse ambiente, veja:

Vemos acima que para servios implementados via WCF Windows Communication Foundation, definimos seus mtodos e funcionalidades atravs de codificao, utilizando um modelo de programao bem definido, com suporte para diversos tipos de comportamentos, como transao, multi-threading, isolamento, criptografia, etc. Ainda, para um servio WCF podemos definir contratos de servios e contratos de dados, o que permite controle sobre o versionamento dos servios disponveis no Back-End da aplicao. Um desenho geral de servio WCF visto abaixo:

261

Finalmente, vemos tambm que servios podem ser implementados visualmente atravs do WF Windows Workflow Foundation. A grande vantagem desse modelo de programao est na legibilidade de cdigo, alm de suporte para processo de longa durao e um modelo de servios baseado em tarefas que podem ser compostas de facilmente. Um desenho geral de servio Workflow visto a seguir:

Uma pergunta que surge com frequncia : quando devo optar por um servios WCF puro e quando deve usar um servio WF com interface WCF? Uma resposta simples seria: Utilize um servio WCF WORKFLOW SERVICES somente se voc identifica a necessidade de processos de longa durao, ou seja, processos que sero persistidos por algum tempo, sendo descarregados da memria para mais tarde serem carregados novamente a partir de um determinado evento. Alm do aspecto de persistncia de longa durao, se legibilidade de cdigo

262

e desenvolvimento visual forem requisitos desejados, WCF WORKFLOW SERVICES a melhor escolha. Acrescente ainda o comportamento como mquina de estado, flowchart, suporte para eventos capturados em paralelo (como lista de aprovaes, retorno de emails, etc), coordenao de tarefas, etc. ou seja, cenrios comuns de aplicaes orientadas a workflows. Para todos os demais cenrios sem aspectos de workflow como descritos acima, utilize servios com WCF SOAP SERVICES simples. Claro, SOAP uma escolha interessante como Binding de comunicao para cenrios inter-redes ou que atravessam Firewalls existentes, pois estamos falando de uma porta 80 conhecida, porm ainda estamos trafegando dados em XML sobre SOAP. Para solues que exigem melhor desempenho, escolha Bindinds binrios e compactos, como netTCP, NamedPipe, etc, assim como bindings voltados para mensageria como MSMQ, quando comunicao assncrona for um requisito. Importante notar que com servios WCF SOAP SERVICES, temos uma interface codificada em .NET, sem os aspectos visuais de programao que temos usando o WF framework. Isso oferece maior controle sobre a codificao, mas tambm exigir maior codificao. Finalmente, novos protocolos e cenrios de servios esto se tornando populares como WCF DATA SERVICES, onde a interface de entrega via protocolos ODATA e REST. Esse tipo de cenrio tambm interessante e podemos adicion-lo como alternativa quando nossa aplicao deseja oferecer uma interface para consumo de dados mais legvel pela Web. Para saber mais sobre WCF DATA SERVICES, veja uma bela introduo feita no blog do Luciano Lima: WCF Data Service Ref.: http://www.lucianolima.com.br/post/2010/06/23/WCF-Data-Service.aspx Ainda sobre WCF, confira os posts do Israel Aece WCF Ref.: http://www.israelaece.com/category/WCF.aspx Finalmente, o especialista Rafael Godinho tem falado bastante sobre servios com workflow services, veja: Workflow Services Ref.: http://blogs.msdn.com/b/rafaelgodinho/ Finalmente, veja um template para servios WCF Data Services sobre AppFabric. Vamos falar mais disto em breve: AppFabric WCF Data Services Ref.: http://code.msdn.microsoft.com/afWCFDataService/Release/ProjectReleases.aspx?ReleaseId=49 73

263

No prximo post, vamos avanar nos aspectos de administrao e monitorao de servios do Back-End sobre o Windows Server AppFabric. Por enquanto s! At o prximo post :) Waldemir.

AppFabric in a Box : Arquitetura do Windows Server AppFabric


Wed, Nov 10 2010 10:00 AM Ol pessoal, tudo certo? Continuando nossa srie sobre servios e workflows com AppFabric, vamos dar uma olhada nos principais componentes e mdulos que suportam servios com essa infraestrutura. No post anterior, vimos que sobre o Windows Server AppFabric podemos trabalhar com dois tipos bsicos de servios: WCF SOAP Services e WCF Workflow Services:

Sem o AppFabric, esses servios so hospedados sobre o IIS / WAS, que oferecem os componentes de disparo e tratamento de requisies via HTTP ou o protocolo escolhido (por exemplo, para o HTTP, temos o HTTP Protocol Listenet, assim como para TCP, NamedPipe, etc). Uma vez instalado o Windows Server AppFabric, extendemos as funcionalidades do IIS/WAS com novos recursos para a administrao e execuo de servios. O desenho abaixo apresenta a arquitetura geral do Windows Server AppFabric:

264

No desenho, olhando de baixo para cima, vemos que a base o sistema operacional, com o IIS / WAS suportando as requisies feitas para nossos servios. Como principais componentes sobre essa infraestrutura, o Windows Server AppFabric trabalha com bases de dados para a persistncia de workflows de longa durao, assim como dados de monitorao durante a execuo de servios e atividades executadas pelos workflows. Ainda, funcionalidades para controle e administrao de servios, disponibilidade, monitorao e caching unificado so tambm disponibilizados. Para o desenvolvimento com Visual Studio, encontramos templates prontos de WCF e WF. Para a administrao feita pelo IT Pro, scritps e cmdlets em PowerShell permitem total controle e acesso s informaes coletadas pela infraestrutura do AppFabric. No prximo post, vamos falar um pouco mais sobre essa infraestrutura. Enquanto isso, aproveite para dar uma olhada em outros posts sobre AppFabric que j apareceram por aqui no blog, abaixo: Ref.: http://blogs.msdn.com/b/wcamb/archive/tags/appfabric/ Por enquanto s! At o prximo post :) Waldemir.

265

AppFabric in a Box : Um exemplo de soluo Web com alta performance


Fri, Nov 19 2010 10:00 AM Ol pessoal, tudo certo? Mais um post sobre Windows Server AppFabric. Confira o desenho abaixo, sobre uma soluo Web, com um FARM de servios para as pginas ASP.NET, assim como servios e workflows WCF/WF.

Nesse desenho, vemos ainda o uso de diretrio AD para autenticao de usurios, assim como um cluster de mquinas com Windows Server AppFabric dedicado para um CACHE UNIFICADO da soluo. Parte desse cache tambm pode utilizar um STORE em XML. Finalmente, uma mquina SQL Server foi dedicada para suportar as bases do AppFabric, para HOSTING, PERSISTENCE e MONITORING na soluo. Esse desenho um belo exemplo de implementao para um cenrio de alta escalabilidade, suportando uma aplicao Web com grande nmero de usurios. Note ainda que a soluo ASP.NET est usando o ASP.NET Session State sobre o AppFabric, o que oferece grandes benefcios de performance. Para saber mais sobre esse tipo de soluo, usando ainda WebFarm e Clusters, veja os documentos abaixo:

266

Windows Server AppFabric Web Farm Guide Ref.: http://social.technet.microsoft.com/wiki/contents/articles/appfabric-web-farm-guideintro.aspx Windows Server AppFabric Architecture Guide Ref.: http://download.microsoft.com/download/A/5/B/A5B0ED08-844F-4E37-9F0FBEE9F3043907/AppFabricArchGuide.docx Por enqunto s! At o prximo post :) Waldemir.

AppFabric in a Box : Tipos de workflows e recursos diversos


Thu, Nov 25 2010 10:00 AM Ol pessoal, tudo certo? Um dos projetos que estou acompanhando possui um cenrio bem interessante para workflows. Esse assunto muito comum em diversas empresas e no raro encontrar times que confundem os cenrios de aplicao para workflows. Aplicaes baseadas em workflows podem ser classificadas de diferentes formas. Podemos identificar duas categorias de aplicaes de modo geral: System Workflow ou workflows baseados em sistemas. Human Workflow ou workflows baseados em interao humana (usurios). Essas duas categorias so amplamente encontradas em diversos tipos de solues e exigem funcionalidades e recursos prprios. Ainda, seja para human workflows ou system workflows, podemos classificar as aplicaes baseadas em workflows de acordo com o mecanismo de transporte de mensagens, como:

Sistemas de workflows baseados em arquivos que funcionam atravs de armazenamento de arquivos, processamento de documentos, imagens e gerenciamento de formulrios. Exemplo: soluo de workflow disparada automaticamente via monitorao de pastas ou repositrios de arquivos e formulrios, para o tratamento de fluxos de aprovao ou processamento de dados via arquivos; Sistemas de workflows baseados em mensagens - funcionam atravs de mensageria sobre sistemas de e-mail, permitindo manipulao de mensagens simples e de forma paralela.

267

Exemplo: soluo de workflow implementada via interfaces de servios, disparados atravs de links publicados em mensagens por e-mail; Sistemas de workflows baseados em Web - so sistemas baseados em interfaces Web, que utilizam clientes Web e navegao de pginas HTML para a exposio de funcionalidades e fluxos de trabalho, que so disparados pelos usurios via browsers. Exemplo: soluo ASP.NET, AJAX ou MVC hospedada em servidor IIS, oferecendo links ou pginas para disparo de workflows implementados via interfaces de servios Web Services; Sistemas de workflows baseados em Sute - categoria de solues baseadas em sutes de mercado, como solues de escritrio, integrao de portais, integrao com sistemas de formulrios, e-mails e gerenciamento de formulrios e documentos. Exemplo: solues de colaborao e aprovao de documentos/formulrios sobre plataforma Microsoft SharePoint Server e clientes Office;

Na plataforma Microsoft, podemos identificar 3 grandes cenrios para o suporte de workflows: WF Windows Workflow Foundation, que um framework de desenvolvimento para a construo de aplicaes baseadas em workflows, para cenrios de human workflow (workflows com interao de usurios) e system workflows (workflows com interao de sistemas). SharePoint Server 2010, que uma plataforma de colaborao, com recursos prontos para solues baseadas em workflows e aprovao de documentos, fluxos de trabalhos baseados em formulrios, repositrio de documentos, workflows baseados em mensagens, entre outros recursos. BizTalk Server 2010, que uma plataforma de integrao de aplicaes, com recursos prontos para transformao de mensagens, orquestrao de trabalhos e chamadas para web services, publicao e subscrio de mensagens e operaes de integrao entre plataformas. Assim como ocorre com o SharePoint Server 2010, a plataforma BizTalk Server 2010 permite a integrao de workflows e servios criados com o Windows Workflows Foundation, aproveitando os vrios componentes criados na plataforma .NET.

Pensando em WF, esse framework foi publicado primeiramente no .NET 3.0, sofrendo atualizaes e evolues constantes nas verses posteriores do .NET Framework,. A figura a seguir ilustra algumas dessas atualizaes e componentes do .NET Framework ao longo do tempo, confira:

268

Dentro do Visual Studio 2010, um dos templates importantes para a construo de workflows o WCF WORKFLOW SERVICE APPLICATION, que permite a construo de um workflow com uma interface de servio WCF. Isso permite que clientes enviem requisies para o workflow da mesma forma que o fazem para Web Services com WCF. Uma estrutura tpica de WCF WORKFLOW SERVICE APPLICATION aparece na figura a seguir:

269

Finalmente, pensando na plataforma SharePoint Server 2010, possvel a criao de human workflows e system workflows personalizados, assim como a utilizao de workflows j prontos, disponveis na plataforma. A lista a seguir apresenta os principais workflows disponibilizados com a instalao do ambiente, sem necessidade de codificao:

Workflows de aprovao Workflows para coleta de feedback sobre documentos Workflows para coleta de assinaturas digitais Workflows para controle de descarte de documentos Workflows para geenciamento de eventos personalizados Workflows para grupos de aprovao Workflows para gerenciamento de tradues de documentos

Cada cenrio de workflow acima apresenta caractersticas prprias, que definem o formato de dados, a interface com o usurio, o comportamento do workflow, assim como recursos necessrios para sua execuo. Por isso, quando estiver pensando em workflows para suas aplicaes, faa uma anlise criteriosa sobre quais caractersticas so realmente necessrias.

270

Primeiramente, procure classificar sua necessidade entre Human Workflow e System Workflow. Mas por que esse post fala tanto de workflows e tem o AppFabric in a Box em seu ttulo? :) A resposta porque o Windows Server AppFabric oferece os principais recursos para persistncia, monitorao, tracking e hospedagem para workflows na plataforma Microsoft, com o WF4. No prximo post, vamos continuar falando sobre esses recursos do ambiente AppFabric para workflows. No perca! Por enquanto s! At o prximo post :) Waldemir.

Windows Server AppFabric: tracking profile e monitorao de servios parte 1


Wed, Jan 26 2011 10:00 AM Ol pessoal, tudo certo? Um assunto de destaque sobre o Windows Server AppFabric sua capacidade de monitorao e tracking de informaes sobre o que acontece com nossos servios. Vamos aproveitar esse post para falar mais sobre isso. Esta a primeira parte de uma srie de 3 posts. Nota: encontre um IT Pro amigo seu e convide-o para ler esse post com voc, caro arquiteto. Creio que ele vai gostar de ouvir sobre monitorao, tracking de eventos, Performance Monitor e Event Tracing for Windows (ETW) :) Quando falamos sobre Monitorao de servios e workflows na plataforma Windows, temos diversas ferramentas disponveis:

Performance Monitor Event Viewer Cmdlets do PowerShell Event Tracing for Windows Tracking Profile no Windows Server AppFabric

Qual dessas ferramentas voc mais utiliza? Para responder, voc pode perguntar: mas para que situao voc quer ativar a monitorao?Correto! Temos mesmo duas situaes de monitorao importantes, as mais comuns:

271

a monitorao para saber como anda a sade da aplicao (health monitoring, por exemplo) a monitorao para descobrir o que aconteceu com a aplicao, em caso de problemas (troubleshooting e debugging). Podemos ainda logar eventos para cenrios de negcio, mapeamento de baseline, auditoria de mensagens, etc. Temos ento duas demandas e profissionais com necessidades muito diferentes: O desenvolvedor, que espera do ambiente algumas informaes sobre o comportamento de servios e workflows, em tempo de desenvolvimento. Seria interessante obter, por exemplo, o histrico de chamadas sobre um servio WCF Service, ou ainda, o histrico de eventos e atividades executadas por um conjunto de workflows executados em ambiente de testes. Claro, podemos sempre utilizar o ambiente de testes do Visual Studio 2010 para essas aes, mas algumas situaes, especialmente cenrios de persitncia, colaborao de workflows, correlao de mensagens, etc, exigem a depurao em ambiente servidor. Um ambiente de testes e homologao torna-se uma ferramenta quase obrigatria para esses cenrios. O profissional de TI, administrador de rede ou IT Pro, que espera informaes detalhadas sobre o comportamento da aplicao em produo. Uma demanda constante obter o mnimo de valores sobre o comportamento geral e a sade da aplicao em execuo. Em caso de problemas, a ferramenta de monitorao precisa permitir uma inspeo rpida sobre a configurao ativa, assim como informaes sobre onde o problema est ocorrendo e qual sua gravidade. Duas personas diferentes, envolvidas com o mesmo cenrio: hospedagem e execuo de servios e workflows na plataforma Windows. Nesse contexto, o Windows Server AppFabric est integrado com o Event Tracing for Windows para a monitorao de servios WCF e workflows WF. De fato, o Windows Server AppFabric instala em sua mquina o servio Event Collector Service, que consolida em base de dados os eventos capturados pelo ETW. Isso garante uma base de dados de monitorao histrica, sobre a qual podemos realizar nossas anlises e observaes. A figura a seguir ilustra os componentes integrados do ETW com o Windows Server AppFabric.

272

Podemos ainda configurar diferentes nveis de monitorao, que so opes disponveis na configurao do AppFabric. Assim, podemos usar os chamados tracking profiles prconfigurados para nossa aplicao, como vemos a seguir:

Troubleshooting End-to-End Monitoring Health Monitoring (default) Erros Only Off

Para essa configurao, abra o IIS Manager e selecione a pasta de seu Web Site. Por exemplo, para Default Web site, escolha o menu Manage WCF and WF Services | Configure. Veja a figura a seguir:

273

A janela de configurao do AppFabric para o WebSite ser aberta e nela, podemos escolhe o nvel de detalhamento da monitorao desejada, veja:

274

Na figura acima, vemos a opo de Health Moniroting selecionada para o nvel de monitorao do Default Web Site. Podemos fazer a mesma configurao personalizada para nossa aplicao. De fato, estamos aplicando aqui um tracking profile para captura de eventos. Quando falamos sobre tracking profile, o Windows Server AppFabric permite configurar um profile a partir de uma vasta lista de opes. Para descorbir qual o tracking profile ativo, abra a janela do IIS Manager, clique sobre a pasta de sua aplicao e selecione a opo Services do AppFabric. Voc ver as informaes de servios configurados para a aplicao, assim como o TrackingProfileName usado.

275

Esse post deu uma rpida viso sobre monitorao integrada no ambiente Windows Server AppFabric. No prximo post veremos mais detalhes sobre configurao de tracking profiles personalizados para servios e workflows.Fique ligado! Por enquanto s! At o prximo post :) Waldemir.

276

Windows Server AppFabric: tracking profile e monitorao de servios parte 2


Fri, Jan 28 2011 10:00 AM Ol pessoal, tudo certo? Vamos continuar falando sobre Windows Server AppFabric e Monitorao de servios nesse post. No post anterior vimos que o AppFabric permite selecionar e aplicar diferentes nveis de monitorao, tanto para todo o servidor IIS como para uma aplicao especfica. Quando escolhemos um nvel de monitorao estamos de fato aplicando um tracking profile prdefinido do ambiente, que configura quais eventos, variveis de mensagens e de ambiente sero capturados e registrados na base de monitorao. Vemos isso selecionando a aplicao no IIS Manger e fazendo um right-click na pasta da aplicao. Escolhendo a opo Configure, veremos a aba de Monitorao (Monitoring).

Clicando no boto Configure acima, voc ver todas as opes de tracking profiles disponveis para a aplicao.

277

Entretanto, podemos ainda customizar um tracking profile especfico para nosso workflow WF. Isso feito atravs de uma configurao no arquivo Web.Config de nosso servio WCF Workflow Services, no ambiente do Visual Studio 2010. Ainda no possvel fazer essa customizao de forma visual, assim, precisamos mesmo criar uma seo XML no arquivo de configurao para essas definies de forma manual. Para verificar esse tipo de configurao, abra a soluo OrderApplication.sln, que est instalada em seu pacote Windows Server AppFabric Samples, no diretrio local C:\Windows Servre AppFabric Samples\SampleApplication\OrderApplication. Nota: se voc ainda no instalou o pacote de exemplos acima, no perca tempo! Instale agora mesmo a partir do link a seguir: Windows Server AppFabric Samples Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=DB665003-44C5-4E259CE1-C53512F24492 Instalao e Leitura Obrigatria!!! :) Uma vez aberta a soluo, abra o arquivo de configurao Web.Config do projeto SaleService, que implementa um servio workflow. Note que existe uma entrada

278

<etwTracking profileName="Sale Service Order Tracking" />, que define um novo profile customizado para a aplicao. <etwTracking profileName="Sale Service Order Tracking" /> Esse novo profile est definido com o nome Sale Service Order Tracking e est logo abaixo no arquivo Web.Config, onde vemos o trecho de cdigo a seguir: 1: 2: <tracking> 3: <profiles> 4: <trackingProfile name="Sale Service Order Tracking"> 5: <workflow activityDefinitionId="*"> 6: <workflowInstanceQueries> 7: <workflowInstanceQuery> 8: <states> 9: <state name="*" /> 10: </states> 11: </workflowInstanceQuery> 12: </workflowInstanceQueries> 13: <activityStateQueries> 14: <activityStateQuery activityName="Assign Catalog Expired Status"> 15: <states> 16: <state name="Closed" /> 17: </states> 18: <variables> 19: <variable name="StatusText" /> 20: </variables> 21: </activityStateQuery> 22: <activityStateQuery activityName="Process New Order"> 23: <states> 24: <state name="Closed" /> 25: </states> 26: <variables> 27: <variable name="StatusText" /> 28: <variable name="NewPurchaseOrder" /> 29: <variable name="PurchaseTotal" /> 30: </variables> 31: </activityStateQuery> 32: <activityStateQuery activityName="ShippingProcessor: Fill Order"> 33: <states> 34: <state name="Closed" /> 35: </states> 36: <variables> 37: <variable name="StatusText" /> 38: </variables>

279

39: </activityStateQuery> 40: <activityStateQuery activityName="ShippingProcessor: Ship Order"> 41: <states> 42: <state name="Closed" /> 43: </states> 44: <variables> 45: <variable name="StatusText" /> 46: </variables> 47: </activityStateQuery> 48: <activityStateQuery activityName="Cancel Order"> 49: <states> 50: <state name="Closed" /> 51: </states> 52: <variables> 53: <variable name="StatusText" /> 54: </variables> 55: </activityStateQuery> 56: </activityStateQueries> 57: <faultPropagationQueries> 58: <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" /> 59: </faultPropagationQueries> 60: <bookmarkResumptionQueries> 61: <bookmarkResumptionQuery name="*" /> 62: </bookmarkResumptionQueries> 63: <customTrackingQueries> 64: <customTrackingQuery name="*" activityName="*" /> 65: </customTrackingQueries> 66: </workflow> 67: </trackingProfile> 68: </profiles> 69: </tracking> Pronto, sua aplicao agora possui um tracking profile definido de forma customizada e que ser usado pelo AppFabric no momento de coleta de eventos atravs do ETW. Aproveite para executar a soluo OrderApplication aberta, a partir de seu Visual Studio 2010. Depois, entre no AppFabric Dashboard e consulte as informaes sobre a aplicao. Voc ver que o tracking profile name definido ser o Sale Service Order Tracking, com a coleta de eventos customizada.

280

Gostou? :) Nota: esse post no entrou em detalhes sobre os elementos XML e tuning do tracking profile, mas j deu para ter uma ideia do grau de customizao que podemos colocar em nosso ambiente com o Windows Server AppFabric, principalmente para cenrios com workflows WF. Concorda? Existem ainda outros cenrios de monitorao mais sofisticados e completos. Para ambientes corporativos, podemos usar a infraestrutura System Center Operations Manager da Microsoft, que fala nativamente com o ambiente AppFabric. Para esse tipo de cenrio, o componente de integrao o Management Pack para AppFabric que vemos a seguir: Windows Server AppFabric Management Pack for Operations Manager 2007 Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7E870C9A-0B5B-4CCA8D8C-42A66B8C9741&amp%3Bdisplaylang=en Se sua empresa j possui o SCOM instalado, avise o pessoal que o Management Pack importante para integrar seus ambientes servidores com Windows Server AppFabric. Em posts futuros, vamos falar mais sobre o tema e outras ferramentas de monitorao na plataforma Microsoft. Por enquanto s! At o prximo post :) Waldemir.

281

Windows Server AppFabric: tracking profile e monitorao de servios parte 3


Sat, Feb 5 2011 9:00 AM Ol pessoal, tudo certo? Alguns posts atrs, falamos sobre tracking profile para monitorao de workflows publicados no Windows Server AppFabric. Muita gente ficou interessada no cenrio e me pediram alguns exemplos com cdigo, para download e testes locais. Assim, aqui temos um projeto de um WCF Workflow Service que usa no Web.Config uma seo de Tracking Probile. O desenho do workflow voc v abaixo:

No workflow acima, estamos recebendo dois valores, param_in1 e param_in2. Com esses valores, fazemos um clculo qualquer na CodeActivity chamada CodeActivityCalcular. Como

282

podemos ter um algum problema nesse clculo, por exemplo, um Diviso por Zero ou outra exceo, fiz a chamada da CodeActivity via TryCatch. Assim, as principais atividades deste workflow so:

RecebeParametros TryCatchCodeActivityCalcular EnviaResposta

Para essas atividades, estamos usando as seguintes variveis e parmetros importantes para a execuo do workflow, que so:

Como vamos hospedar esse workflow no Windows Server AppFabric, gostaria de publicar os valores dessas variveis no painel de eventos rastreados do AppFabric. Isso feito atravs da definio de um novo tracking profile no Web.Config do servio. Dentro da seo de definio do novo tracking profile, podemos descrever as variveis que vamos exportar em eventos especficos de algumas atividades, como vemos no trecho de Web.Config a seguir: 1: <tracking> 2: <profiles> 3: <trackingProfile name="CalcServiceTracked Tracking Profile"> 4: <workflow activityDefinitionId="*"> 5: 6: <workflowInstanceQueries> 7: <workflowInstanceQuery> 8: <states> 9: <state name="*" /> 10: </states> 11: </workflowInstanceQuery> 12: </workflowInstanceQueries> 13: 14: <activityStateQueries> 15: <activityStateQuery activityName="RecebeParametros"> 16: <states> 17: <state name="Closed" /> 18: </states>

283

19: <variables> 20: <variable name="param_in1" /> 21: <variable name="param_in2" /> 22: <variable name="param_out" /> 23: </variables> 24: </activityStateQuery> 25: 26: <activityStateQuery activityName="TryCatchCodeActivityCalcular"> 27: <states> 28: <state name="Closed" /> 29: </states> 30: <variables> 31: <variable name="param_in1" /> 32: <variable name="param_in2" /> 33: <variable name="param_out" /> 34: <variable name="param_error" /> 35: </variables> 36: </activityStateQuery> 37: 38: <activityStateQuery activityName="EnviaResposta"> 39: <states> 40: <state name="Closed" /> 41: </states> 42: <variables> 43: <variable name="param_in1" /> 44: <variable name="param_in2" /> 45: <variable name="param_out" /> 46: </variables> 47: </activityStateQuery> 48: 49: </activityStateQueries> 50: 51: <faultPropagationQueries> 52: <faultPropagationQuery faultSourceActivityName="*" faultHandlerActivityName="*" /> 53: </faultPropagationQueries> 54: 55: <bookmarkResumptionQueries> 56: <bookmarkResumptionQuery name="*" /> 57: </bookmarkResumptionQueries> 58: 59: <customTrackingQueries> 60: <customTrackingQuery name="*" activityName="*" /> 61: </customTrackingQueries> 62: 63: </workflow>

284

64: </trackingProfile> 65: </profiles> 66: </tracking> Veja, definimos no trecho acima o trackingProfile chamado CalcServiceTracked Tracking Profile. Nesse profile, estamos identificando algumas variveis e atividades que so capturadas no tracking do AppFabric, como vemos no exemplo abaixo: 1: <activityStateQuery activityName="TryCatchCodeActivityCalcular"> 2: <states> 3: <state name="Closed" /> 4: </states> 5: <variables> 6: <variable name="param_in1" /> 7: <variable name="param_in2" /> 8: <variable name="param_out" /> 9: <variable name="param_error" /> 10: </variables> 11: </activityStateQuery> Alm dessas definies, precisamos indicar no topo do Web.Config que vamos usar esse novo tracking profile criado, como a seguinte seo: 1: <behaviors> 2: <serviceBehaviors> 3: 4: <behavior> 5: <serviceMetadata httpGetEnabled="true" /> 6: <serviceDebug includeExceptionDetailInFaults="false" /> 7: 8: <!-- Definindo o tracking profile que iremos utilizar --> 9: <etwTracking profileName="CalcServiceTracked Tracking Profile" /> 10: 11: </behavior> 12: </serviceBehaviors> 13: </behaviors> 14: <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 15: 16: <diagnostics> 17: <!-- Configurando o detalhamento de atividades do endToEndTracing --> 18: <endToEndTracing propagateActivity="true" activityTracing="true" messageFlowTracing="true" /> 19: </diagnostics> Fazendo essa configurao, podemos monitorar as variveis rastreadas na tela de eventos do AppFabric, como vemos a seguir:

285

Na foto acima, vemos as trs variveis rastreadas na atividade EnviaResposta, sendo possvel acompanhar os valores de param_in1, param_in2 e param_out. Se voc gostou do projeto, fao o download e testes voc mesmo! Por enquanto s!At o prximo post :) Waldemir.

Windows Server AppFabric : cmdlets PowerShell para administrao de caching


Tue, Feb 8 2011 9:00 AM Ol pessoal, tudo certo? Semana passada estive com um pessoal que est iniciando os trabalhos sobre WINDOWS SERVER APPFABRIC, para container de servios WCF e workflows WF. Um dos temas que conversamos foi a monitorao e administrao de APPFABRIC HOSTING SERVICES e APPFABRIC CACHING SERVICES atravs de comandos Power Shell. Existem diversas opes e combinaes de comandos que podemos usar que ajudam bastante a operao do ambiente. Especialmente para a administrao do APPFABRIC CACHING SERVICES, existem diversos comandos disponveis. Veremos alguns neste post.

286

NOTA: Garanta que os servios do AppFabric estejam corretamente instalados e configurados. Voc pode checar atravs do Task Manager ou pasta Services, como vemos abaixo:

Acima temos os 3 servios principais da instalao AppFabric.


AppFabricCachingService AppFabricEventCollectionService AppFabricWorkflowManagementService

Se o servio AppFabricCachingService estiver desligado (DOWN ou STOPPED), voc pode coloc-lo em operao atravs dos seguintes comandos em PowerShell. Abra uma console de PowerShell e entre os comandos:

287

Assim, outros comandos que podemos usar so: use-cachecluster start-cachecluster stop-cachecluster restart-cachecluster get-cache get-cachecluster

Como sabemos o APPFABRIC CACHING SERVICES permite a criao de uma camada de cache distribuda, que engloba diversas mquinas de um cluster. Assim, o comando GETCACHECLUSTERHEALTH oferece uma viso sobre os ns e caches participantes.

288

Podemos criar um novo cache atravs do comando abaixo: NEW-CACHE -CACHENAME meucache -EVICTION none

Podemos ainda adicionar um usurio com permisso para consumir o caching criado, assim como checar os usurios j ativos: Grant-CacheAllowedClientAccount southamerica\wcamb Get-CacheAllowedClientAccounts Finalmente, podemos checar as estatsticas de utilizao do cache criado atravs do comando GET-CACHESTATISTICS, como vemos a seguir:

289

Vimos assim apenas alguns dos comandos mais usados na administrao de caching. Fazendo GET-HELP sobre a palavra CACHE ou CACHING, voc ter uma lista muito maior disponvel, veja:

290

De fato, comandos Power Shell so muito poderosos, servindo ainda para outros cenrios de administrao e monitorao. No prximo post, vamos falar sobre os comandos para operao do IIS e do AppFabric Hosting Services, no perca! Por enquanto s! At o prximo post :) Waldemir.

291

Windows Server AppFabric : cmdlets PowerShell para administrao de hosting


Thu, Feb 10 2011 9:00 AM Ol pessoal, tudo certo? Depois de olhar alguns comandos Power Shell para administrar o AppFabric Caching Services, vamos olhar outros comandos para operar o IIS Manager e o AppFabric Hosting Services. Depois de abrir uma console do Power Shell, podemos usar o comando GETASAPPMONITORING para ober informaes sobre

Da mesma forma, podemos olhar a configurao da connectionstring para a base de persistncia do AppFabric, atravs do comando GET-ASAPPINSTANCESTORE veja:

292

Outro comando bem interessante Get-ASAppService, que lista os servios instalados no IIS e suas configuraes:

De modo geral, so comandos que devolvem informaes sobre aplicaes e servios instalados no IIS / AppFabric. Outros comandos de consulta so: Get-ASAppAnalyticTracing Get-ASAppDebugTracing

293

Get-ASAppInstanceStore Get-ASApplication Get-ASAppMessageLogging Get-ASAppMonitoring Get-ASAppPerformanceCounter Get-ASAppService Get-ASAppServiceAutoStart Get-ASAppServiceBehaviorName Get-ASAppServiceCertificate Get-ASAppServiceEndpoint Get-ASAppServiceInstance Get-ASAppServiceMetadata Get-ASAppServiceThrottling Get-ASAppServiceTracking Get-ASAppServiceTrackingProfile Os exemplos aqui so apenas de consulta. Mas existem outros vrios comandos de configurao, permitindo a operao do ambiente via scritps Power Shell. Uma boa documentao sobre AppFabric voc encontra no link a seguir: Windows Server AppFabric Ref.: http://msdn.microsoft.com/en-us/library/aa139633.aspx AppFabric Caching PowerShell Cmdlets Ref.: http://msdn.microsoft.com/en-us/library/ff945800.aspx AppFabric Hosting PowerShell Cmdlets Ref.: http://msdn.microsoft.com/en-us/library/ee767662(v=WS.10).aspx Por enquanto s! At o prximo post :) Waldemir.

Material sobre Windows Server AppFabric e exemplos de aplicaes


Thu, Jul 14 2011 7:00 PM Ol pessoal, tudo certo? Essa semana tive uma conferncia com um time de arquitetura e desenvolvimento (grande Walter). Entre os assuntos, falamos de AppFabric Caching Services e infraestrutura para organizao dos ambientes de Desenvolvimento, Homologao e Produo com AppFabric.

294

Um das questes levantadas foi a integrao entre ARR Application Request Routing com o Windows Server AppFabric, sobre Windows Server 2008 R2. O cenrio bem interessante, quando configuramos o ARR para fazer caching sobre o AppFabric Caching Services. Para saber mais, confira os links abaixo: ARR Application Request Routing Ref.: http://www.iis.net/download/ApplicationRequestRouting Alguns links interessante sobre ARR voc tambm no blog do especialista Paulo Teixeira, da Microsoft. Ele mudou de blog para o http://blogs.msdn.com/b/teixeira/, mas no blog antigo, confira: Usando o Application Request Routing para migrar sites para o IIS7 - parte 1 Ref.: http://blogs.msdn.com/b/pfebrasil_iisdev/archive/2010/05/10/usando-o-application-requestrouting-para-migrar-sites-para-o-iis7.aspx Usando o Application Request Routing para migrar sites para o IIS7 - parte 2 Ref.: http://blogs.msdn.com/b/pfebrasil_iisdev/archive/2010/05/12/usando-o-application-requestrouting-para-migrar-sites-para-o-iis7-parte-2.aspx Usando o Application Request Routing para migrar sites para o IIS7 - parte 3 Ref.: http://blogs.msdn.com/b/pfebrasil_iisdev/archive/2010/05/24/usando-o-application-requestrouting-para-migrar-sites-para-o-iis7-parte-3.aspx Usando o Application Request Routing para migrar sites para o IIS7 - parte 4 Ref.: http://blogs.msdn.com/b/pfebrasil_iisdev/archive/2010/06/08/usando-o-application-requestrouting-para-migrar-sites-para-o-iis7-parte-4.aspx Outros links sobre AppFabric, confira abaixo: Posts sobre Windows Server AppFabric Ref.: http://blogs.msdn.com/b/wcamb/archive/tags/windows+server+appfabric/ AppFabric CAT Blog - Customer Advisory Team Ref.: http://appfabriccat.com/ Configuring an ASP.NET Session State Provider (Windows Server AppFabric Caching) Ref.: http://msdn.microsoft.com/en-us/library/ee790859.aspx Windows Server AppFabric : cmdlets PowerShell para administrao de caching Ref.: http://blogs.msdn.com/b/wcamb/archive/2011/02/08/windows-server-appfabric-cmdletspowershell-para-administra-231-227-o-de-caching.aspx

295

AppFabric Caching Admin Tool 1.3 Ref.: http://blogs.msdn.com/b/wcamb/archive/2011/02/04/appfabric-caching-admin-tool-13.aspx Aplicaes exemplos: TailSpin Travel - Application Sample Ref.: http://tailspintravel.codeplex.com/ Windows Server AppFabric Samples Ref.: http://www.microsoft.com/download/en/details.aspx?id=19603 Por enquanto s! At o prximo post :) Waldemir.

296

AppFabric Caching Admin Tool 1.3


Fri, Feb 4 2011 9:00 AM Ol pessoal, tudo certo? Ainda sobre projetos no CodePlex (t ficando bom nisso ) aqui vai mais uma dica bem legal!

Se voc est trabalhando com o Microsoft Distributed Cache sobre Windows Server AppFabric, deve ter percebido que falta uma interface grfica para ajudar o administrador de cache a construir e configurar o ambiente. Na verdade, a ferramenta principal para essa atividades mesmo o console do PowerShell. Existem diversos comando para administrao de caching no PowerShell. Para conferir, faa por exemplo o comando man cache e voc ter uma idia sobre os comandos disponveis, veja:

Seria bom se tivssemos uma interfaces grfica para esse gerenciamento e administrao. Ento, est no codeplex um projeto que ajuda essas tarefas. Veja o link a seguir: AppFabric Caching Admin Tool 1.3 Ref.: http://mdcadmintool.codeplex.com/releases/view/59170 Importante: esse, assim como outros projetos do CodePlex, no possui suporte Microsoft. So projetos feitos pela comunidade, com cdigo aberto e alguns esto ainda em desenvolvimento. Portanto, aprecie com moderao.

297

Mas no deixe de dar uma olhada. Fiz alguns testes e a interface bem interessante, ajudando na execuo de alguns comandos que via PowerShell exigem uma colinha.

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

298

AppFabric para composio de servios: um exemplo de projeto


Thu, Jan 20 2011 10:00 AM Ol pessoal, tudo certo? Estou acompanhando um projeto bem interessante que envolve servios atmicos e de composio, utilizando o modelo WCF SOAP Services e o modelo WCF Workflows Services. O desenho geral da soluo voc v abaixo:

Bom, acredito que muitos de vocs j viram esse tipo de soluo, sendo o desenho acima at mesmo bem simplista. De fato, a infraestrutura corporativa da soluo envolve muito outros componentes, como vemos no esquema abaixo, veja:

299

O que achou? Se voc trabalha no ambiente corporativo de mdias e grandes empresas, com certeza j viu esse tipo de ambiente. Nenhuma novidade aqui. Note porm alguns aspectos importantes da soluo: 1. O tratamento de segurana para servios e workflows feito por tokens de segurana, no modelo CBA Claims-based Authentication. O ganho dessa abordagem muito grande, devido a independncia do modelo de identidades, assim como facilidade de construo de TOKENS com informaes gerais sobre as entidades autenticadas/autorizadas. 2. O uso de um ambiente de monitorao como o SCOM System Center Operations Manager, permite uma viso pr-ativa sobre o ambiente, funcionando como importante ferramenta de governana no ambiente corporativo. 3. A separao entre a camada Web e a camada de Negcios continua, o que permite maior isolamento entre responsabilidades e funcionalidades da soluo. 4. O uso de Windows Server AppFabric para hosting de servios e workflows permite uma melhor administrao sobre a sade da soluo, por meio de recursos como WCF HISTORY CALL, WF PERSISTED, ETW Events Tracing for Windows, alm do mapeamento de servios e bindings presentes na soluo.

300

5. Finalmente, o Windows Server AppFabric ainda oferece o AppFabric Caching Services, um servio de cache distribudo que pode ser usado tanto pela camada Web como pela camada de negcio, por meio de providers e API de programao. Estou usando dois portais bem interessantes para links e material adicional, confira: Application Infrastructure Technologies Ref.: http://www.microsoft.com/en-us/appfabric/default.aspx Windows Server AppFabric Ref.: http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx Finalmente, no deixe de olhar o AppFabric Training Kit, excelente! Windows Server AppFabric Training Kit Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7290f7ed-e86b-4114a452-4f07fa32403d Vale conferir! Por enquanto s! At o prximo post :) Waldemir.

AppFabric para composio de servios: viso AppFabric Composite App


Sat, Jan 22 2011 10:00 AM Ol pessoal, tudo certo? No ltimo post falei do projeto de composio de servios e workflows com a infraestrutura Windows Server AppFabric. Veja, estamos pensando no escopo de uma aplicao, onde essa infraestrutura ajuda na administrao de servios. Porm, pensando de forma corporativa, um barramento de servios torna-se necessrio, principalmente para cenrios de interoperabilidade com diversas plataformas, mltiplos adaptadores de sistemas, protocolos, etc. Em cenrios de BIG SOA, um ESB - Enterprise Service Bus sempre uma infraestrutura importante. Uma nova abordagem que vem crescendo desde o ltimo PDC2010 a composio de aplicaes e servios em nuvens hbridas, usando a plataforma Windows Azure. Isso feito por meio da nova abordagem para AppFabric Composite App. Veja a figura abaixo:

301

Essa abordagem est baseada no AppFabric Services, uma viso unificada entre recursos locais (on-premise) e recursos na nuvem (Azure). Veja o mapa de recursos abaixo:

Os recursos de Service Bus e Access Control j esto disponveis desde 2010. Em breve teremos o Azure Caching comercialmente disponvel (atualmente est em CTP) e o conjunto de recursos do Integration e Composite App deve chegar ao longo de 2011. Novidades chegando! Fique ligado! Para saber mais sobre o assunto, confira os links abaixo: Composite Apps com AppFabric Composition Model Ref.: http://www.microsoft.com/windowsazure/appfabric/overview/default.aspx#top Windows Azure AppFabric SDK V1.0 - October Update Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=39856a03-1490-4283908f-c8bf0bfad8a5&displaylang=en Discover more about Windows Azure AppFabric Ref.: http://www.microsoft.com/windowsazure/appfabric/overview/default.aspx#top

302

Em breve, vou falar com mais detalhes sobre a iniciativa Composite App e a plataforma Windows Azure. Aguarde! Por enquanto s! At o prximo post :) Waldemir.

AppFabric para composio de servios: arquitetura e principais funcionalidades


Mon, Jan 24 2011 10:00 AM Ol pessoal, tudo certo? Muitas pessoas ficaram interessadas sobre o ltimo post, quando falei sobre o AppFabric Services e a viso para composio de servios, frameworks e modelos de integrao entre o ambiente on-premise e o ambiente na nuvem Azure. Assim, aqui vai um novo post sobre o assunto, com alguns detalhes mais. Nessa viso ampliada para o AppFabric, podemos classific-lo como um Middleware Services, onde teremos capacidades de plataforma disponibilizadas como servio. Alm da abordagem de Middleware Service, uma srie de novos frameworks, motores de composio e ferramentas para uma fcil construo, deploy e gerenciamento de aplicaes de composio como uma nica entidade sero incorporadas a esta infraestrutura. Finalmente, identificamos uma infraestrutura escalvel para aplicaes, oferecendo recursos otimizados para a nuvem com componentes de servios e mid-tier integrando ambiente local (on-premise) e ambiente na nuvem (Azure). Isso tudo vem aparecendo desde o lanamento das infraestruturas Windows Server AppFabric e Windows Azure Platform AppFabric. Funcionalidades como AppFabric Hosting, AppFabric Caching, Azure AppFabric Caching e os recm anunciados AppFabric Integration e AppFabric Composite Application mostram a direo da plataforma. O desenho abaixo ilustra esse conjunto de funcionalidades e recursos:

303

Veja que na base do diagrama identificamos os componentes Windows Server + SQL Server (para o ambiente on-premise), assim como o Windows Azure + SQL Azure (para o ambiente na nuvem). Cada vez mais teremos uma plataforma de aplicaes com capacidades preparadas para integrar de forma transparente servios e workflows presentes no ambiente local (on-premise) e servios, aplicaes e workflows hospedados na nuvem (Windows Azure). Esse tipo de abordagem vem sendo prevista pelos especialistas do mercado, quando apontam para a tendncia das Nuvens Hbridas, como j falamos por aqui. Ao longo de 2011 deveremos ter novidades, com os principais CTPs pblicos para AppFabric Composite App e AppFabric Integration. Por enquanto, vamos aguardar. Os links indicados para uma primeira leitura coloquei no post anterior, aqui. Por enquanto s! At o prximo post :) Waldemir.

304

305

Captulo 9
Identidade e Segurana

J na edio do ebook em 2009, o tema Identidade e Segurana foi bastante presente. Em parte, isso se explica pela importncia de se garantir que autenticao e autorizao estejam presentes durante o uso de servios e aplicaes no ambiente corporativo. Agora imagine expandir o assunto segurana para a nuvem e garantir a integridade dos dados em solues hbridas, local + nuvem. Neste captulo, veremos os posts mais importantes sobre Claim-based Authentication Authorization, assim como posts falando sobre tecnologias AD FS, WIF Windows Identity foundation, seguranca, autenticao, autorizao e outros recursos.

306

patterns & practices: Claims-Based Identity e WIF Windows Identity Foundation


Thu, Jun 17 2010 9:00 AM Ol pessoal, tudo certo? Continuando o assunto sobre identidade baseada em declaraes (CBA Claim-based Authentication), segue aqui dois links importantes que faltaram no post anterior: Windows Identity Foundation - March 2010 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=eb9c345f-e830-40b8-a5feae7a864c4d76&displaylang=en Windows Identity Foundation SDK - May 2010 (opcional) Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=C148B2DF-C7AF-46BB9162-2C9422208504&displaylang=en Para rodar cenrios locais, utilize o seguinte ambiente com as tecnologias: Microsoft Windows Vista SP1, Windows 7, ou Microsoft Windows Server 2008 (32-bit ou 64bit): Microsoft Internet Information Services (IIS) 7.0 Microsoft .NET Framework 3.5 SP1 ou Microsoft .NET Framework 4 Microsoft Visual Studio 2008 SP1 ou Microsoft Visual Studio 2010 Windows Azure Tools for Microsoft Visual Studio Windows Identity Foundation Instalando o WIF em sua estao, voc poder construir aplicaes preparadas para trabalhar com declaraes, no modelo CBA. Uma figura muito bacana que voc encontra no guidances de CBA do patterns&pratices a figura 3, com um exemplo de aplicao Web utilizando o modelo CBA, a seguir:

307

Na figura acima, voc tem claramente a sequncia de mensagens que ocorre no momento da autenticao via declaraes, no modelo CBA. Veja a presena do usurio (John), da aplicao (a-Expense Application), o emissor de tokens ADFS e o diretrio AD. Vemos que a aplicao aExpense utiliza o WIF Windows Identity Foundation para validar o token recebido da requisio do usurio. O mesmo modelo pode ser usado com aplicaes Smart Client, como vemos na figura 8 a seguir:

308

Por isso, no deixe de conferir o guidance, LEITURA OBRIAGATRIA!!! A Guide to Claims-Based Identity and Access Control Book Download Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=4c09ffe4-43dd-4fcc-be35c897c9bc4386&displaylang=en Para maiores detalhes, no deixe de conferir o site: Claims Based Identity & Access Control Guide Ref.: http://claimsid.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

309

Claim-based Identity e Access Control Links, Samples e Whitepapers


Sat, Jun 19 2010 9:00 AM Ol pessoal, tudo certo? Mais um post sobre Windows Identity Foundation (WIF) e Claim-based Authentication (CBA). Fiz um levantamento sobre os vrios links e whitepapers publicados para WIF e CBA nesses ltimos dois meses, que compartilho agora com vocs: Geneva Team Blog Ref.: http://blogs.msdn.com/card/ Windows Identity Foundation Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=eb9c345f-e830-40b8-a5feae7a864c4d76&displaylang=en

Windows Identity Foundation helps .NET developers build claims-aware applications that externalize user authentication from the application, improving developer productivity, enhancing application security, and enabling interoperability. Developers can enjoy greater productivity, using a single simplified identity model based on claims. They can create more secure applications with a single user access model, reducing custom implementations and enabling end users to securely access applications via onpremises software as well as cloud services. Finally, they can enjoy greater flexibility in application development through built-in interoperability that allows users, applications, systems and other resources to communicate via claims.

Windows Identity Foundation SDK Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=c148b2df-c7af-46bb-91622c9422208504&displaylang=en#filelist Windows Identity Foundation Online Docs Ref.: http://msdn.microsoft.com/en-us/library/ee748484.aspx Windows Identity Foundation for Windows 2003 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=be4db6a0-b76d-446d-810cea3c25b3969a&displaylang=en Identity Developer Training Kit Ref.: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c3e315fa94e2-4028-99cb-904369f177c0

310

ADFS Design and Deployment Guide Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=B92EA722-0C30-4EA6BD45-7E5934B870CF&displaylang=en AD FS 2.0 Federation with a WIF Application Step-by-Step Guide Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=BB9AB270-473B-4852B26E-031A88EDD113&displaylang=en

This guide walks you through the setup of a small test lab environment that you can use to evaluate how Active Directory Federation Services (AD FS) 2.0 and Windows Identity Foundation (WIF) work together to provide a single sign-on (SSO) solution in your organization. This document is intended for developers and system architects who are interested in completing the demonstration of the features, functionality, and interoperability capabilities of AD FS 2.0 and WIF. The instructions in this guide take approximately one hour to complete.

How to Setup the AD FS 2.0 VM Lab Setup Environment for Federated Collaboration Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=F6D6EDA6-374B-4E82B739-D436C2A801F2&displaylang=en

This guide walks you through the setup of a small test lab environment that you can use to evaluate the next generation of Microsoft federated identity technologies, Active Directory Federation Services (AD FS) version 2.0. This document is intended for information technology (IT) professionals and application developers who want to create a lab environment specifically for use with the Federated Document Collaboration Using Microsoft Office SharePoint Server 2007 and AD FS 2.0 guide (see related downloads), which demonstrates the implementation and evaluation of an end-to-end, claims-based, identity federation solution. The instructions in this guide should take approximately four hours to complete.

Claims Based Identity & Access Control Guide Ref.: http://claimsid.codeplex.com/ A Guide to Claims-Based Identity and Access Control Book Download Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=4c09ffe4-43dd-4fcc-be35c897c9bc4386&displaylang=en A Guide to Claims-Based Identity and Access Control Code Samples Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=33829bcf-f5ea-4650-b80757c63a753753&displaylang=en Active Directory Federation Services 2.0 RTW Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=118c3588-9070-426a-b6556cec0a92c10b&displaylang=en

311

Sem dvida, o assunto de grande importncia para solues no mundo corporativo. Recomendo fortemente a leitura sobre a dupla WIF com AD FS v2.0, se estiver pensando em autenticao, autorizao e segurana para suas solues. (alis, quem j no pensou sobre controle de acesso algum dia?). :) Por enquanto s! At o prximo post :) Waldemir.

Attribute Store, ADFS 2.0 e Carnaval


Fri, Mar 4 2011 1:00 PM Ol pessoal, tudo certo? Esses ltimos dias estive envolvido em um projeto com Claim-based Authentication, baseado em WIF- Windows Identity Foundation e ADFS 2.0 Active Directory Federation Services. Um ponto importante do projeto foi a criao de novos provedores de dados para a gerao de tokens, a partir do ADFS 2.0. Na plataforma Microsoft, o ADFS o emissor de tokens no modelo CBA, permitindo que usurios obtenha as declaraes (claims) necessrias para o acesso a deteminadas aplicaes. Nativamente, o ADFS 2.0 suporta consultas ao AD, LDAP, SQL para obter informaes que sero utilizadas na gerao de declaraes de um token. Mas podemos estender essas consultas para outras fontes de dados, como arquivos texto, bancos de dados diversos, FIM, etc. Por exemplo, j existe no CodePlex um projeto de Attribute Store para comunicao com o FIM Forefront Identiy Manager, veja: ADFS 2.0 Attribute Store for Forefront Identity Manager Ref.: http://fimattributestore.codeplex.com/ Um outro artigo obrigatrio para quem pretende estender o ADFS com novos Attribute Stores esse abaixo: Attribute Store Overview Ref.: http://msdn.microsoft.com/en-us/library/ee895358.aspx O artigo est bem completo, indicando tambm os scripts para instalao via PowerShell, assim como query exemplo para criao das chamadas CLAIM ROLES, no prprio ADFS 2.0. Para a criao de novos Attribute Stores do ADFS 2, devemos usar a interface IAttributeStore, disponvel no ambiente ADFS 2.0 para extenso de funcionalidades. Essa interface obtida a partir da referncia para a biblioteca

312

Microsoft.IdentityServer.ClaimsPolicy.dll, localizada no diretrio C:\Program Files\active directory federation services 2.0\ do servidor ADFS. A interface IAttributeStore baseada em 3 mtodos principais: Initialize BeginExecuteQuery EndExecuteQuery Nos exemplos acima, estude os mtodos da Interface e veja como outros mtodos auxiliares so criados para o tratamento correto dos dados que sero devolvidos como declaraes pelo ADFS 2.0. Bem interessante! Em breve, devo colocar aqui outros exemplos sobre esse tipo de cenrio. Aguarde. Nesse perodo de Carnaval, vou tirar alguns dias para descanso. Em breve, retorno com o ritmo normal de posts e artigos aqui no blog. Aproveite bem o Carnaval e divirta-se, com moderao!!! Por enquanto s! At o prximo post :) Waldemir.

Identity Developer Training Kit February 2011


Wed, Mar 2 2011 9:00 AM Ol pessoal, tudo certo? O novo Identity Training Kit de Fevereiro j est disponvel, desde semana passada, confira: Identity Developer Training Kit - February 2011 (for Visual Studio 2010 RTM) Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=C3E315FA-94E2-402899CB-904369F177C0 Essa nova atualizao oferece compatibilidade com o SDK 1.3 do Windows Azure, assim como alguns novos exemplos para integrao do modelo de tokens com aplicaes Silverlight. Vale a pena instalar e conferir! Por enquanto s! At o prximo post :) Waldemir.

CardSpace e U-Prove CTP: evolues no mundo das identidades


Sat, Feb 19 2011 9:00 AM

313

Ol pessoal, tudo certo? J falamos muito por aqui sobre tecnologias para autenticao/autorizao, especialmente sobre os componentes: - Active Directory Federation Services Ref.: http://technet.microsoft.com/en-us/windowsserver/dd448613.aspx - WIF Windows Identity Foundation Ref.: http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx e CardSpace. Assim, essa notcia importante: CardSpace ser substitudo por uma nova tecnologia, chamada U-Prove. O anncio aconteceu essa semana, como vemos no post a seguir: Beyond Windows CardSpace Ref.: http://blogs.msdn.com/b/card/archive/2011/02/15/beyond-windows-cardspace.aspx Se voc no se lembra, o CardSpace era o seletor de identidades dentro do modelo CBA Claims-based Authentication, na plataforma Microsoft. Por exemplo, era possvel usar o CardSpace para escolher a identidade que seria usada no momento da autenticao do usurio, para emisso de um token exigido pela aplicao desejada. O desenho abaixo (criado por David Chappell) ilustra bem o cenrio:

314

Na figura acima, vemos o CardSpace sendo usado para selecionar a identidade mais adequada, para a autenticao do usurio junto ao provedor de identidades. Com essa identidade, um TOKEN emitido pelo STS Security Token Service, que na plataforma Microsoft representado pelo ADFS 2.0. De posse do token emitido, o usurio pode apresent-lo para a aplicao, que ir usar as declaraes (claims) contidas no token para as decises de autorizao e acesso s funcionalidades de direito. A proposta da nova tecnologia U-Prove resolver alguns problemas no tratados pelo CardSpace no agente seletor de identidades, como a criptografia no tratamento de identidades, integrao cross-plataforma, entre outros aspectos. Vamos ficar de olho no U-Prove! Os demais componentes ADFS 2.0 e WIF continuam principais na iniciativa de identidades Microsoft, j incorporados em vrias famlias de produtos como SharePoint, Office 365, Dynamics CRM e Windows Azure. Por enquanto s! At o prximo post :) Waldemir.

patterns & practices: Claims-Based Identity and Access Control (CBA) Guide
Wed, Jun 16 2010 9:00 AM Ol pessoal, tudo certo? Um assunto muito importante para aplicaes no meio corporativo segurana, especialmente autenticao e autorizao. J falamos por aqui sobre Claim-based Authentication, ou autenticao baseada em declaraes, nesse post Claim-based Authentication (CBA) e Windows Identity Foundation (WIF) com o Windows Azure, aqui. O documento abaixo j tem algum tempo, mas merece a leitura sobre CBA e Controle de Acesso, veja:

315

A Guide to Claims-Based Identity and Access Control Book Download Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=4c09ffe4-43dd-4fcc-be35c897c9bc4386&displaylang=en Outros links importantes sobre o assunto so: A Guide to Claimsbased Identity and Access Control Ref.: http://msdn.microsoft.com/en-us/library/ff423674.aspx Claims Based Identity & Access Control Guide Ref.: http://claimsid.codeplex.com/ Por enquanto s! At o prximo post :) Waldemir.

Claim-based Authentication (CBA) e Windows Identity Foundation (WIF) com o Windows Azure
Thu, Apr 22 2010 8:00 AM Ol pessoal, tudo certo? No incio dessa semana, estive avaliando um projeto sobre a plataforma Azure que deve considerar aspectos de segurana, Autenticao e Autorizao. O cenrio de uma aplicao Web onde teremos usurios autenticados localmente em cada empresa consumidora da aplicao hospedada no Windows Azure. Por exemplo, a empresa A pode utilizar autenticao no Microsoft AD, enquanto que uma empresa B autentica seus usurios em um modelo baseado em OpenID. Pergunta: como implementar um modelo de autenticao que oferea um Single Sign-On para a soluo, criando uma relao de confiana entre a infraestrutura on-premise com a infraestrutura Azure? Resposta: aplicar um modelo CBA Claim-based Authentication com o WIF Windows Identity Foundation. A figura a seguir ilustra o processo de apresentao de credenciais e emisso de tokens, como previsto nesse cenrio, veja:

316

No desenho acima, a empresa A utiliza autenticao baseada em AD com o ADFS v2, que permite a emisso de tokens no protocolo (SAML). Entre a infraestrutura on-premise da empresa A e o ambiente do Windows Azure criado uma relao de confiana, o que permite que a aplicao no Azure aceite o token apresentado pelo usurio da empresa A. Todo o tratamento dos tokens ser feito utilizando as APIs do WIF. J na empresa B, a autenticao utiliza o modelo sobre OpenID. Porm, atravs do uso do WIF para o tratamento de tokens, tambm ser possvel a integrao via SAML, tornando a soluo independente do provedor de identidade local de cada empresa. Falamos bastante sobre esse assunto em posts passados, como esse aqui. Recomendo a leitura. O post de hoje apenas resgatou o assunto, com alguns detalhes mais. Para saber mais sobre o processo, no deixe de conferir os links a seguir: Claims-Based Authorization with WIF http://msdn.microsoft.com/en-us/magazine/ee335707.aspx Windows Identity Foundation Whitepapers for Developers http://download.microsoft.com/download/7/D/0/7D0B5166-6A8A-418A-ADDD95EE9B046994/WindowsIdentityFoundation-WhitepaperForDevelopers-RC.pdf Por enquanto s! At o prximo post :) Waldemir.

317

318

Captulo 10
Papo de Arquiteto

Papo de Arquiteto foi uma srie criada no blog bem interessante para a gerao de threads de discusses sobre cenrios de arquitetura e casos reais de projetos. Aideia foi ilustrar alguns desafios de arquitetura e discutir alternativas com a comunidade. Neste captulo, veja os principais posts com cenrios propostos para discusses.

319

Papo de Arquiteto: construindo aplicaes de MapReduce no Windows Azure


Wed, Jul 27 2011 4:00 PM Ol pessoal, tudo certo? Imagine o seguinte cenrio: voc precisa submeter 100 mil e-mails em 1 hora, para uma campanha de Marketing bem agressiva. Para esse envio, cada e-mail ainda exige um pequeno processamento ou clculo, antes de submeter a mensagem. A lista de e-mails lhe foi dada em formato texto, com 1 coluna apenas com os diversos e-mails para destino. Voc est considerando que todos os e-mails so vlidos, no precisando fazer qualquer checagem. O que voc faria? Podemos pensar em algumas solues como o uso de LINQ to HPC, j ouviu falar?

Fonte: INTRODUCING LINQ TO HPC - PROCESSING BIG DATA ON WINDOWS, DAVID CHAPPELL, MAY 2011 Introducing LINQ to HPC: Processing Big Data on Windows Ref.: http://www.microsoft.com/download/en/details.aspx?id=13615 Claro, podemos usar outras solues para o envio de tantos e-mails em pouco tempo, mas a ideia de usar MapReduce tentadora. O LINQ to HPC bem explicado no documento acima, escrito por David Chappell. Em resumo, o modelo de MapReduce utilizado e pode ser uma alternativa para nosso caso, onde um Job

320

Scheduler chamado, recebendo a lista de e-mails para processamento. Na sequencia, a lista quebrada em blocos de processamento, cada um enviado para um novo N de Processamento ou Lgica. Esses ns iro demandar o uso de ns computacionais para o processamento. Para cenrios de processamento mais intensos que apenas mandar e-mails, com certeza o modelo de HPC obrigatrio. No final, uma Role de consolidao monitora o encerramento de todos os processamentos. A soluo acima baseada em Windows Server 2008 local, com o HPC em ambiente onpremise. Agora, pensando essa soluo sobre a plataforma Windows Azure, essa semana tivemos uma atualizao no projeto Daytona, que permite a construo de solues de MapReduce sobre a plataforma na nuvem, veja:

Project Daytona: Iterative MapReduce on Windows Azure CTP Refresh (July 26, 2011) Ref.: http://research.microsoft.com/en-us/downloads/cecba376-3d3f-4eaf-bf01-20983857c2b1/ A soluo respeita o modelo de MapReduce, onde uma entidade Mestre distribui as Tarefas para entidades Escravas, que fazem o processamento em blocos. Ao final, os resuldados so consolidados por uma entidade de fechamento ou simplesmente o processo terminado pelas entidades escravas. O grande interesse aqui est na possibilidade de contratao de mquinas escravas de forma dinmica, conforme a necessidade, com o poder de processamento oferecido pelos datacenters da plataforma Windows Azure (que em muitos casos bem maior que o poder de processamento de nossos datacenters corporativos locais).

321

Esse modeo muito interessante para diversos cenrios de aplicaes que exigem o processamento de grandes quantidades de dados. Vale a pena estudar e acompanhar o projeto Daytona, que ainda est em CTP para o Windows Azure. Por enquanto s! At o prximo post :) Waldemir.

Papo de Arquiteto: o caso da agncia de notcias


Thu, May 5 2011 9:00 PM Ol pessoal, tudo certo? Aqui vai mais um post da srie Papo de Arquiteto. O caso de hoje sobre um projeto de subscrio/publicao de notcias de uma agncia. Atualmente, a agncia Contoso News possui diversos jornalistas, alm de contratos com outros rgos de notcia, para a consolidao de um sinal de informaes sobre diversos assuntos, como poltica, finanas, economia, mundo, esportes, etc. Esse sinal vendido para o mercado, atravs de opes fechadas por assunto. Hoje, um cliente pode contratar um sinal de esportes, um sinal de economia, etc. Esse sinal recebido pelo cliente atravs de uma VPN, sendo disponibilizado via um canal TCP consumido por uma API no cliente. Essa APII tambm oferecida pela Contoso News. Um novo grupo de acionistas assumiu a direo da empresa. Esse grupo contratou um novo CIO, que ficou responsvel pela modernizao da TI da empresa. Um dos principais desafios ampliar o nmero de clientes nos prximos 3 anos (como sempre). Alm do crescimento do nmero de usurio, o novo CIO espera oferecer para as reas de negcio o suporte de TI para novas ofertas de sinais, mais inteligentes e flexveis para o mercado. Como principal demanda, a Contoso News espera oferece sinais compostos, permitindo ainda o uso de filtros de sinal. Por exemplo, para um sinal contratado do canal esporte, o cliente poder criar uma regra para receber notcias sobre seu time do corao. Outro cliente poderia criar regras para receber com prioridade as notcias econmicas somente sobre o Chile. Alm de filtros de sinal, os clientes poderiam criar regras de composio, onde notcias encadeadas para o sinal de finanas, por exemplo, alta do dolar + alta da gasolina, poderiam disparar mensagens customizadas por e-mail ou alguma outra ao qualquer. Essas vrias regras e filtros seriam executadas no ambiente da Contoso News, a partir do contrato aprovado pelo cliente. Para novas configuraes ou ajustes, o cliente teria uma API para atuar sobre seu contrato, de forma dinmica. Algumas perguntas surgem:

322

1. Como garantir a performance do sinal recebido pelo cliente? 2. Como calcular o impacto dos filtros, regras e composies sobre a performance do sinal? 3. Como seria uma API para manipular o sinal contratado pelo cliente, garantindo que o sinal resultante respeitasse o valor contratado? 4. Como seria a arquitetura geral da aplicao? Seria possvel pensar em algo na nuvem? 5. O que seria necessrio no ambiente do cliente para consumir o sinal contratado? Bom, a idia oferecer uma soluo que atenda a demanda de usurios esperados, garantindo o crescimento do negcio. Ainda, importante considerar que diferentes regras e filtros sero sugeridas pelos usurios e vamos precisar de uma boa flexibilidade para no perder negcios. Clientes so criativos? Finalmente, a Contoso News espera ganhar novos clientes atravs de ofertas de sinais especiais para dispositivos mveis, como smartphones, celulares, equipamentos embarcados (como viaturas, embarcaes, caminhes, etc), GPSs, etc. Sugestes? Que tipo de tecnologia atenderia bem o cenrio? Isso um exemplo de Complex Event Processing? Aproveite o final de semana e deixe seus comentrios! Por enquanto s! At o prximo post :) Waldemir.

Papo de Arquiteto: o caso do site de e-Commerce que vai crescer em 2 anos


Thu, Apr 7 2011 9:00 AM Ol pessoal, tudo certo? Estou inaugurando com esse post uma nova tag, o Papo de Arquiteto. Nessa srie, pretendo exercitar com vocs alguns cenrios e casos do mundo real sobre como implementar solues de arquitetura, pensando nos vrios aspectos envolvidos com o papel do arquiteto. Assim, vamos falar sobre desenho, ambiente de TI, justificativa econmica, relaes humanas, alinhamento de negcio e tecnologias aplicveis, claro. Como primeiro post, vamos destacar um tpico em especial: os motivadores de negcio e o impacto da infraestrutura.

323

Imagine o seguinte cenrio: Uma empresa de comrcio eletrnico sediada no Brasil atua como um MarketPlace OnLine, com um modelo de negcio baseado em produtos de terceiros, empresas de servios e fornecedores diversos. O site chama-se ContosoTemDeTudo.Com e possui uma mdia diria de 3 mil acessos em seu portal. Desse volume, em torno de 100 operaes resultam em transaes efetuadas via cartes de crdito e boletos eletrnicos, com a compra de produtos diversos. A base de produtos tem em torno de 30 mil itens e o valor dos tens varia entre R$ 50,00 e R$ 100,00. Essas compras so automaticamente direcionadas para sites ou sistemas de terceiros, que so os encarregados de efetuar a entrega e transporte dos produtos. O custo de entrega e comisso dos sites associados mais encargos de 90% sobre cada operao efetuada. O que voc achou desse site? um bom negcio? Qual o faturamento anual desse site? (tudo aproximado, claro!) Um novo diretor de TI assumiu a posio no incio de maro e aps o perodo inicial de entrada na empresa, anunciou sua estratgia de crescimento, baseada num plano de 3 metas principais:

A primeira meta triplicar o faturamento anual gerado pelo site nos prximos 2 anos, atravs de investimentos em infraestrutura, marketing e novas parcerias. A segunda meta aumentar o volume de acesso do site em 300% nos prximos 2 anos, ampliando sua presena online. Com isso, uma nova frente de negcio deve surgir baseada em Propaganda de Produtos e Servios nas pginas do portal. No foi definido um faturamento alvo para a rea de propaganda do site, para os prximos 2 anos, mas tem potencial, isso pode acontecer no final do primeiro ano. A terceira meta de negcio expandir o site para a Amrica Latina, oferecendo servios e produtos locais no Chile, Uruguai e Argentina nos prximos 2 anos. Parte da motivao preparar a empresa para a visibilidade que teremos com Olimpadas e Copa do Mundo no Brasil nos prximos anos. Os times de marketing e parcerias j esto alocados e trabalhando desde o incio de abril, criando campanhas localizadas, assim como uma lista de produtos, empresas e servios para novas parcerias e ofertas no portal. Um dos resultados desse trabalho do time de marketing j a deciso por uma interface mais interativa com o usurio, atravs de uma experincia baseada em multi-toque, interfaces para dispositivos mveis, funcionalidades com entretenimento espalhados pelo site, etc. Voc o arquiteto de TI e deve apoiar esse plano de metas da empresa. Sua misso planejar a evoluo do ambiente de TI para suportar o crescimento da empresa. Como voc faria isso? Em primeiro lugar, faa algumas contas para ver o que realmente estar acontecendo com o site nos prximos 2 anos.

324

Voc vai perceber que muito do desafio ser aumentar a disponibilidade do site, que dever suportar um volume maior de acesso, em torno de 9 mil acessos por dia. Alm disso, possvel que a base hoje de 30 mil itens tambm cresa, com novas ofertas e produtos de novas parcerias. Novas empresas deve envolver a comunicao com diferentes protocolos e plataformas tambm. Hoje, o site no possui qualquer modelo padronizado de integrao entre sistemas e plataformas. Finalmente, a expanso para a Amrica Latina deve exigir um modelo multi-lingua, que trate, por exemplo, mensagens em portugus, espanhol e ingls. E agora? Voc faria ajustes apenas na infraestrutura de hardware que suporta o portal? Ficou claro que uma estratgia de TI como essa passa por diversos desafios, como:

planejamento de capacidades da infraestrutura Web; definio de mecanismos de integrao e troca de mensagens com sistemas externos; servios de infraestrutura para gerenciamento e monitorao do ambiente; gerenciamento do ciclo de vida de desenvolvimento do portal, assim como os ajustes e expanses de funcionalidades previstas; adoo de novas tecnologias para maior interatividade dos usurios, interface rica, etc. Em resumo, alm das metas de negcio que sero motivadores para sua reviso de arquitetura, voc deve acompanhar os resultados dos demais times envolvidos, como marketing e parcerias. Nesse ponto, o alinhamento de sua Arquitetura de TI com o negcio muito mais abrangente do que apenas pensar na possibilidade de contratao de mais hardware para seus servidores IIS. Finalmente, no enunciado do estudo de caso, no comentei nada sobre o estgio atual da plataforma, tecnologias adotadas e verses de servidores em uso. No sabemos muito sobre o tamanho do legado envolvido. Porm, fato que teremos um impacto nesse legado, seja pela incluso de novos componentes ou mesmo expanso de funcionalidades. Alm disso, vamos precisar preparar uma estratgia de convivncia e evoluo em paralelo, quando componentes similares foram alterados. Por exemplo, algumas das pginas principais do portal devero conviver com pginas antigas, como plano de mitigao de risco em eventuais problemas na subido do novo portal. Lembre-se que o faturamente dirio muito importante para a empresa. E sobre o processo de evoluo dessa TI? Como voc conduziria? Usaria alguma metodologia ou ferramenta de apoio? O cronograma de evoluo tambm no ser nada fcil. Em dois anos as metas devero ser cumpridas. Portanto, as principais mudanas no ambiente de TI devem acontecer j no primeiro ano, concorda? No faria sentido terminar a evoluo de TI no final do prazo das metas de negcio. Lembre-se, alm de um cronograma apertado de 2 anos, voc deve manter o portal no ar ao longo do tempo, assim como todos os envolvidos atualizados, j que eles so clientes internos de sua viso, gerando novas demandas de impacto para a soluo.

325

Bom, isso ai. A ContosoTemDeTudo.com precisa de sua ajuda! O que mais voc comentaria sobre os desafios do arquiteto nesse cenrio? Sugestes? Direes? 2013 t chegando! Por enquanto s! At o prximo post :) Waldemir.

Como mapear camadas de uma aplicao para uma TI com private cloud? Parte 2/2
Thu, May 26 2011 9:00 AM Ol pessoal, tudo certo? No post anterior, vimos o incio de uma discusso sobre solues para um ambiente em private cloud. O assunto continua: Como garantir que uma arquitetura de referncia para solues esteja corretamente mapeada nos componentes provisionados na TI de uma empresa com private cloud? Para se garantir que a arquitetura de referncia (de solues) esteja aderente ao modelo de private cloud da empresa, precisamos de PADRONIZAO. Ou seja, precisamos padronizar os componentes de banco de dados, de segurana, de hosting, de caching, web e clusters que so provisionados pela soluo de private cloud. Para esses componentes, precisamos mapear as camadas de nossa arquitetura de soluo. Isso ir gerar uma maior aderncia da aplicao aos cenrios de provisionamento, que iro ocorrer conforme a necessidade. Por exemplo, se precisamos de mais banco de dados, basta encomendar para a soluo de private cloud mais N GB de base de dados. Se precisamos escalar o Web Farm, basta fazer o mesmo e teremos mais mquinas disponveis. Quando o perodo de pico passar, podemos apenas liberar as mquinas provisionadas e retornamos ao planejamento de infraestrutura original da aplicao. Espere um pouco!!! Isso parece Windows Azure, com seu modelo de provisionamento dinmico para SQL Azure e Web Roles, Worker Roles, Azure Storage, etc. Correto!!! O que permite o provisionamento de aplicaes com alta escalabilidade no Azure a PADRONIZAO, tanto de mquinas virtuais do Azure (Infraestrutura como Servio), como de componentes via AZURE ROLES e tipos do AZURE STORAGE (Plataforma como Servio). Essa padronizao vista atravs dos componentes de uma soluo para o Windows Azure, que aparecem no prprio Visual Studio, como vemos a seguir:

326

Temos ento os templates para ASP.NET WEB ROLE, ASP.NET MVC WEB ROLE, WCF SERVICE WEB ROLE, WORKER ROLE e outros que podem ser lanados pelo time de produto no futuro. Agora imagine nos possveis componentes e templates de aplicaes para sua TI local baseada em uma nuvem privada. Imagine o cenrio a seguir na frente de seu desenvolvedor:

Nesse cenrio, o desenvolvedor teria uma srie de templates preparados, aderentes aos modelo de deployment disponvel na empresa. Uma soluo baseada em Web seria mapeada para mquinas virtuais templates de um Web Farm. Solues baseadas em servios teria o mapeamento para mquinas virtuais com suporte para WCF/WF e WINDOWS SERVER

327

APPFABRIC, e assim por diante. Sobre essa camada de provisionamento de plataforma, agentes de monitorao e management packs j estariam preparados para monitorar a aplicao recm implantada, de forma automtica. De fato, isso possvel de ser implementado com as tecnologias atuais, baseadas na famlia SYSTEM CENTER, OPALIS, AVICODE, HYPER-V, WINDOWS SERVER APPFABRIC, VISUAL STUDIO 2010, SHAREPOINT SERVER 2010, IIS 7.0, WCF 4 e WF 4. J possvel criar esse modelo localmente em sua TI. Se voc j possui uma soluo de PRIVATE CLOUD (mesmo sobre VMWARE, a ideia vale para qualquer plataforma de virtualizao dinmica), garanta a padronizao de suas mquinas virtuais e recursos provisionveis de alto nvel (como bases de dados, servios de segurana, autenticao, hosting de servios, web farms, autorizao, etc.). Na sequncia, identifique os componentes provisionveis de sua aplicao e transforme-os em templates de desenvolvimento, patterns ou guias de composio desacoplados. Voc pode comear dividindo sua aplicao em camadas, como sugerido no Application Architecture Guide. No final, voc poder colecionar templates de VISUAL STUDIO devidamente mapeados em recursos de sua nuvem privada. O processo de agendamento dos recursos para provisionamento pode ser implementado nas pginas do dashboard em SharePoint Server, como j acontece no modelo de HYPER-V da Microsoft. Mas preste ateno sobre algumas garantias necessrias para esses templates, como desacoplamento de componentes, escalabilidade horizontal, no manuteno de estados, uso de caching distribudo, etc. Esse assunto bem interessante, mas est longe de terminar em apenas 2 posts! Por isso, aguarde novos debates sobre ele. Se tiver dicas, feedbacks ou sugestes, fique a vontade para colocar um comentrio! Por enquanto s! At o prximo post :) Waldemir.

Como mapear camadas de uma aplicao para uma TI com private cloud? Parte 1/2
Tue, May 24 2011 9:00 AM Ol pessoal, tudo certo? Semana passada conversei bastante com o arquiteto de TI Markus Christen. Na correria do dia-adia, no sempre que a gente consegue separar mais de 2 horas para falar sobre desenhos, opes de arquitetura e principalmente, Arquiteturas de Referncia.

328

Ele me apresentou uma viso sobre uma Arquitetura de Referncia para Private Cloud com tecnologias Microsoft e discutimos como mapear as camadas de uma aplicao com os recursos da infraestrutura privada. A partir de uma viso de Private Cloud, com a padronizao de servios de infraestrutura e seus recursos, quantas empresas hoje podem provisionar suas solues para esse ambiente de virtualizao on-premise de forma natural? Poucas, de fato! Mas a pergunta persiste: como garantir a aderncia de uma soluo de arquitetura sobre uma infraestrutura baseada em nuvem privada? e se tiver nuvem pblica, o problema igual! Meu comentrio geral foi que um bom ponto de partida usar o APPLICATION ARCHITECTURE GUIDE 2.0, onde encontramos alguns desenhos gerais de arquitetura e organizao em camadas para cenrios como:

Rich Client Application Web Application Rich Internet Application Services Office Business Applications Cloud Services

No ArchGuide, ainda podemos identificar as principais tecnologias da plataforma .NET que so aplicveis, como vemos na tabela a seguir:

329

Porm, no vemos nesse mapeamento uma associao direta aos recursos disponveis na infraestrutura. O que significa isso? Pense num cenrio geral de aplicao com diversos front-ends para RIA, WEB, RICH e MOBILE APPLICATION, consumindo servios WCF e WF. Uma soluo desse tipo pode ser vista abaixo:

Muito bem! O desenho lgico acima pode nos ajudar bastante na definio de camadas, assim como grupos de componentes, middlewares presentes e servios. Mas no temos um mapeamento direto para o provisionamento dessa soluo no mundo de infraestrutura. Se voc um arquiteto de infraestrutura ou um IT PRO que nos l (benvindos!), pense o nmero de vezes em que voc recebeu de desenvolvedores e arquitetos de solues/software/aplicativos, pacotes fechados para serem implementados, sem ao menos uma linha de comentrio sobre qual deveria ser o mapa de deployment em produo. No verdade? Inmeros profissionais de desenvolvimento esquecem ou ignoram o fato de que o mapeamento de infraestrutura EXTREMAMENTE IMPORTANTE para qualquer soluo no ambiente corporativo. Simplesmente, seguimos os caminhos do desenvolvimento de software, at usamos

330

um excelente ALM, mas nada definido sobre os aspectos de infraestrutura, consumo de recursos ou a padronizao dos chamados UTILITY SERVICES. Agora imagine o cenrio de uma empresa com private cloud ou uma soluo de datacenter dinmico. Como garantir que a arquitetura de referncia para solues esteja corretamente mapeada nos componentes provisionados na TI da empresa? Pense um pouco sobre isso! No prximo post, veremos algumas alternativas para esse mapeamento de arquitetura sobre uma TI com nuvem privada. Por enquanto s! At o prximo post :) Waldemir.

331

Captulo 11
Posts para pensar

Entre tantos posts sobre plataforma, arquitetura, tecnologias e tendncias, alguns posts foram publicados para provocar alguns minutos de reflexo. Neste captulo, veja alguns que tiveram maior impacto e geraram boas conversas de corredores.

332

Responsabilidade Fiscal, TI Verde, Governo Eletrnico e Computao em Nuvem


Mon, Feb 28 2011 9:00 AM Ol pessoal, tudo certo? As mudanas que estamos vendo em TI, com a proliferao de TI's hbridas, com parte local e parte em grandes datacenters com provisionamento dinmico (na nuvem), esto ocorrendo em diversas indstrias e devero tambm avanar pelo Setor Pblico. Mais ainda, os benefcios da computao em nuvem sero alvo de polticas de TI em aes governamentais num futuro prximo. Sobre esse assunto, no deixe de conferir um documento publicado pela Microsoft no final do ano passado, falando sobre o impacto econmico da Computao em Nuvem. Veja: THE ECONOMICS OF THE CLOUD NOVEMBER 2010 Ref.: http://www.microsoft.com/presspass/presskits/cloud/docs/The-Economics-of-the-Cloud.pdf O artigo um legtimo "LEITURA OBRIGATRIA" com "LO" maisculo! :) Os autores fazem uma anlise sobre o impacto e benefcios do modelo de computao em nuvem para alguns setores, construindo ao longo do texto um framework de entendimento que ajuda na transio da TI para o novo modelo. Passando pelas diversas necessidades da indstria, eles oferecem aguns exemplos para o setor pblico muito bem colocados. Destaco aqui alguns temas recorrentes no setor pblico hoje em dia: O primeiro a chamada Responsabilidade Fiscal, que envolve aes que ajudam as agncias governamentais das diversas esferas (municipais, estaduais e federais) a cortarem gastos, sem prejuzo dos servios oferecidos para a populao. Isso significa oferecer servios com elevada cobertura e disponibilidade, com custos reduzidos e maior eficincia financeira. Imagine aqui os custos otimizados com uma infraestrutura baseada em nuvem, onde somente a infraestrutura real necessria contratada e cobrada pelo uso, um exemplo muito simples. Quando pensamos em TI Verde, a consolidao de processos sustentveis, o engajamento com aes para a diminuio do consumo de energia, alm do uso de infraestruturas otimizadas com mnimo impacto ambiental so mais que uma tendncia; so aes que tm sido cobradas pela populao junto ao setor pblico de diversos pases. Os novos datacenters que suportam o modelo de nuvem so infraestruturas otimizadas, de ltima gerao, suportando a chamada sustentabilidade, com reduo nos gastos com energia, refrigerao, atravs do uso de virtualizao e outros procedimentos e certificaes internacionais. Finalmente, o Governo Eletrnico tem um impacto direto para o cidado, atravs de aes que oferecem o direito a informao e uma maior transparncia e comunicao das informaes dos servios pblicos oferecidos. Alguns exemplos so: transparncia sobre oramentos pblicos, estratgias de longo prazo, informaes sobre servios prestados, andamento de obras, evoluo

333

histrica das aes de governo, alm de servios online direto para o cidado (de IPVA a prestao de contas da escola estadual de seu filho). J existem diversas iniciativas de governo eletrnico no Brasil, como as aes de combate a corrupo, publicadas pela CGU - Controladoria-Geral da Unio (http://www.cgu.gov.br/Publicacoes/), o portal da transparncia, tambm da CGU (http://www.portaldatransparencia.gov.br/), as Contas do Estado de So Paulo publicadas online (http://www.fazenda.sp.gov.br/contas1/default.shtm), entre muitas outras. Agora imagine o uso de infraestruturas baseadas em nuvem, suportando aes para o chamado Governo Eletrnico, ampliando ainda mais sua cobertura, escalabilidade, impacto, com alternativas adicionais de aplicaes e solues integradas de TI para o cidado. Por isso, no deixe de conferir o artigo e tire suas concluses! Para terminar, j que falei aqui outro dia sobre Copa e Olimpadas no Brasil, acompanhe de perto... :) COPA 2014 - Transparncia em 1.lugar Ref.: www.portaldatransparencia.gov.br/copa2014 Jogos RIO 2016 - Transparncia em 1.lugar Ref.: www.portaldatransparencia.gov.br/rio2016 Por enquanto s! At o prximo post :) Waldemir.

Pensando sobre TI ao longo do tempo


Wed, Nov 17 2010 10:00 AM Ol pessoal, tudo certo? Mais um ano de blog, mais um novo post. Aproveitando a nostalgia, pergunta: voc se lembra disso?

334

um desenho bem bonito, concorda? Retirei ele de um dos documentos do WSSRA - Windows Server System Reference Architecture, de Maro de 2005. Para quem no se lembra, confira o download aqui: Windows Server System Reference Architecture (WSSRA) Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=D44E34EC-B4E2-49A19F40-9ED4BA3765DF&displaylang=en Esse pacote de documentos oferece uma srie de recomendaes e boas prticas para a construo de uma infraestrutura pensando aspectos de segurana, rede, aplicaes, conectividade, etc. Muitos arquitetos de infraestrutura ainda utilizam partes desse material em suas solues e decises de projeto. Agora pense comigo: em pouco mais de 5 anos, passamos das preocupaes de infraestrutura e hardware, ora local e ora em provedores locais de infraestrutura, para um cenrio onde parte da nossa infraestrutura poder estar na nuvem, em datacenters oferecendo infraestrutura como servio, plataforma como servio e solues (software) como servio. Computao em nuvem est sendo avaliada por muitas empresas e ambientes hbridos de TI local e TI na nuvem comeam a ser monetizadas. O que voc estava fazendo em Novembro de 2005? E o futuro? Como sero os prximos 5 anos? Qual ser nossa realidade de TI em Novembro de 2015? Ou ainda, como ser o modelo de arquitetura dominante para nossas aplicaes daqui h 5 anos? D o que pensar

335

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

Faxina online: onde vamos parar com tantas credenciais?


Sat, Feb 12 2011 9:00 AM Ol pessoal, tudo certo? Fiz um exerccio um dia desses e fiquei impressionado! Abra uma planilha e na coluna A, em cada linha, liste os sites em que voc tem conta. Isso mesmo, coloque linha a linha, nomes como hotmail, facebook, linkedin, twitter, etc. No final, veja o nmero de sites em que voc est presente! Finalmente, coloque na coluna B o usurio de cada conta listada (no coloque a senha! por motivos de segurana, guarde de cabea!) :) Hoje, somos criaturas online, definitivamente! Posso apostar que ao fazer essa lista e enquanto estiver lendo esse post, ir lembrar de outros portais ou lojas de e-Commerce que faltavam e ir adicion-los, aumentando sua presena na web! Agora imagine sua presena corporativa! Quantas contas de usurio, credenciais ou certificados voc utiliza no seu dia-a-dia, no trabalho? Ser que um dia iremos consolidar esse mundo de credenciais, cartes de visitas ou declaraes, vivendo um verdadeiro single sign on? Algumas tecnologias apontam um caminho, como o modelo CBA - Claim-based authentication, baseado no protocolo SAML - Security Assertion Markup Language. Em plataforma Microsoft, j vimos por aqui o WIF - Windows Identity Foundation, que suporta esse modelo de autenticao baseado em declaraes com a emisso de tokens por um servio STS Security Token Service. Um dos componentes desse modelo de declaraes o protocolo SAML. SAML (Security Assertion Markup Language) um padro XML - Extensible Markup Language, que permite um usurio fazer logon uma nica vez por sites afiliados porm separados. Existe portanto um relao de confiana entre esses sites ou aplicaes. SAML especifica trs componentes importantes: as afirmaes (ou declaraes), o protocolo e o binding. Existem 3 tipos de declaraes: autenticao, atributo e autorizao.

336

Declaraes de autenticao validam a identidade do usurio. Declaraes de atributo contm informaes especficas sobre o usurio. Declaraes de autorizao identificam o que o usurio est autorizado a fazer.

O protocolo define como SAML pede e recebe afirmaes. O binding define como as trocas de mensagens SAML so mapeados sobre o protocolo Simple Object Access Protocol (SOAP). Finalmente, as declaraes so transmitidas e trocadas entre os participantes em pacotes chamados TOKENs. Um token pode conter inmeras declaraes, conforme a necessidade da aplicao. A organizao OASIS - Organization for the Advancement of Structured Information Standards o grupo que define as normas para o protocolo SAML. Ref.: http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language Por aqui, tenho usado a tag [WIF] para falar mais sobre o assunto. Bom, agora na coluna C de sua planilha, coloque os portais e sites que voc mantm conta com acesso frequente pelo celular ou outro dispositivo mvel. E a lista no pra de crescer! :) J li em algum artigo que uma boa prtica separar um dia de tempos em tempos para reorganizar sua presena online! Atualizar cadastros, mudar fotos, revisar informaes, mudar currculos, ativar concentradores, etc. J que voc tem agora uma bela lista pronta, o que acha da dica? :) Vou aproveitar tambm e fazer minha Faxina Online! Eu diria at que uma Faxina Obrigatria! Por enquanto s! At o prximo post :) Waldemir.

Tecnologias para o mundo on-premise e o mundo cloud


Fri, Jul 2 2010 9:00 AM Ol pessoal, tudo certo? Pensando sobre alguns dos componentes para o mundo on-premise (local) e o mundo cloud, veja a tabela abaixo:

337

Claro, ela uma simplificao dos vrios cenrios disponveis na plataforma Microsoft, mas coloca algumas alternativas lado-a-lado, com uma viso interessante. Assim, para demandas de desacoplamento de servios e processos, com o uso de mensagens, protocolos e formatos de comunicao via internet, no mundo on-premise temos o Windows Server AppFabric e os recursos do BizTalk Server, enquanto que no mundo cloud temos o Windows Azure Platform e ou Windows Azure AppFabric. Para demandas de reuso de servios e processos, o mundo on-premise na plataforma Microsoft oferece uma srie de tecnologias alternativas, como frameworks para composio de aplicaes (como Prism, Silverlight, WPF, MEF, etc.), plataformas de colaborao e coordenao como o SharePoint e mesmo a orquestrao, repositrio de servios e mensageria do BizTalk Server e BizTalk ESB Guidance. Na nuvem, o AppFabric Service Bus um componente importante para coordenao de servios e processos. Finalmente, pensando em escalabilidade, o Windows Server AppFabric e o BizTalk Server oferecem capacidades para hosting, caching, tracking de mensagens, tratamento de exceo, etc, com alta escalabilidade para aplicaes. Do lado da nuvem, o Windows Azure Platform oferece as capacidades para a construo de aplicaes de alta escalabilidade e tratamento de milhares de usurios, atravs de seu provisionamento dinmico e elstico. Um exemplo de integrao envolvendo os vrios cenrios acima seria:

338

De fato, duas infraestruturas esto envolvidas aqui: uma infraestrutura remota, seja de usurios pblicos ou de outras organizaes externas; e nossa infraestrutura local (on-premise), onde temos nossos usurios internos e nossas solues de negcio. Para o ambiente on-premise, o exemplo coloca as plataformas SharePoint 2010, BizTalk Server, componentes, processos e servios em .NET e hospedagem e caching no Windows Server AppFabric. E para a publicao de servios externos, usamos o Windows Azure Platform AppFabric, para nossos servios de mercado. Finalmente, segurana um aspecto importante nesse cenrio. Para autenticao e autorizao de usurios nesse ambiente podemos utilizar o AD FS v2.0, o seletor de identidades CardSpace na estao do usurio e o framework WIF Windows Identity Foundation em nossas aplicaes, criando um cenrio de autenticao e autorizao baseada em declaraes, como j vimos em posts anteriores. E no se engane!!! O cenrio acima no to distante assim no!!! :) Por enquanto s! At o prximo post :) Waldemir.

339

Uma viso Software+Servios e a prxima dcada


Thu, Jan 7 2010 11:15 PM Ol pessoal, tudo certo? Esta quinta-feira estive com um time de consultores em TI para falar sobre Software+Servios, a viso da Microsoft para um TI dinmica e hbrida, que atende a nova demanda do mercado. E que demanda essa? A demanda por combinao! Essa combinao est relacionada com os diferentes ambientes de infraestrutura que esto presentes nas empresas hoje em dia. E essa tendncia colocada como o futuro de TI para a prxima dcada, algo como o desenho abaixo, j conhecido aqui do blog:

Em cada dcada, uma arquitetura dominate orientou a construo de aplicaes e a maneira como exportamos e consumimos funcionalidades de negcio em TI. Note tambm que cada nova arquitetura no substitui de fato a anterior, mas sim adiciona uma nova oportunidade de integrao ou de construo de aplicaes. Por isso encontramos tantas empresas no mercado com muitas das arquitetura acima, ainda hoje. Pensando nisso, como a plataforma Microsoft permite a integrao desses vrios ambientes? O ponto principal de integrao est no uso do .NET Framework e seus recursos. Em diversas conversas com o mercado sempre procuro lembrar um aspecto muito interessante do .NET Framework que sua permeabilidade nas vrias infraestruturas da TI dinmica, isto , presente no desktop, na web, no ambiente mobile, no corporativo e na cloud. Alm da possibilidade de integrao desses vrios ambientes, o .NET Framework ainda oferece recursos para a construo de componentes ou a extenso de funcionalidades dos vrios produtos (box) da plataforma Microsoft. O desenho abaixo ilustra esses vrios recursos, destacando os mundos: o Windows Live, o Windows Azure, o Windows Server, o .NET Framework e o Windows Client.

340

Bom, j falamos aqui que o mundo mudou, que nosso usurio est mais exigente, que a Web 2.0 migrou para o mundo corporativo, com seus mashups, composies, interatividade, que o cloud computing aproveita as atividades comoditizveis do dia-a-dia de TI em suas ofertas, reduzindo custos, pessoal, etc, etc. Em resumo, espere tambm mudanas frequentes nessa prxima dcada! E considere a convivncia e a interoperabilidade entre os vrios ambientes, aproveitando os investimentos j realizados em sua empresa. Por enquanto s! At o prximo post :) Waldemir.

341

Captulo 12
Leitura Obrigatria

A expresso Leitura Obrigatria quase marca registrada de alguns posts no blog Arquitetura de Solues. Por isso, no podia faltar aqui no ebook. Confira os principais livros, artigos e links que foram indicados como Leituras Obrigatrias aqui pelo humilde escrevente! :)

342

Leitura Obrigatria para IT Pros: Windows Sysinternals Admin Reference


Fri, Jul 29 2011 9:00 AM Ol pessoal, tudo certo? Leitura Obrigatria para IT Pros e administradores de redes.

Windows Sysinternals Administrator's Reference [Paperback] Mark E. Russinovich (Author), Aaron Margosis (Author) Paperback: 496 pages Publisher: Microsoft Press; 1 edition (July 20, 2011) ISBN-10: 073565672X

Windows Sysinternals Administrator's Reference Ref.: http://technet.microsoft.com/en-us/sysinternals/hh290819 Mais um livro interessante de Mark Russinovich. Entre os principais assuntos temos: - Process Explorer - Process Monitor - Autoruns - PsTools - Process and Diagnostic Utilities - Security Utilities - Active Directory Utilities - Desktop Utilities - File Utilities - Disk Utilities - Network and Communication Utilities - System Information Utilities - Miscellaneous Utilities Por enquanto s!

343

Bom final de semana e at o prximo post :) Waldemir.

Leitura Obrigatria: artigos da MSDN Magazine de Junho/2011


Wed, Jun 22 2011 9:00 AM Ol pessoal, tudo certo? Uma dica de Leitura Obrigatria deste post a edio de Junho da MSDN Magazine.

MSDN Magazine June 2011 Ref.: http://msdn.microsoft.com/en-us/magazine/hh227291.aspx

344

O tema central desta edio o desenvolvimento gil, que nem precisa de comentrios sobre sua importncia e impacto no desenvolvimento de aplicaes. No deixe de conferir os vrios artigos da edio. Ainda, um belo artigo sobre Complex Event Processing com o StreamInsight da Microsoft. Por enquanto s! At o prximo post :) Waldemir.

Leitura Obrigatria: Introduo sobre ODATA, por David Chappell


Wed, Jun 1 2011 9:00 AM Ol pessoal, tudo certo? A arquiteto David Chappell publicou esta semana mais um artigo didtico e bem legal sobre a plataforma Microsoft.

INTRODUCING ODATA - DATA ACCESS FOR THE WEB, THE CLOUD, MOBILE DEVICES, AND MORE Ref.: http://msdn.microsoft.com/en-us/data/hh237663 Como eu sempre digo: Leitura Obrigatria! Por enquanto s! At o prximo post :) Waldemir.

345

Leitura Obrigatria: Artigos novos no MSDN sobre plataforma Azure


Sat, May 14 2011 9:00 AM Ol pessoal, tudo certo? Esse ms de Maio publiquei dois novos artigos sobre a plataforma Windows Azure. Vejam nos links a seguir: Introduo sobre o Windows Azure Ref.: http://msdn.microsoft.com/pt-br/hh150078 Introduo sobre o SQL Azure Ref.: http://msdn.microsoft.com/pt-br/hh147515 A ideia foi atualizar algumas informaes e consolidar algumas recomendaes sobre as duas iniciativas: Azure Compute e SQL Azure. Espero que gostem! Por enquanto s! At o prximo post :) Waldemir.

Leitura Obrigatria: Redes Sociais entre comunidades e projetos


Tue, May 3 2011 1:00 PM Ol pessoal, tudo certo? Entre um projeto e outro, tenho participado de algumas discusses sobre tendncias em TI. Quando falamos sobre inovao, tecnologia e tendncias, esses temas se confundem e esto muito conectados. Entre tantas novas siglas e promessas de futuro, alguns tpicos chamam minha ateno. So eles:

REDES SOCIAIS, FOLKSONOMIA, COLABORAO FORM FACTOR WEB 2.0, MASHUPS, COMPOSIO CONSUMERIZATION CLOUD COMPUTING TV DIGITAL MEMES, VIRAL PROLIFERAO DE DISPOSITIVOS

346

Alguns temas j so velhos conhecidos, outros nem tanto. Pesquise sobre eles um pouco mais e divirta-se! Especialmente sobre Redes Sociais, hoje de extrema importncia saber colaborar. Trabalhar em equipe ganhou uma nova dimenso com o envolvimento de Redes Sociais e Comunidades Online. Vejo diversos projetos em andamento onde desenvolvedores e arquitetos colaboram e trocam experincias atravs de redes, a maioria das vezes redes externas, fora das empresas. Ainda um desafio para muitas organizaes criar um modelo corporativo de redes sociais que de fato funcione. J existem algumas solues no mercado. Porm, criar uma cultura colaborativa, inclusiva e dinmica um desafio que supera a tecnologia. Mas tenho visto essa tendncia avanar no plano estratgico de muitas empresas, o que muito bom! Assim, para aqueles que colaboram e participam de redes para estudar, pesquisar, aprender e trocar experincias ou dvidas do dia-a-dia sobre arquitetura e tecnologia, segue abaixo algumas dicas de links e comunidades bem ativas! Confira e aproveite, LEITURAS OBRIGATRIAS!!! Pangea - A primeira rede social sobre arquitetura de software do Brasil Ref.: http://pangeanet.org/ .NET ARCHITECTS Ref.: http://www.dotnetarchitects.net/ Panta NET Ref.: http://www.pantanet.net/ Arquitetos Brasil Ref.: http://arqbr.groups.live.com/ Group: IT Architects Brazil (Estratgia e Arquitetura de TI) Ref.: https://www.linkedin.com/ Group: IASA: The Global IT Architect Association Ref.: https://www.linkedin.com/ Tambm, para conhecer outras comunidades e grupos de usurios na plataforma Microsoft, confira o link a seguir: Comunidade e grupos de usurio Ref.: http://msdn.microsoft.com/pt-br/aa497440 Com certeza, existem muitos outros grupos e comunidades de arquitetura por ai. Alguns com sites, outros apenas com RSS, outros mais despojados, trocando mensagens apenas via e-mail. O importante manter o contato com sua rede e crescer profissionalmente, trocando experincias.

347

Se voc participa de alguma comunidade sobre arquitetura de TI e gostaria de divulg-la, coloque seu comentrio aqui. Faa seu JABA e colabore! :) A comunidade agradece! Por enquanto s! At o prximo post :) Waldemir.

Leitura Obrigatria: Fibonacci, F#, MapReduce e Windows Azure


Wed, Apr 27 2011 9:00 AM Ol pessoal, tudo certo? Um super artigo que vale como Leitura Obrigatria, segue abaixo:

Parsing Log Files with F#, MapReduce and Windows Azure Ref.: http://msdn.microsoft.com/en-us/magazine/gg983490.aspx

348

O artigo do autor Noah Gift da MSDN Magazine, que conseguiu fazer uma bela combinao com os componentes F# Worker Role e o pattern de Map Reduce para a plataforma Windows Azure. J falamos aqui sobre F#, um tempo atrs. Para quem no se lembra, o F# uma das linguagens suportadas no Windows Azure, com templates para Worker Roles disponveis no Visual Studio com o SDK do Azure, veja:

Ao selecionar uma Worker Role com a linguagem Visual F#, o template bsico oferecido aparece abaixo: 1: namespace WorkerRole1 2: 3: open System 4: open System.Collections.Generic 5: open System.Diagnostics 6: open System.Linq 7: open System.Net 8: open System.Threading 9: open Microsoft.WindowsAzure 10: open Microsoft.WindowsAzure.Diagnostics 11: open Microsoft.WindowsAzure.ServiceRuntime 12: open Microsoft.WindowsAzure.StorageClient 13: 14: type WorkerRole() = 15: inherit RoleEntryPoint() 16: 17: // This is a sample worker implementation. Replace with your logic. 18: 19: let log message kind = Trace.WriteLine(message, kind) 20:

349

21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:

override wr.Run() = log "WorkerRole1 entry point called" "Information" while(true) do Thread.Sleep(10000) log "Working" "Information" override wr.OnStart() = // Set the maximum number of concurrent connections ServicePointManager.DefaultConnectionLimit <- 12 // For information on handling configuration changes // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357. base.OnStart()

O cdigo acima do arquivo WorkerRole.fs, do template WorkerRoke1. Um exemplo clssico para iniciantes em F# so as funes de recurso para o clculo da Sequncia de Fibonacci, aquela que usamos na determinao da espiral dourada (Golden spiral), com quadrados de tamanhos 1, 1, 2, 3, 5, 8, 13, 21 e 34, veja:

Bem interessante! No deixe de conferir o artigo acima sobre Map Reduce e F# no Azure. Se ficou interessado sobre F#, veja tambm os links: F# at Microsoft Research Ref.: http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/default.aspx Microsoft F# Developer Center Ref.: http://msdn.microsoft.com/en-us/fsharp Por enquanto s! At o prximo post :) Waldemir.

350

Leitura Obrigatria: Revisando alguns links e leituras


Sat, Apr 9 2011 9:00 AM Ol pessoal, tudo certo? Andei fazendo uma reviso sobre os vrios links que tenho acompanhado. Segue aqui o resultado: Cloud Computing Journal http://cloudcomputing.sys-con.com/ J.D. Meier's Blog http://blogs.msdn.com/b/jmeier/ Wade Wegner's Blog http://www.wadewegner.com/ Steve Marx's Blog http://blog.smarx.com/ Eugenio Pace http://blogs.msdn.com/b/eugeniop/ Masashi Narumoto's Blog http://blogs.msdn.com/b/masashi_narumoto/ Cloudy in Seattle by Jim Nakashima http://blogs.msdn.com/b/jnak/ patterns & practices - Windows Azure Guidance http://wag.codeplex.com/ Windows Azure AppFabric Team Blog http://blogs.msdn.com/b/windowsazureappfabric/ msdn Magazine - April 2011 - Windows Azure http://msdn.microsoft.com/en-us/magazine/gg749836.aspx Em relao a livros, algumas dicas de leitura so:

351

Use Case Driven Object Modeling with UMLTheory and Practice Hardcover: 438 pages Publisher: Apress (January 11, 2007) Language: English ISBN-10: 9781590597743 E ainda...

Enterprise Architecture As Strategy: Creating a Foundation for Business Execution Hardcover: 234 pages Publisher: Harvard Business Press (August 1, 2006) Language: English ISBN-10: 9781591398394 Leituras Obrigatrias! Por enquanto s! At o prximo post :) Waldemir.

352

Leitura Obrigatria: aplicaes para estudo


Wed, Feb 16 2011 9:00 AM Ol pessoal, tudo certo? Sempre me perguntam sobre aplicaes exemplos e dicas de estudo, para navegar pelas vrias tecnologias que temos na plataforma Microsoft. Pensando ainda sobre a wave 2010, onde vimos Azure, .NET 4.0, WIF, AppFabric, entre outros, o desafio grande. Assim, segue aqui uma lista rpida de aplicaes que tenho aproveitado com sucesso em meus exemplos e estudos. Layered Architecture Sample for .NET Ref.: http://layersample.codeplex.com/ Layered Architecture Sample for Azure Ref.: http://cloudsample.codeplex.com/ AppFabric Reference Implementation: Managing the LifeCycle of a WorkFlow Service Ref.: http://social.technet.microsoft.com/wiki/contents/articles/appfabric-referenceimplementation-managing-the-lifecycle-of-a-workflow-service.aspx Tailspin Travel September 2010 Ref.: http://tailspintravel.codeplex.com/ Prism 4.0 November 2010 Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3453ab2b-2067-41e4b087-312d8385cf1b&displaylang=en patterns & practices - Windows Azure Guidance Ref.: http://wag.codeplex.com/ Se voc se concentrar nesses exemplos e dominar essas tecnologias, pode pedir um aumento! :) Espero que ajude! Por enquanto s! At o prximo post :) Waldemir.

Leitura Recomendada: Livros sobre SOA Service-Oriented Architecture


Mon, Jun 14 2010 9:00 AM Ol pessoal, tudo certo?

353

O tema SOA sempre recorrente, mas muitas vezes discutido sem os devidos fundamentos ou leituras que o assunto exige, o que gera grandes confuses. Por isso, segue aqui um post com algumas indicaes interessantes para leitura. Um dos autores que tem sido sempre citado em conversas sobre SOA Thomas Erl, devido sua srie sobre o assunto. Recentemente ele publicou mais um livro que merece destaque, por isso, vou utilizar esse autor como base para algumas referncias: SOA with .NET and Windows Azure: Realizing Service-Orientation with the Microsoft Platform (Junho 2010) By Thomas Erl e outros. ISBN-10: 0-13-158231-3 O conhecido Thomas Erl lanou mais um livro, consolidando seus principais conceitos sobre SOA na plataforma Microsoft. Entre os temas encontramos Windows Communication Foundation (WCF), Windows Azure, Windows Workflow Foundation (WF), Windows Azure AppFabric, BizTalk Server, Windows Presentation Foundation (WPF) entre outros. Ainda no recebi o livro, mas promete! Assim que receber e termin-lo, colocarei aqui no blog meus comentrios. Ref.: http://search.barnesandnoble.com/SOA-with-NET-and-Windows-Azure/ThomasErl/e/9780131582316

SOA Design Patterns (The Prentice Hall Service-Oriented Computing Series from Thomas Erl) (Janeiro 2009) By Thomas Erl ISBN-10: 0136135161 Esse livro uma leitura interessante, colocando alguns aspectos e patterns para a construo de servios que podem ser utilizados em alguns cenrios. Apesar de algumas crticas, o livro oferece uma boa base sobre princpios e definies concretas sobre servios, sendo ainda uma referncia sobre o assunto. Ref.: http://www.amazon.com/Design-Patterns-Prentice-Service-OrientedComputing/dp/0136135161/ref=sr_1_1?ie=UTF8&s=books&qid=1275763738&sr=1-1 Finalmente, mais um livro da srie SOA de Thomas Erl, aqui:

SOA Principles of Service Design (Julho 2007) By Thomas Erl ISBN-10: 0132344823

354

Esse o livro da srie de Thomas Erl mais conhecido e com certeza o mais abrangente. Sendo um dos primeiros, falta um pouco uma viso mais concreta sobre os desafios do mundo real, mas ainda o considero uma boa leitura, fornecendo uma base importante para as discusses em torno do tema. Entre os principais assuntos o livro trata servios, contratos de servios, contratos de dados, composio, acoplamento, distribuio, gerenciamento, etc. Ref.: http://www.amazon.com/SOA-Principles-Service-DesignThomas/dp/0132344823/ref=pd_bxgy_b_img_b Service-Oriented Architecture (SOA): Concepts, Technology, and Design (Agosto 2005) By thomas Erl ISBN-10: 0131858580 Finalmente, um dos primeiros do autor sobre o assunto SOA. O livro interessante, destacando os desafios sobre o design de servios, modelagem de negcios e principalmente aspectos sobre a abstrao em camadas que uma viso de SOA exige. Como leitura hoje vale pela curiosidade, j que os ttulos mais recentes da srie fazem algumas atualizaes e correes importantes. Ref.: http://www.amazon.com/Service-Oriented-Architecture-SOA-ConceptsTechnology/dp/0131858580/ref=pd_bxgy_b_img_c Espero que tenha gostado. Em breve, coloco aqui outras indicaes e referncias sobre o assunto, de outros autores. Por enquanto s! At o prximo post :) Waldemir.

Leitura Recomendada: Contedo MSDN para Desenvolvedores


Fri, Apr 30 2010 1:00 PM Ol pessoal, tudo certo? Voc que arquiteto ou lder de desenvolvimento, que possui um time de desenvolvedores e pessoal tcnico, no deixe de indicar esse material para seu pessoal: Download de contedo tcnico gratuito do MSDN para desenvolvedores http://blogs.msdn.com/jpclementi/archive/2010/04/29/download-de-conte-do-t-cnico-gratuitodo-msdn-para-desenvolvedores.aspx Entre os principais links, muito material sobre:

355

Azure, ASP.NET, .NET Framework 3.5, .NET Framework 4.0, Migrao de Tecnologias, Silverlight 3.0 + Expression, Silverlight 4, Segurana no Desenvolvimento SQL e Acesso a Dados, Visual Studio 2010 e .Net Framework 4.0, WCF, WF, WPF e Windows Server 2008. Excelente material que vale conferir! Show do JP! :) Por enquanto s! Bom final de semana e at o prximo post :) Waldemir.

Leitura Recomendada: novidades do patterns & practices


Thu, Mar 11 2010 9:00 AM Ol pessoal, tudo certo? Faz tempo que no coloco uma leitura recomendada aqui no blog. Hoje, aproveito para colocar algumas:

A Guide to Claims-Based Identity and Access Control Book Download March 2010 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=4c09ffe4-43dd-4fcc-be35c897c9bc4386&displaylang=en

Esse acabou de sair do forno, essa semana, sendo o primeiro lanamento do ano! O documento est bem completo e com leitura agradvel. Um guia obrigatrio sobre Claims-Based Identity e Access Control.

356

Microsoft Application Architecture Guide, 2nd Edition Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=ce40e4e1-9838-4c89-a197a373b2a60df2&DisplayLang=en

Nosso velho conhecido, mas que sempre bom relembrar pela importncia e qualidade do guia. Se voc ainda no leu, fica a dica!

Apenas para relembrar, arquiteturas de referncia so importantes pois oferecem bons exemplos e dicas para a organizao de camadas e componentes de uma aplicao, a partir das necessidades e restries do cenrio alvo. Assim, o AppArchGuide oferece exemplos de arqutipos para aplicaes RIA, Desktop, Web, Mobile, Servios, etc. Uma boa ajuda para voc no sair do ZERO quando estiver pensando na organizao de sua aplicao. Por enquanto s! At o prximo post :) Waldemir.

patterns & practices: dicas de projetos e releases finais no msdn


Wed, Jan 20 2010 8:34 AM Ol pessoal, tudo certo? No post anterior eu apresentei uma lista com alguns projetos importantes publicados no codeplex pelo time do patterns & practices. Mas como bem comentado pelo Don Smith, Senior Program Manager do time do p&p, depois da evoluo desses projetos no CodePlex, a verso final de cada um deles colocada no MSDN. Assim, vale esse novo post, com a lista de links de releases finais dos projetos no MSDN:

357

Microsoft Enterprise Library 4.1 October 2008 Ref.: http://msdn.microsoft.com/en-us/library/cc467894.aspx?rssCatalog patterns & practices: Enterprise Library Ref.: http://entlib.codeplex.com/ Composite Application Guidance for WPF and Silverlight Ref.: http://msdn.microsoft.com/en-us/library/dd458809.aspx patterns & practices: Composite WPF and Silverlight Ref.: http://compositewpf.codeplex.com/ Microsoft Application Architecture Guide, 2nd Edition Ref.: http://msdn.microsoft.com/en-us/library/dd673617.aspx patterns & practices: Application Arch Guide 2.0 Ref.: http://apparchguide.codeplex.com/ Developing SharePoint Applications Ref.: http://msdn.microsoft.com/en-us/library/dd203468.aspx?rss patterns & practices: SharePoint Guidance Ref.: http://spg.codeplex.com/ Improving Web Services Security: Scenarios and Implementation Guidance for WCF Ref.: http://msdn.microsoft.com/en-us/library/cc949034.aspx?rssCatalog patterns & practices: Improving Web Services Security Guide Ref.: http://www.codeplex.com/WCFSecurityGuide E vale conferir tambm o blog do Don Smith, a seguir: Ref.: http://blogs.msdn.com/donsmith Thanks Don, for all the support! :) Best Regards, Waldemir.

Leitura Recomendada: Microsoft Application Architecture Guide 2nd Edition


Thu, Nov 5 2009 7:45 PM

358

Ol pessoal, tudo certo? Como anunciado por aqui, o App Arch Guide 2 foi lanado de forma impressa e j est disponvel na Amazon, veja:

Microsoft Application Architecture Guide, 2nd Edition (Patterns & Practices) Ref.: http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-PatternsPractices/dp/073562710X/ref=sr_1_1?ie=UTF8&qid=1257457119&sr=8-1-spell Confira aqui o post do J.D. Meier sobre o anncio, feito hoje! Now Available: patterns & practices Application Architecture Book Ref.: http://blogs.msdn.com/jmeier/archive/2009/11/05/now-available-patterns-practicesapplication-architecture-book.aspx Por enquanto s! At o prximo post :) Waldemir.

359

Captulo 13
Links e Setups

De tempos em tempos separo um perodo para reconstruir a mquina, formantando o HD e reinstalando pacotes e componentes do zero. Isso permite uma reviso de ferramentas e atualizaes que so necessrias no ambiente de desenvolvimento e arquitetura. Como sempre, anoto os links e URL de todos os pacotes que estou instalando, mantendo um histrico interessante. Como resultado, esse captulo ilustra os principais links e pacotes de instalao que foram instalados em minhas mquinas de testes, ao longo de vrios projetos. possvel que alguns links de pacotes CTP e SETUP estejam desatualizados devido a evoluo ao londo do tempo. Fica mais como um registro histrico.

360

Links, SDKs e Tools para a plataforma Windows Azure


Mon, May 23 2011 9:00 AM Ol pessoal, tudo certo? Quando o assunto Windows Azure, links e pacotes esto em constante evoluo. Por isso, segue aqui mais um post com links atualizados sobre a plataforma: Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (March 2011) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1089b6-4050-4307-86c49dadaa5ed018 Windows Azure Platform Training Kit - May Update http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B30953B7B77EDF78 Windows Azure AppFabric SDK V2.0 CTP - May Update http://www.microsoft.com/downloads/en/details.aspx?FamilyID=D89640FC-C552-446EAEAD-B1E0D940F31B Windows Azure Toolkit for Windows Phone 7 http://watoolkitwp7.codeplex.com/releases/view/61952 Windows Azure SDK for Java http://www.windowsazure4j.org/ Windows Azure SDK for PHP http://phpazure.codeplex.com/ http://www.interoperabilitybridges.com/projects/php-sdk-for-windows-azure Windows Azure Tools for Eclipse (Plug-in for Eclipse) http://www.windowsazure4e.org/ Azure AppFabric SDK for Ruby http://www.interoperabilitybridges.com/projects/azure-ruby-sdk-for-net-services Windows Azure Storage for WordPress http://www.interoperabilitybridges.com/projects/windows-azure-storage-for-wordpress Por enquanto s! At o prximo post :) Waldemir.

361

Links e Setups: atualizaes recentes para Azure, AppFabric, Silverlight e WIF


Wed, Apr 20 2011 9:00 AM Ol pessoal, tudo certo? Mais um post com aquela srie de LINKS e SETUPs para atualizao da estao de trabalho. Como estou preparando uma mquina nova para demonstraes, segue uma nova lista de pacotes e atualizaes a partir de Abril. Para trabalhar com Windows Azure: Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio (March 2011) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7A1089B6-4050-4307-86C49DADAA5ED018 Microsoft Visual Studio 2010 Service Pack 1 (Installer) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=75568AA6-8107-475D-948AEF22627E57A5 Windows Azure Platform Training Kit - April Update http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B30953B7B77EDF78 Visual Studio 2010 and .NET Framework 4 Training Kit http://www.microsoft.com/downloads/en/details.aspx?FamilyID=752CB725-969B-4732-A383ED5740F02E93 Para trabalhar com Azure AppFabric: Windows Identity Foundation http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eb9c345f-e830-40b8-a5feae7a864c4d76&displaylang=en Windows Identity Foundation SDK http://www.microsoft.com/downloads/en/details.aspx?familyid=C148B2DF-C7AF-46BB-91622C9422208504&displaylang=en Windows Azure AppFabric SDK V1.0 - October Update http://www.microsoft.com/downloads/en/details.aspx?FamilyID=39856a03-1490-4283-908fc8bf0bfad8a5&displaylang=en Windows Azure AppFabric SDK V2.0 CTP February Update http://www.microsoft.com/downloads/en/details.aspx?FamilyID=D89640FC-C552-446EAEAD-B1E0D940F31B

362

Para trabalhar com Silverlight e RIA Applications: Microsoft Silverlight 4 SDK http://www.microsoft.com/downloads/en/details.aspx?FamilyID=298170D6-567C-4B90-9917490FFCDDBA87 Microsoft Silverlight 4 Tools for Visual Studio 2010 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=B3DEB194-CA86-4FB6A716-B67C2604A139 WCF RIA Services Toolkit (April 2011) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6F834BF7-FFDE-4D5D-857318541762118B WCF RIA Services V1.0 for Silverlight 4 and Visual Studio 2010 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=CD3191A1-DEF4-4CAA8120-1F0BBCF4BB05 Para trabalhar com Windows Server AppFabric: Windows Server AppFabric http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=467e5aa5c25b-4c80-a6d2-9f8fb0f337d2 Windows Server AppFabric Training Kit http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7290f7ed-e86b-4114-a4524f07fa32403d Windows Server AppFabric Samples http://www.microsoft.com/downloads/en/details.aspx?FamilyID=DB665003-44C5-4E25-9CE1C53512F24492 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=35EC8682-D5FD-4BC3A51A-D8AD115A8792 Tail Spin Travel http://tailspintravel.codeplex.com/ Para trabalhar com Claim-based Authentication, WIF e ADFS 2: Windows Identity Foundation http://www.microsoft.com/downloads/en/details.aspx?FamilyID=EB9C345F-E830-40B8-A5FEAE7A864C4D76

363

Windows Identity Foundation SDK http://www.microsoft.com/downloads/en/details.aspx?FamilyID=C148B2DF-C7AF-46BB9162-2C9422208504 Identity Developer Training Kit http://www.microsoft.com/downloads/en/details.aspx?FamilyID=C3E315FA-94E2-4028-99CB904369F177C0 Espero que ajude! Por enquanto s! At o prximo post :) Waldemir.

Links e Setups: configurando uma nova mquina


Mon, Feb 14 2011 9:00 AM Ol pessoal, tudo certo? De tempos em tempos, fao aquela reviso geral da mquina, formatando e reinstalando pacotes. Para manter a tradio, segue aqui a lista de downloads que utilizei semana passada, durante esta edio, alm do VS2010, claro! :) SQL Server 2008 R2 Express Edition Ref.: http://www.microsoft.com/express/Database/ Sample Databases for Microsoft SQL Server 2008R2 (SR1) Ref.: http://msftdbprodsamples.codeplex.com/releases/view/55926 IIS Manager for Remote Administration 1.0 Ref.: http://www.iis.net/download/IISManager Windows Server AppFabric Ref.: http://www.microsoft.com/downloads/details.aspx?displaylang=ptbr&FamilyID=467e5aa5-c25b-4c80-a6d2-9f8fb0f337d2#filelist Update for Windows 7 for x64-based Systems (KB980423) Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=4995bfa5-d55a-4aed9c80-0789bfe137c1&displaylang=en Web Platform Installer 3.0 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=32b0dfe5-f139-4e1c-b4123da39f50bbf9&displaylang=pt-br

364

Visual Studio 2010 and .NET Framework 4 Training Kit Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=752cb725-969b-4732a383-ed5740f02e93 Prism 4.0 November 2010 Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3453ab2b-2067-41e4b087-312d8385cf1b&displaylang=en Tailspin Travel September 2010 Ref.: http://tailspintravel.codeplex.com/ Windows Identity Foundation Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eb9c345f-e830-40b8a5fe-ae7a864c4d76&displaylang=en Windows Identity Foundation SDK Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c148b2df-c7af-46bb9162-2c9422208504&displaylang=en Identity Developer Training Kit Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=C3E315FA-94E2-402899CB-904369F177C0 Windows Azure Tools For Microsoft Visual Studio 2010 v1.3 Ref.: http://www.microsoft.com/web/gallery/install.aspx?appid=WindowsAzureToolsVS2010 Windows Azure Platform Training Kit January 2011 Update Ref.: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413e88f8-5966-4a83b309-53b7b77edf78&displaylang=en Espero que ajude! Se lembrar de algum mais, coloco por aqui. Se tiver alguma dica tambm, no deixe de compartilhar! Por enquanto s! At o prximo post :) Waldemir.

Links e Setups de uma mquina de testes


Fri, Oct 29 2010 10:00 PM Ol pessoal, tudo certo?

365

De tempos em tempos, gosto de remontar minha mquina de testes/desenvolvimento, para atualizar componentes e refazer alguns pacotes de avaliao, alm de atualizar os vrios CTPs que estou sempre avaliando. Foi o que fiz hoje, entre uma reunio e outra. Como baixei vrios componentes da WEB, segue abaixo a ordem de instalao de parte da mquina: Microsoft SQL Server 2008 R2 RTM - Management Studio Express (April 2010) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=56AD557C-03E6-4369-9C1DE81B33D8026B&amp%3Bdisplaylang=en Sample Databases for Microsoft SQL Server 2008 R2 (RTM) http://msftdbprodsamples.codeplex.com/releases/view/45907 [OPCIONAL] SQL Server 2008 R2 Update for Developers Training Kit (June 2010 Update) http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=fffaad6a0153-4d41-b289-a3ed1d637c0d IIS Manager for Remote Administration http://www.iis.net/download/IISManager Windows Server AppFabric 1.0 (July 2010) http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=467e5aa5c25b-4c80-a6d2-9f8fb0f337d2 Recommended Updates for Windows Server AppFabric http://msdn.microsoft.com/en-us/windowsserver/ff637504.aspx Update for Windows 7 for x64-based Systems (KB980423) http://www.microsoft.com/downloads/en/details.aspx?FamilyId=4995bfa5-d55a-4aed-9c800789bfe137c1&displaylang=en Windows Azure Tools for Microsoft Visual Studio 1.2 (June 2010) http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50ae197dc340f6f&displaylang=en Windows Live Essentials 2011 http://explore.live.com/windows-live-essentials?os=other Prism 4.0 CTP - August 2010 http://compositewpf.codeplex.com/releases/view/49963 Windows Server AppFabric Samples http://www.microsoft.com/downloads/en/details.aspx?FamilyID=DB665003-44C5-4E25-9CE1C53512F24492

366

Visual Studio 2010 and .NET Framework 4 Training Kit http://www.microsoft.com/downloads/en/details.aspx?FamilyID=752cb725-969b-4732-a383ed5740f02e93&displaylang=en SQL Azure Migration Wizard v3.4 http://sqlazuremw.codeplex.com/ Para fechar a instalao, segue o novo Windows Server AppFabric Training Kit, LEITURA OBRIGATRIA! Windows Server AppFabric Training Kit http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7290f7ed-e86b-4114-a4524f07fa32403d Por enquanto s! Bom feriado e at o prximo post Waldemir.

Reinstalando a mquina: links e pacotes importantes


Wed, Feb 10 2010 11:28 AM Ol pessoal, tudo certo? Como sabem, de tempos em tempos fao minha REVAMP de mquina, reinstalando as vrias ferramentas que uso no dia-a-dia, como Visual Studio, SQL Server, SDK de Azure, etc. Fiz isso essa semana e para facilitar, segue aqui uma lista dos principais pacotes que estou instalando/avaliando na mquina, sobre Windows 7 Enterprise 64 bits com Microsoft Office 2010 Beta: Microsoft Office Professional Plus 2010 Beta Ref.: http://www.microsoft.com/office/2010/en/download-office-professional-plus/default.aspx Visual Studio 2010 e .NET Framework 4 Release Candidate Ref.: http://msdn.microsoft.com/pt-br/vstudio/dd582936.aspx Visual Studio 2010 and .NET Framework 4 Training Kit - January Release Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383ED5740F02E93&displaylang=en SQL Server 2008 Express Edition Ref.: http://www.microsoft.com/express/Database/

367

SQL Server 2008 R2 November CTP Ref.: http://www.microsoft.com/sqlserver/2008/en/us/R2Downloads.aspx Alm dos pacotes para Windows Azure: Windows Azure Software Development Kit 1.1 (February 2010) Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=dba6a576-468d-4ef6-877eb14e3c865d3a&displaylang=en Windows Azure Tools for Microsoft Visual Studio 1.1 (February 2010) Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=5664019E-6860-4C33-98434EB40B297AB6&displaylang=en Windows Azure Platform Training Kit - December Update Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83B309-53B7B77EDF78&displaylang=en Windows Azure platform AppFabric SDK V1.0 Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=39856A03-1490-4283-908FC8BF0BFAD8A5&displaylang=en Por enquanto s! At o prximo post :) Waldemir.

368

Captulo 14
Migrando Aplicaes para o Windows Azure

Temos aqui um tema que merece um captulo a parte: migrao de aplicaes para a plataforma Windows Azure. Entre os vrios desafios de migrar uma aplicao corporativa para a nuvem temos o mapeamento de suas relaes de dependncias com outros sistemas existentes na empresa. Alm de questes de conectividade, segurana, integrao e replicao de dados, a migrao passa pelo estudo de quais componentes podem ser movidos para a nuvem, e cenrios de solues hbridas on-premise + nuvem. Confira neste captulo, os principais posts que trataram esses assuntos.

369

Assessment de aplicaes para o Windows Azure Parte 1/2


Thu, May 12 2011 1:00 PM Ol pessoal, tudo certo? Tenho participado de diversas discusses sobre migrao de aplicaes para a plataforma Windows Azure. Algumas questes recorrentes so sobre a classificao das aplicaes existentes no ambiente local (on-premise) e como estimar o comportamento no ambiente Windows Azure. De modo geral, poucas empresas possuem um inventrio atualizado sobre suas aplicaes em produo, assim como informaes reais sobre o comportamento de cada sistema. Quando pergunto sobre o nmero de aplicaes para Web, para produtividade, ou mesmo sobre integrao entre departamentos, normalmente tenho respostas vagas ou ideias gerais sobre o real estado da TI na empresa. Quando pensamos em usar os benefcios da computao em nuvem, trs cenrios so possveis: 1. Vamos iniciar um projeto novo, pensado para a nuvem; 2. Vamos estender uma aplicao existente on-premise, que ter algumas funcionalidades na nuvem (seja full-time ou apenas em momentos especficos); 3. Vamos migrar uma aplicao existente on-premise completamente para a nuvem. O primeiro cenrio o mais controlado. No temos legado envolvido com o cdigo hospedado na nuvem. Pensando em Windows Azure, ser possvel comunicar essa nova aplicao com componentes, servios e bases de dados locais, atravs dos vrios mecanismos de integrao existentes, como ODBC, ADO.NET, SQL AZURE DATA SYNC, WCF WEB SERVICES, APPFABRIC SERVICES BUS, etc. O segundo cenrio misto, onde parte da aplicao est local e parte est na nuvem. Imagine uma aplicao que ter uma interface de atendimento Web no Azure, para milhares de usurios. Parte da lgica de negcio e atualizao de bases de dados podem estar on-premise, por necessidades de integrao com outros sistemas da empresa. Ainda, o Windows Azure AppFabric Connect, atualmente em CTP permitir a criao de uma VPN com o Windows Azure, o que ir permitir a comunicao entre mquinas do ambiente local da empresa com mquinas do datacenter Windows Azure por um canal seguro. A extenso de aplicaes tambm possvel com a subida de Web Roles ou Worker Roles conforme a necessidade, ampliando o poder de atendimento de uma aplicao existentes em picos de carga, por exemplo. Finalmente, o terceiro cenrio envolve mover uma aplicao existente para a nuvem. Isso significa que vamos eliminar a infraestrutura local para sua execuo e aproveitar apenas o ambiente da nuvem para isso. Para todos os cenrios acima, precisamos conhecer o comportamento e tipo de aplicao envolvidos. No podemos pensar em estender um servio para a nuvem ou migrar uma interface ASP.NET sem saber o nmero de usurios esperados, o volume de consultas a banco ou mesmo

370

o nvel de integrao da aplicao com recursos locais como AD, ADFS, banco de dados ou barramentos de servios existentes. De modo geral, podemos classificar nossas aplicaes em 5 grupos gerais:

Business Management Application / Aplicaes para Gerenciamento de Negcios Business Productivity Application / Aplicaes para Produtividade Core Infrastructure Application / Aplicaes de Infraestrutura Web Applications / Aplicaes Web Outras Aplicaes (mais especficas ou fora da lista acima)

Claro, essa uma simplificao. Cada grupo pode ainda ser detalhado, como vemos a seguir: Aplicaes voltadas para produtividade de negcios, com BI, Colaborao, etc, temos: Business Productivity Business Intelligence Collaborative Workspaces & Portals Enterprise Content Management Enterprise Search Unified Communications Other Business Productivity Application Aplicaes especficas para o gerenciamento e lgica de negcios temos: Business Management Channel integration Customer Relationship Management (CRM) E-commerce Electronic payment E-market platform Engineering Enterprise Resource Management (ERM) Financial Office Suites Operations and Manufacturing Payroll Project and Portfolio Management Sales / Marketing Tools Simulation / Analytics Supply Chain Management (SCM) Other Business Management Application

371

Para cenrios especficos de infraestrutura, como segurana, suporte a mobilidade, armazenamento, temos: Core Infrastructure Application Development / Test Mobility Security Storage Software System and Network Management Software Other Core Infrastructure Application Finalmente, solues voltadas para o ambiente Web, como portais, games, mdias, etc, temos: Web Application Blog Platform E-shopping Gaming Platform Real time media streaming Social networking Stored media streaming distribution Website O prximo passos em nosso estudo ser classificar o comportamento de nossa aplicao, quanto ao nmero de requisies, volume transacional, uso de mensageria, nmero de requisies em banco de dados, etc. Veremos essas questes no prximo post. Quais categorias de aplicao voc possui em sua empresa? Use essas tabelas de classificao como uma verso 1.0 de seu inventrio. A partir desse primeiro mapa, ser possvel conhecer melhor o comportamento de sua aplicao, preparando uma boa migrao e melhor uso dos recursos da plataforma Windows Azure. Por enquanto s! At o prximo post :) Waldemir.

Assessment de aplicaes para o Windows Azure Parte 2/2


Fri, May 13 2011 1:00 PM Ol pessoal, tudo certo?

372

No post anterior, falamos sobre classificao de aplicaes para o bom uso da plataforma Windows Azure. Vamos continuar nosso estudo nesse post. Vimos que de modo geral, podemos classificar nossas aplicaes em 5 grandes grupos: Gerenciamento de Negcio, Produtividade, Infraestrutura, Web e outras (gerais). Porm, essa classificao apenas o primeiro passo em nosso estudo, apesar de muito importante. Outra forma de classificar sua aplicao quanto a sua utilizao e integrao com outros sistemas. Confira as perguntas abaixo e utilize-as para uma avaliao mais detalhada de sua aplicao: Qual a melhor forma de classificar sua aplicao? 1. Aplicao legada, baseada em tecnologias antigas (ASP, VB6, COM+, C/S, etc) 2. Aplicao baseada em plataforma .NET (.NET 2.0, 3.0, 3.5, 4.0, ASP.NET, WCF, WF, etc.) 3. Aplicao baseada em plataforma no-Microsoft (Java, Delphi, PHP, etc) 4. Novo desenvolvimento em plataforma .NET (.NET 4.0/VISUAL STUDIO 2010) Qual a melhor forma de descrever o tamanho de sua aplicao? 1. Grande (>10 servidores/VMs) 2. Mdio (4 a 10 servidores /VMs) 3. Pequeno (<4 servidores /VMs) Quanto integrao de sua aplicao com outras aplicaes locais ou na nuvem, qual a melhor descrio? 1. Altamente integrada (10 conexes ou mais) 2. Moderadamente integrada (de 5 a 10 conexes) 3. Levemente integrada (de 2 a 5 conexes) 4. No integrada (1 conexo) Qual a melhor classificao para o nmero de logins sobre sua aplicao? 1. Heavy user logins (mais de 500 logins simultneos) 2. Medium user logins (de 100 a 500 logins simultneos) 3. Light user logins (menos de 100 logins simultneos) 4. No user logins Qual a melhor descrio para o crescimento estimado de sua aplicao ao longo do tempo? 1. Varivel/Sazonal a aplicao usada somente por determinado perodo de tempo (por exemplo, um site de comrcio eletrnico que publicado somente em dezembro, para vendas de Natal e Ano Novo).

373

2. Crescimento Constante crescimento consistente ao longo do tempo, por um longo perodo. 3. Picos Previsveis a aplicao usada por um longo perodo de tempo, com picos de carga previsveis (por exemplo, carga elevada nos ltimos 3 dias de todo ms). 4. Picos Imprevisveis a aplicao usada por um longo perodo de tempo com picos de carga no previstos, ocorrendo de forma espordica (por exemplo, picos de acessos em site de notcias, devido mdia externa). Fique a vontade para ajustar alguns nmeros acima. Para alguns cenrios, Heavy user logins pode ser mesmo mais de 2000 logins e no 500. Os valores acima so uma primeira impresso e podem ser ajustados conforme o cenrio. Nota: ao responder as perguntas acima voc estar conhecendo um pouco mais sobre sua soluo. No teremos o nmero de instncias de Web Roles de forma automtica, mas as perguntas ajudam nesse processo de definio e planejamento de capacidades para uma soluo sobre o Windows Azure. Como prximo passo, vamos questionar sobre o comportamento de sua aplicao. Para isso, algumas questes oferecem um bom mapa, como vemos a seguir: 1. A aplicao usa um banco de dados SQL Server ou outro de mercado? o Qual a plataforma? o Quantas instncias de bases de dados esto presentes? o Qual o tamanho de cada instncia? o Quantas stored procedures so usadas? o Qual a expectativa de crescimento das bases? o Existe rotina de expurgo de dados? o Existe necessidade de manuteno de histrico de dados por um longo tempo? o Existe necessidade de transaes distribudas entre bases? o Outros clientes ou servios consomem os dados de sua base? 2. A aplicao usa mensageria via MSMQ ou outra de mercado? 3. A aplicao usa FILE SYSTEM/NTFS como parte da soluo? 4. A aplicao usa REGISTRY como parte da soluo? 5. A aplicao usa mecanismos de segurana, como certificados, criptografia, tokens, etc. como parte da soluo? 6. A aplicao tem exigncias quanto ao tempo de resposta de rede? 7. A aplicao tem restries quanto ao SLA (Service Level Agreement) definido junto aos seus usurios? 8. A aplicao usa autenticao baseada em Active Directory (AD) ou ADFS? 9. A aplicao usa Windows Workflow Foundation (WF) ou outro mecanismo de workflow de mercado? 10. A aplicao usa barramento de servios para pub/sub de Web Services? 11. A aplicao usa uma abordagem STATELESS (sem estado) ou STATEFULL (com controle de estado)?

374

12. A aplicao usa protocolos de comunicao alm do HTTP, como TCP, UDP, SOAP, REST, etc.? 13. A aplicao usa objetos ou componentes COM/COM+? 14. A aplicao usa um processo de instalao via XCOPY? 15. A aplicao usa variveis de ambiente? 16. A aplicao usa componentes registrados no Global Assembly Cache (GAC)? 17. A aplicao usa ASP.NET Session State? 18. A aplicao usa App.Config ou Web.Config como base de configurao? 19. A aplicao usa Custom Domain Name previamente definido? 20. A aplicao usa CLR Stored Procedures ou CLR User-Defined Types (UDTs)? 21. A aplicao usa Service Broker no SQL Server? 22. A aplicao usa componentes ou recursos no-gerenciados (no .NET)? 23. A aplicao usa Ruby ou Ruby on Rails? 24. A aplicao usa Java ou Java Beans? 25. A aplicao usa solues de e-mail de forma integrada? 26. A aplicao deve estar registrada em barramentas de servios locais (on-premise)? 27. A aplicao deve ser consumida por clientes mveis, como Windows Phone 7, etc.? 28. A aplicao usa recursos de geo-localizao, mapas, GPS, etc.? 29. A aplicao usa recursos de mdia diversos, como AUDIO, VIDEO, IMAGENS, etc.? 30. A aplicao usa intenso processamento para clculos em paralelo, simulaes, etc.? 31. Qual o nmero de transaes estimado por hora em sua aplicao? 32. Qual o nmero de consultas de dados (em GB) estimados por hora em sua aplicao? 33. Qual o nmero de uploads de dados (em GB) estimados por hora em sua aplicao? 34. Qual o tamanho da base de dados inicial (em GB) necessria para sua aplicao entrar em produo? 35. Qual o oramento mensal previsto com manuteno da infraestrutura para sua aplicao? Vrias perguntas, certo? Algumas so fceis de se responder, outras nem tanto. O objetivo final desse estudo a construo de uma tabela geral para nosso projeto para o Windows Azure. Veja o exemplo abaixo, com estimativas para cada tipo de aplicao do grupo Business Productivity (use como referncia em seus projetos):

375

Na tabela acima, vemos as colunas:


Nmero de instncias de mquinas virtuais no Azure, estimadas para o projeto inicial; Carga mdia de entrada de dados, em GB por hora; Carga mdia de sada de dados, em GB por hora; Armazenamento inicial em GB no Azure Storage (para dados no estruturados, como blobs, tabels, queues); Armazenamento inicial em GB no SQL Azure (para dados relacionais);

Com essas definies, possvel fazer uma estimativa macro sobre a dimenso do projeto, assim como custo aproximado na plataforma Windows Azure. Sobre custos unitrios na plataforma Azure, veja o link a seguir: Windows Azure Platform Consumption Ref.: http://www.microsoft.com/windowsazure/offers/popup/popup.aspx?lang=en&locale=enus&offer=MS-AZR-0003P Sem uma ideia de dimenso de nossa soluo, muito difcil avaliar a viabilidade do projeto na nuvem. Por isso, conhecer a fundo as necessidades de sua aplicao muito importante. Para informaes completas sobre os custos na plataforma Windows Azure, confira o link: Ref.: http://www.microsoft.com/windowsazure/offers/ Espero que ajude! Por enquanto s! At o prximo post :) Waldemir.

376

Windows Azure: Cenrios de migrao para a nuvem


Tue, Jan 26 2010 3:54 PM Ol pessoal, tudo certo? Esta semana, vamos comear uma mini-srie sobre migrao de aplicaes para a plataforma Windows Azure. Que tal? Uma questo recorrente em sesses sobre cloud computing justamente sobre cenrios existentes no on-premise e como migramos para a nuvem. O que podemos migrar? Que camadas vamos aproveitar? Qual a arquitetura mais indicvel? Quais so os aspectos de conectividade, controle, hardware, administrao, etc, que sero impactados? Assim, escolhi alguns cenrios interessantes de migrao para discutirmos aqui no blog. Entre eles veremos:

Aplicaes Line Of Business (LOB) departamentais Sites de Comrcio Eletrnico Implementaes de SOA Map Reducing e distribuio de processos Aplicaes com vdeo/audio/streaming, entre outras.

A idia provocar algumas questes, enquanto apresentamos arquiteturas antes/depois para cada cenrio. Veja, o espao pequeno para passar por todos os aspectos de um projeto, mas vamos trocar algumas idias por aqui. Por exemplo, voc tem COM, COM+ ou MFC em sua soluo on-premise? Essas tecnologias no so suportadas no Windows Azure. Tive esse papo semana passada com uma empresa, que possui uma srie de solues antigas em VB6, COM+ e alguns componentes em MFC e C++. Atualmente, a plataforma Windows Azure oferece suporte para bibliotecas standard em C++, algumas funes da Win32 API e todos os recursos do .NET 3.5 SP1, alm dos templates para Web Roles, WCF Web Roles, Worker Roles e Fast CGI. Por isso, veremos mais detalhes de opes de arquitetura ao longo da srie. E fique a vontade para sugerir novos cenrios ou casos reais em sua empresa. Esta semana vamos comear com uma aplicao LOB. Por enquanto s! At o prximo post :) Waldemir.

377

Windows Azure: Migrando infraestrutura de aplicaes Web


Wed, Jan 27 2010 4:50 PM Ol pessoal, tudo certo? Dando incio a srie de migrao para a nuvem, vamos comear com um cenrio de infraestrutura de aplicaes Web. Imagine os seguintes componentes abaixo:

J vimos esse tipo de cenrio em posts passados, onde escalamos as vrias camadas atravs de um crescimento de hardware para a camada Web e a camada de negcios, alm do particionamento da base de dados, como vemos a seguir:

Tambm notamos a presena do banco de dados corporativo e do repositrio de objetos do AD, onde temos os recursos de autenticao, autorizao, perfis de usurio, administrao, etc. Entre os principais pontos de ateno que destacamos durante um processo de migrao para a nuvem temos:

autenticao autorizao sincronizao de dados segurana de dados integrao de aplicaes no ambiente on-premise

378

gerenciamento e operao escalabilidade e investimentos para o crescimento da infraestrutura

Como seria um cenrio aproveitando a infraestrutura do Windows Azure, integrando com o ambiente on-premise? O desenho a seguir ilustra uma arquitetura proposta considerando os recursos do Windows Azure:

Acima, estou dando destaque para a integrao do ambiente on-premise com a nuvem, onde temos as interfaces Web implementadas via Web Roles, assim como dados persistidos sobre o SQL Azure Database. Vejamos ento alguns pontos importantes para considerar sobre essa migrao: Autenticao no desenho acima destaquei um servidor ADFS no ambiente corporativo, integrado ao AD original. Isso oferece os recursos de um modelo CBA Claim-based autenthication, que oferece um bom desacoplamento em relao ao provedor de identidades na soluo. Falamos sobre CBA um tempo atrs, neste post; Autorizao - da mesma forma, podemos trabalhar com declaraes customizadas sobre o ADFS - Active Directory Federation Services, para a tomada de decises e implementao de autorizao nas funcionalidades da aplicao e servios existentes; Sincronizao de Dados - uma recomendao aqui utilizar o SSIS - SQL Server Integration Services, que permite a sincronizao de pores de linhas e colunas entre o SQL Server onpremise e o SQL Azure Database. Sobre o SSIS, veja mais nos links abaixo:

379

Ref.: http://www.microsoft.com/sqlserver/2008/en/us/integration.aspx Ref.: http://www.microsoft.com/sqlserver/2008/en/us/wp-sql-2008-integration-services.aspx Segurana e Auditoria - aspectos de segurana e auditoria so muitas vezes especficos de cada indstria ou empresa. Operaes e dados podem exigir nveis diferentes de segurana, conforme a orientao da empresa. Porm devido a integrao entre on-premise e nuvem, recomenda-se uma ateno especial para uma viso unificada em toda a soluo; Integrao de Aplicao - uma alternativa interessante para a integrao entre aplicaes de diferentes domnios ou localidades usar o ADFS Passive Fed, suportado atravs do padro WS-Federation Passive Requestor Profile (WS-F PRP), que permite um modelo de Single SignOn via Web, para essas aplicaes. Veja mais no link abaixo: Ref.: http://www.microsoft.com/downloads/details.aspx?familyid=921379CA-BBB0-4E9AA0D4-495D620832F6&displaylang=en Operao/Gerenciamento - outro ponto de ateno nessa integrao no se basear apenas no modelo de Windows Event Log e SCOM (famla System Center). De fato, vamos combinar a monitorao SCOM no ambiente on-premise, com a monitorao via logs e estatsticas do ambiente na nuvem. Por enquanto, no temos pacotes de gerenciamento (Management Packs) para o Windows Azure integrado ao SCOM, que deve aumentar a visibilidade de eventos e aes nesse tipo de soluo integrada. Enquanto isso no vem, devemos usar os recursos da Management API para o Windows Azure. Veja mais a seguir: Windows Azure Monitoring, Logging, and Management APIs Ref.: http://microsoftpdc.com/Sessions/SVC15 Um exemplo de monitorao em aplicao no Azure Ref.: http://diags.cloudapp.net/ Migrao de interface Web - em cenrios de aplicaes Web, o suporte do Azure aos componentes ASP.NET, MVC, AJAX e Silverlight torna o processo de migrao bem simples e rpido. \Um cuidado maior deve ser observado com o tratamento das regras de negcios e servios existentes. Avalie a necessidade de migrao dessas regras para modelos como Worker Roles ou WCF Web Roles. J deu para perceber que so vrios os aspectos que podemos tratar num processo de migrao e integrao entre aplicaes on-premise e cloud. Procurei enriquecer o cenrio, para provocar novos pontos de ateno e cuidados que normalmente no so tratados. Cenrios mais simples ou de presena apenas na cloud so muito mais fceis de migrao para o Azure. Vale experimentar! Como ltima dica do post, vale acompanhar o blog do time de Azure, a seguir:

380

Ref.: http://blogs.msdn.com/windowsazure/ Por enquanto s! At o prximo post :) Waldemir.

Windows Azure: Migrando Web Services de aplicaes departamentais para a nuvem


Fri, Jan 29 2010 11:29 PM Ol pessoal, tudo certo? Vejamos mais um cenrio que pode aproveitar os benefcios de um ambiente na nuvem. Imagine uma soluo baseada em Web Services, que oferecem recursos de CRUD e regras de negcio operando sobre um banco de dados. Ao mesmo tempo, a soluo prev usurios administrativos, que consomem regras de negcio em bibliotecas como servios, que tambm operam sobre o modelo de dados da soluo. Assim, atravs de clientes Web os usurios navegam as funcionalidades da aplicao, enquanto que usurios administrativos usam um cliente consumindo recursos de um App Server, para tarefas de configurao, monitorao de negcio, customizao, administrao, etc. A figura a seguir ilustra o cenrio, que muito comum em aplicaes Web departamentais:

Desafios Um dos aspectos importantes nesse tipo de arquitetura o plano de capacidades sobre os Web Services da soluo. comum aplicaes departamentais lanarem servios que rapidamente so bons candidatos para reuso por outros departamentos. J vi empresas que criaram baterias de

381

Web Services para um departamento, oferecendo rapidamente esses servios para outros grupos internos da empresa, aumentando o volume de usurios do sistema. Nesse caso, surge o velho problema de escalabilidade crescente sobre esses Web Services. Em casos mais sofisticados, alguns desses servios podem fazer parte de novas ofertas de negcio para o pblico externo, alm de clientes e potenciais consumidores. Esse tipo de aspirao tambm interessante e muito comum, quase um mantra em algumas empresas: gostaria de aproveitar meus Web Services internos em novos produtos para sistemas comerciais externos, que devo oferecer para o mercado. Atacando esses Web Services criados pela empresa, podemos aproveitar um cenrio de nuvem como o Windows Azure, hospedando esses servios na nuvem. Veja o desenho abaixo:

De modo simplificado, a escalabilidade dos Web Services agora garantida atravs de WCF Service Web Roles, que podem ser escalados conforme a necessidade do negcio. Ao mesmo tempo, o banco de dados da soluo pode ser migrado para o SQL Azure Database, tornando o acesso a dados mais direto no ambiente no Azure. Quais so os principais desafios nesse tipo de migrao:

Gerenciamento de estados Performance Segurana Migrao da base de dados para a nuvem Particionamento da base de dados (Sharding)

382

Um dos grandes componentes desta soluo o AppFabric no Azure, que oferece os recursos para hosting de servios na nuvem. Veja o portal que consolida as principais informaes sobre o AppFabric na nuvem a seguir: Microsoft Windows Azure platform AppFabric Ref.: http://msdn.microsoft.com/en-us/azure/netservices.aspx Alguns pontos de ateno Para aproveitar o post, vejamos alguns pontos de ateno para projetos na nuvem:

Esteja preparado para sacrificar o controle de hardware e de software em troca de um custo de gerenciamento menor; Nessa combinao de ambientes, manter uma disciplina de log e instrumentao ser garantia de um processo de troubleshooting mais eficiente; Projete seu sistema e web services para a escalabilidade horizontal (scale-out) e no vertical (scale-up). Nesse processo, algum refactoring de sistemas legados existentes pode acontecer, fique preparado; Utilize tcnicas de particionamento de bases de dados, j que o SQL Azure Database possui o limite de bases de at 10 GB, no havendo particionamento automtico na nuvem; Muito importante: faa um plano detalhado para a migrao de dados. Dependendo do cenrio de negcio, mantenha on-premise (localmente) os dados crticos de clientes na aplicao. Regulation ou polticas de risco e segurana podem ser motivadores para essa persistncia local de dados; Finalmente, pense sempre em servios sem manuteno de estado, "Stateless". Isso garante a alta escalabilidade de processos e servios colocados na nuvem, sem risco de afinidade.

Vimos assim mais um cenrio interessante de migrao para a nuvem. Claro, essa anlise no extensiva e muitos outros aspectos existem. Semana que vem tem mais. Por enquanto s! At o prximo post :) Waldemir.

Windows Azure: Migrando uma soluo de e-Commerce com servios para a nuvem
Mon, Feb 1 2010 9:54 AM Ol pessoal, tudo certo? Enquando avanamos em nossa srie sobre migrao para o Windows Azure, estou aproveitando para lembrar de alguns cenrios e solues que estive discutindo com empresas do mercado. Por

383

isso, o cenrio de hoje envolve uma arquitetura mista, de plataforma .NET e Java, Oracle, Windows Server e Solaris. Considere o ambiente on-premise, a seguir:

Imagine uma soluo de e-Commerce, com interface Web e diversas funcionalidades implementadas em uma plataforma de servios, usando Java sobre Tomcat em sistema operacional Solaris. Para essa soluo, ainda temos um banco corporativo em Oracle, que persiste os dados de usurios, fornecedores e empresas parceiras. Ainda, imagine que fornecedores e empresas parceiras podem consumir servios atravs de uma VPN implementada com equipamentos Cisco, sendo o consumo feito atravs de componentes em VB6 sobre Windows 2000 Server e servios C# em Windows Server 2003. Um belo cenrio de e-Commerce com servios internos e externos. Como toda soluo de alta demanda com servios exportados, temos diversos desafios que so comuns em ambas plataforma, .NET ou JAVA. Vejamos alguns:

Necessidade de alta escalabilidade para o consumo de servios por empresas fornecedoras; Administrao e manuteno de uma VPN para segurana e provisionamento dos servios para empresas fornecedoras; Necessidade de alta escalabilidade e controle para o crescimento do banco de dados da soluo; etc Para essa migrao, vamos considerar dois aspectos importantes:

maior facilidade para integrao entre sua empresa e empresas fornecedoras; maior escalabilidade para servios e pginas da soluo web;

Assim, o desenho abaixo ilustra uma arquitetura proposta sobre o Windows Azure, veja:

384

Na proposta acima, a interface Web colocada atravs de Web Roles sobre o Windows Azure, oferecendo alta disponibilidade para os clientes online da soluo. Ao mesmo tempo, note que os servios inicialmente colocados sobre Java / TomCat agora so disponibilizados atravs de WCF Service Web Roles, que implementam as funcionalidades e servios antes colocados no ambiente on-premise. Outro ponto interessante da arquitetura a utilizao do Windows Azure platform AppFabric para exportao de servios para empresas parceiras na soluo. O que antes eram garantido com uma VPN entre sua empresa e empresas externas, agora obtido atravs do registro de servios na infraestrutura de Service Bus (barramento de servios) do platform AppFabric do Windows Azure, antes chamado .NET Services Service Bus. Maiores detalhes sobre o processo de registro e exportao de servios no AppFabric confira nos links abaixo: Windows Azure platform AppFabric SDK V1.0 Ref.: http://www.microsoft.com/downloads/details.aspx?FamilyID=39856a03-1490-4283-908fc8bf0bfad8a5&displaylang=en Microsoft Windows Azure platform AppFabric Ref.: http://msdn.microsoft.com/en-us/azure/netservices.aspx Aproveito esse post tambm para lembrar que a plataforma Azure oferece uma grande interoperabilidade com outras plataforma, suportando alm do .NET Framework, componentes em python, Java, Ruby, php, OpenID e Eclipse. Assim, outra opo para essa arquitetura o registro de servios em Java sobre o Services Bus do AppFabric. Veja maiores informaes sobre essa funcionalidade no link a seguir: AppFabric SDK for Java Developers Ref.: http://www.jdotnetservices.com/ E para desenvolvedores de componentes em Ruby, veja o que existe para a integrao com o Windows Azure: AppFabric SDK for Ruby Developers Ref.: http://www.dotnetservicesruby.com/

385

Finalmente, outro componente interessante da soluo o uso do Azure Storage para persistncia de dados estruturados e no estruturados da aplicao, garantindo alta escalabilidade e disponibilidade para o ambiente na nuvem. Para os dados relacionais ainda existentes na soluo, podemos ainda aplicar um banco SQL Azure Database, com consideraes conhecidas sobre particionamento manual (sharding), instncias mltiplas e conectividade transparente para componentes sobre o Windows Azure ou a partir do ambiente on-premise. Em posts futuros, vamos conferir alguns detalhes de migrao e hospedagem de servios Java sobre a plataforma Azure, alm dos mecanismos de interoperabilidade e consumo entre as duas plataformas. Maiores detalhes viro Fique ligado! Por enquanto s! At o prximo post :) Waldemir.

386

Captulo 15
Artigos publicados na revista Mundo .NET

O captulo 15 consolida a lista de todos os artigos publicados na revista Mundo .NET, que tiveram inspirao em posts e discusses que nasceram no blog Arquitetura de Solues. Confira!

387

Revista Mundo .NET : artigos e entrevistas


Tue, Feb 22 2011 9:00 AM Ol pessoal, tudo certo? A nova edio da revista Mundo .NET (FEV/MAR 2011) j est nas bancas, confira:

Os artigos esto muito bons, com destaque para a introduo sobre ASP.NET MVC e a viso sobre Arquitetura Corporativa do Markus Christen, da Microsoft. Aproveito para agradecer ao time da Mundo .NET e o Daniel Oliveria, novo editor-chefe da revista. Ainda nessa edio, voc vai encontrar uma entrevista que dei para o Daniel, sobre diversos assuntos como Cloud Computing, Windows Azure, Enterprise Architecture e outros temas. Espero que gostem!

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

Revista Mundo .NET : Artigo sobre Enterprise Architecture


Thu, Oct 21 2010 10:00 AM Ol pessoal, tudo certo? J est nas bancas a nova edio da revista Mundo .NET. Esse ms, publiquei um artigo sobre Arquitetura Corporativa e o papel do arquiteto de TI.

388

Aproveitei nossas vrias discusses sobre Enterprise Architecture aqui no blog e consolidei um artigo mais organizado, falando sobre IASA, TOGAF, o papel do arquiteto e o alinhamento de negcios e TI.

Ref.: http://www.mundodotnet.com.br/conteudo.shtml Espero que gostem! Fiquem a vontade para comentrios sobre o assunto. Por enquanto s! At o prximo post :) Waldemir.

Revista Mundo .NET : Artigo sobre Cenrios de Migrao para o Windows Azure
Fri, Apr 23 2010 8:00 AM Ol pessoal, tudo certo? Boas novas: j est nas bancas a nova edio da revista Mundo .NET, com mais um artigo especial sobre a Windows Azure. Desta vez, consolidei alguns cenrios de migrao de aplicaes para a nuvem, discutindo alguns aspectos importantes para o processo de migrao e avaliao. No deixem de conferir.

389

Gostaria tambm de destacar outro artigo desta edio, o belo texto do Alesssandro Binhara sobre interoperabilidade com o .NET : .NET em Linux, MAC e iPhone possvel? Neste artigo, Binhara coloca o histrico do projeto Mono, a implementao Open Source do .NET Framework da Microsoft. Ele tambm descreve alguns cenrios muito interessantes sobre projetos com a plataforma, respondendo perguntas frequentes do mercado. Parabns Binhara! Para saber mais, no deixe de visitar o site: http://www.monobrasil.org/ Por enquanto s! At o prximo post :) Waldemir.

Revista Mundo .NET : Um pouco mais sobre o SQL Azure Database


Thu, Feb 25 2010 9:00 AM Ol pessoal, tudo certo? Boas novas: j est nas bancas a nova edio da revista Mundo .NET, com mais um artigo especial sobre a Plataforma Windows Azure, veja:

390

SQL Azure Database Um banco de dados relacional na nuvem Por: Waldemir Cambiucci Informe-se sobre os principais recursos do SQL Azure Database, o banco de dados relacional da plataforma Windows Azure. Depois do lanamento do Windows Azure, fiz uma consolidao sobre as principais questes para o uso do SQL Azure em soluo na nuvem. Outro destaque da edio o artigo de capa do amigo Alex Schulz especialista em desenvolvimento da Microsoft, falando sobre a plataforma SharePoint 2010. Leituras obrigatrias!!! :) Por enquanto s! At o prximo post :) Waldemir.

Revista Mundo .NET : Construindo aplicaes para o Windows Azure


Sat, Aug 22 2009 7:15 PM Ol pessoal, tudo certo? Boas novas: j est nas bancas a nova edio da revista Mundo .NET, com mais um artigo especial sobre a Plataforma Windows Azure, veja:

Neste artigo, eu passo uma viso sobre os recursos e primeiros passos para o desenvolvimento de solues sobre o Windows Azure. Ainda temos uma jornada at o lanamento final da plataforma, que vai ocorrer em Novembro deste ano. At l, novos CTPs e pacotes sero publicados, mudando alguns dos passos

391

apresentados no artigo. Por isso, procurei colocar uma viso ampla, sobre os processos e as principais capacidades que o desenvolvedor e o arquiteto precisam conhecer. Espero que gostem! No deixe de conferir e enviar seus comentrios, como sempre! Por enquanto s! At o prximo post :) Waldemir.

Revista Mundo .NET : Plataforma de Servios do Windows Azure


Fri, Jun 19 2009 11:49 AM Ol pessoal, tudo certo? Boas novas: j est nas bancas a nova edio da revista Mundo .NET, com mais um artigo especial sobre a Plataforma de Servios do Windows Azure, veja:

Neste artigo, continuo explorarando os vrios servios da plataforma Azure, fazendo um maior detalhamento sobre os grupos de capacidades para dados, processos e colaborao em aplicaes na nuvem. No deixe de conferir e enviar seus comentrios, como sempre! Por enquanto s! At o prximo post :) Waldemir.

Revista Mundo .NET : Computao na Nuvem com Windows Azure


Wed, Apr 22 2009 4:47 PM Ol pessoal, tudo certo?

392

Boas novas: j est nas bancas a nova edio da revista Mundo .NET, com um artigo especial sobre Computao na Nuvem com o Windows Azure, veja:

A idia foi consolidar os principais tpicos sobre o Windows Azure num artigo introdutrio e bastante amplo sobre os servios e principais recursos disponveis na plataforma. No deixe de conferir e enviar seus comentrios! Novos artigos j esto a caminho Por enquanto s! At o prximo post :) Waldemir.

393

Palavras finais
O exerccio de escrever um blog ao mesmo tempo desafiador e gratificante. desafiador, pois exige disciplina e organizao, gerando uma rotina de constante anotao e estudo. Como consequncia, voc se torna em alguns momentos um documentador, observando suas experincias em projetos e a de outros numa perspectiva quase biogrfica. Escrever dessa maneira permite orientar melhor seus estudos e ajuda na consolidao de ideias e conceitos ao longo de sua carreira profissional. Para quem me pergunta sobre escrever um blog, minha recomendao sempre a mesma: escreva! :) Finalmente, escrever gratificante, pois permite a troca de experincias com diversos leitores, que em algum momento passaram pelos mesmos tipos de desafios que voc ou que iro passar. Especialmente no ambiente de TI, essa troca permite uma sintonia muito prxima com as realidades do mercado, assim como suas tendncias e principais influncias. O blog Arquitetura de Solues completa quatro anos em outubro de 2011 e atravs deste ebook, consolidamos os principais assuntos publicados no perdo de 2009 a 2011. Espero que o material ajude o leitor em algumas direes e primeiros passos sobre as disciplinas e temas da Arquitetura de Solues. Em breve, nos veremos em outros posts, artigos ou discusses. Fique ligado. Por enquanto s! At o prximo post :) Waldemir.

394

Sobre o autor
Waldemir Cambiucci trabalha na Microsoft Brasil como arquiteto, com foco em plataforma de aplicaes e arquitetura de TI para clientes corporativos. graduado em Engenharia de Computao, mestre em Engenharia Eltrica e Ps-Graduado em Finanas e Administrao. Com mais de 16 anos de experincia em TI, atua na Microsoft h 9 anos, tendo participado de projetos importantes no Brasil e no exterior. Tem sido palestrante frequente em eventos como Tech-Ed Brasil 2007/2008/2009/2010/2011, Software+Service Day 2008/2009, Regional Architect Forum Brasil 2007/2008/2010, SOA Conference Brasil 2008/2009 entre outros. membro do International Association of Software Architects (IASA), arquiteto certificado IASA Foundations, Professional SCRUM Master e TOGAF 9 Gold Award by Architecting the Enterprise. Possui tambm as certificaes Microsoft MCP, MCSD.NET, MCAD, MCDBA, MCSA e MCTS para Windows Azure. Seu blog o http://blogs.msdn.com/wcamb/ e seu Twitter http://twitter.com/wcamb/.

Potrebbero piacerti anche