<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Waldemir Cambiucci - Solutions Architect - Microsoft Brasil : Opini&amp;#227;o</title><link>http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx</link><description>Tags: Opini&amp;#227;o</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Opções para processamento distribuído...</title><link>http://blogs.msdn.com/wcamb/archive/2009/12/17/op-es-reais-para-solu-es-com-paralelismo.aspx</link><pubDate>Thu, 17 Dec 2009 13:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9938179</guid><dc:creator>wcamb</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9938179.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9938179</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9938179</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Ontem tive uma discussão interessante com o arquiteto da Microsoft Services, Marcos Pedroso. Ele sempre está envolvido em projetos de impacto no mercado, seja pela complexidade ou pelas restrições e SLA’s envolvidos na solução. Grande Pedroso! :)&lt;/P&gt;
&lt;P&gt;Uma questão que conversamos foi sobre o uso de um modelo de cloud para cenários de paralelismo e distribuição de processos em cálculos financeiros. Existem mesmo diversos cenários onde patterns como o &lt;STRONG&gt;Map Reduce&lt;/STRONG&gt; se aplicam de forma natural. Para quem não 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.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_thumb_1.png" width=520 height=195 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Explicando: &lt;/STRONG&gt;A idéia é 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, distribuímo o processamento inicial entre diversos nós de computação, gerando um paralelismo na solução. Ao final, os vários resultados são devolvidos para o master, que realiza a consolidação dos resultados. Simples não? Já tive diversos projetos em .NET que fizeram algo parecido, utilizando classes como Threads para a divisão manual dos blocos de processamento entre as diversas threads. Funciona muito bem!&lt;/P&gt;
&lt;P&gt;Porém, a implementação manual desse tipo de pattern não é trivial e exige alguns cuidados quando falamos de cenários mais complexos. Como alternativa para a programação manual, podemos usar algumas opções de paralelismo e escalabilidade na plataforma Microsoft.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1) HPC – High Performance Computing&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A primeira delas é o &lt;STRONG&gt;HPC – High Performance Computing&lt;/STRONG&gt;, que oferece um motor de paralelismo e distribuição de processamento pronto para essa divisão de workers, aproveitando ainda uma infraestrutura de vários processadores (multi-core) ou várias máquinas colocadas. Entre as características do HPC temos a possibilidade de trabalhar com mais de 1000 nós workers, execução sobre o Windows Server 2008 R2, suporte para bancos de dados remotos envolvidos na solução, Job Scheduling (um recurso importante para alguns cenários), etc.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Um desenho que ilustra o cenário de distribuição de processamento com o Microsoft HPC aparece abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_thumb.png" width=503 height=365 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Explicando:&lt;/STRONG&gt; o desenho acima ilustra um cenário simples de aplicação do Microsoft HPC, onde vemos a rede privada com os vários nós de computação (&lt;EM&gt;Compute Node&lt;/EM&gt;), coordenados pelo &lt;EM&gt;WCF Broker Node&lt;/EM&gt;, que realiza o papel de Master no modelo Map Reduce. Também vemos o cluster de SQL Server e os demais componentes de infraestrutura da solução, como AD, File Server, System Center e Mail Server. &lt;/P&gt;
&lt;P&gt;É um cenário aplicável para diversas empresas e vale muito ser estudado! Para saber mais sobre HPC na plataforma Microsoft, confira:&lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://www.microsoft.com/hpc/en/us/default.aspx href="http://www.microsoft.com/hpc/en/us/default.aspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/hpc/en/us/default.aspx"&gt;http://www.microsoft.com/hpc/en/us/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2) Private Cloud e o Dynamic Data Center Toolkit&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Outra opção interessante é a chamada &lt;STRONG&gt;private cloud&lt;/STRONG&gt;. Na plataforma Microsoft isso aparece através do&lt;STRONG&gt; Dynamic Data Center Toolkit (DDCT)&lt;/STRONG&gt;, que hoje está disponível para cenários de &lt;STRONG&gt;Hosting&lt;/STRONG&gt;, mas em breve, estará com uma versão para &lt;STRONG&gt;Enterprise&lt;/STRONG&gt;. Conversei rapidamente com o &lt;A href="http://fabiohara.spaces.live.com/default.aspx" rel=nofollow target=_blank mce_href="http://fabiohara.spaces.live.com/default.aspx"&gt;&lt;STRONG&gt;Fábio Hara&lt;/STRONG&gt;&lt;/A&gt; (outro monstro sagrado do mundo de TI, hi! arigato!), que me apresentou alguns cenários corporativos que podem implementar um modelo de private cloud, aproveitando toda a infraestrutura e investimentos já feitos internamente. &lt;/P&gt;
&lt;P&gt;Veja ainda o post abaixo, do time de produto falando sobre a solução DDCT/E para o mundo Enterprise:&lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://blogs.technet.com/ddcalliance/archive/2009/09/28/dynamic-data-center-toolkit-coming-to-an-enterprise-near-you.aspx href="http://blogs.technet.com/ddcalliance/archive/2009/09/28/dynamic-data-center-toolkit-coming-to-an-enterprise-near-you.aspx" rel=nofollow target=_blank mce_href="http://blogs.technet.com/ddcalliance/archive/2009/09/28/dynamic-data-center-toolkit-coming-to-an-enterprise-near-you.aspx"&gt;http://blogs.technet.com/ddcalliance/archive/2009/09/28/dynamic-data-center-toolkit-coming-to-an-enterprise-near-you.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Para saber mais sobre &lt;STRONG&gt;Dynamic Data Center Toolkit&lt;/STRONG&gt; e &lt;STRONG&gt;private cloud&lt;/STRONG&gt;, confira o link abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Private Cloud Computing Infrastructure&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/virtualization/en/us/private-cloud.aspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/virtualization/en/us/private-cloud.aspx"&gt;http://www.microsoft.com/virtualization/en/us/private-cloud.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;3) Public Cloud e o Windows Azure&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Finalmente, podemos aplicar um cenário de paralelismo e distribuição de processamento com alta escalabilidade e alta disponibilidade através do modelo de &lt;STRONG&gt;public cloud&lt;/STRONG&gt;, na Microsoft oferecido pelo &lt;STRONG&gt;Windows Azure&lt;/STRONG&gt;. Aqui, nosso pattern de Map Reduce ficaria assim:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_thumb_2.png" width=480 height=284 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeosSaboresdaNuvem_8B0A/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Explicando:&lt;/STRONG&gt; uma Web Role, por exemplo, pode implementar um serviço WCF para o recebimento de dados para processamento, realizando a distribuição entre os vários Workers internos da solução. Essa passagem pode ser feita por filas (&lt;EM&gt;Queues&lt;/EM&gt;), para o desacoplamento entre &lt;EM&gt;Web&lt;/EM&gt; e &lt;EM&gt;Worker&lt;/EM&gt;. Ao final, os vários blocos de resultados são devolvidos para a camada Web por tabelas, preparadas para o cenário de alta escalabilidade na plataforma Azure. A consolidação é feita pela Web Role Master, que devolde o resultado final do processamento. &lt;/P&gt;
&lt;P&gt;Nesse cenário de provisionamento elástico, podemos ainda configurar on-demand o número de nós de processamento, conforme alguma variável de dimensionamento colocada. Vale lembrar que, como são cenários de cálculo intenso, mas feitos de forma pontual, podemos dinamicamente controlar essa alocação de instância, reduzindo os custos envolvidos na solução final. Com certeza, ficará mais barato do que investir inicialmente milhares de dólares em uma super máquina, que pode amargar vários minutos ou horas de osciosidade ao longo do dia. Falei ainda com o Danielzinho, aqui do time de DPE, que ficou louco pensando em modelos matemáticos de cálculo em engenharia elétrica, que poderiam aproveitar esse paralelismo sobre o Azure. :) &lt;/P&gt;
&lt;P&gt;Vimos assim três cenários interessantes de processamento distribuído na plataforma Microsoft:&lt;/P&gt;
&lt;P&gt;1. Paralelismo via &lt;STRONG&gt;HPC&lt;/STRONG&gt; &lt;BR&gt;2. Paralelismo via &lt;STRONG&gt;private cloud&lt;/STRONG&gt;, com o &lt;STRONG&gt;Dynamic Data Center Toolkit &lt;BR&gt;&lt;/STRONG&gt;3. Paralelismo via &lt;STRONG&gt;public cloud&lt;/STRONG&gt;, com a plataforma &lt;STRONG&gt;Windows Azure&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Faça uma avaliação de seus cenários e veja se você não tem uma oportunidade de paralelismo com essas opções. Fique atento!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9938179" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category></item><item><title>Cloud Computing para CIO e Gerentes de TI</title><link>http://blogs.msdn.com/wcamb/archive/2009/12/10/cloud-computing-para-cio-e-gerentes-de-ti.aspx</link><pubDate>Thu, 10 Dec 2009 13:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9935088</guid><dc:creator>wcamb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9935088.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9935088</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9935088</wfw:comment><description>&lt;P&gt;Olá senhores, tudo bem?&lt;/P&gt;
&lt;P&gt;Estamos chegando ao fim de mais um ano e com certeza, 2009 será marcado como um ano de discussões sobre cloud computing ou computação em nuvem. &lt;/P&gt;
&lt;P&gt;De fato, a nuvem nos foi apresentada como a próxima grande onda, a nova tendência da próxima década ou mesmo a salvação para nossos problemas em tempos de crise, revolucionando a maneira como consumimos TI. Nada como uma promessa de redução de custos em tempos de busca pela eficiência financeira, concorda? &lt;/P&gt;
&lt;P&gt;Tanto é verdade que durante esse ano, muitos dos leitores aqui participaram de eventos nacionais e internacionais sobre Governança na Cloud, Gestão de Recursos com Cloud Computing, Segurança na Nuvem, ou ainda "Você está tranquilo com o datacenter onde seus dados passam a noite?" :), além de outros eventos afins. &lt;/P&gt;
&lt;P&gt;Mas por de trás desse "hipe" de lançamento e atenção exagerada podemos destacar duas questões importantes: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1. Como reduzir custos e economizar em TI com cloud computing? Isso é possível?&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;2. Como aproveitar cloud computing para atender as necessidades de negócio de uma forma mais ágil, rápida e dinâmica? Isso também é possível?&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;Você deve concordar que reduzir custos e ser ágil é o que está na pauta de muitos dos CxO's de grandes empresas, assim como de pequenas e médias que buscam um lugar ao sol em seus mercados. Ao mesmo tempo, reduzir custos e ser mais ágil pode parecer mesmo conflitante em muitos casos: o eterno "fazer mais com menos"... você já ouviu essa história antes… &lt;/P&gt;
&lt;P&gt;Como vimos ao longo de 2009, cloud computing torna-se uma oferta comum em diversos fornecedores, atraindo CIO's e Gerentes de TI em torno da potencial redução de custos com gestão de hardware, administração de infraestrutura, investimentos iniciais em datacenters, compras de máquinas ou mesmo custos operacionais diversos com pessoal de TI e software básico de operação. &lt;/P&gt;
&lt;P&gt;Através da escolha de um fornecedor de cloud computing, as empresas poderão focar no negócio, enquanto aproveitam um provisionamento dinâmico de infraestrutura mais próximo das reais necessidades de crescimento e demanda junto a aplicação. Trocaríamos o gráfico atual abaixo: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_thumb.png" width=506 height=297 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Por algo mais suave e aderente a demanda dinâmica de nossas aplicações, como ilustrado a seguir: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_thumb_2.png" width=511 height=283 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingparaCIOeGerentesdeTI_C6A/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Porém, apesar dos mais de 300 dias falando sobre o assunto, ainda vemos muitas empresas discutindo aspectos de segurança, conectividade, latência, integração, etc. Outro tópico frequente é a interoperabilidade entre o ambiente on-premise e a infraestrutura na nuvem: como garantir que aplicações locais falem fluentemente com soluções na nuvem? Todas essas questões são relevantes e precisam ser discutidas sim! &lt;/P&gt;
&lt;P&gt;Mas você deve concordar que esse período de dúvidas deve passar logo e então, estaremos numa nova fase: &lt;STRONG&gt;quais aplicações vou colocar na nuvem?&lt;/STRONG&gt; Algumas empresas já iniciaram esse estágio, escolhendo soluções candidatas para a cloud, enquanto avaliam os riscos de operação e o comportamento da nova infraestrutura. &lt;/P&gt;
&lt;P&gt;Terminadas as festas de final de ano, estaremos num novo momento: 2010 será um ano de decisões e apostas interessantes em torno de um nova TI, parte &lt;STRONG&gt;on-premise&lt;/STRONG&gt;, parte &lt;STRONG&gt;public cloud&lt;/STRONG&gt;, parte &lt;STRONG&gt;private cloud; &lt;/STRONG&gt;uma TI mais híbrida em muitos casos. &lt;/P&gt;
&lt;P&gt;Sabemos que as empresas que rapidamente aproveitam os benefícios de uma nova tecnologia conseguem um posicionamento estratégico melhor em seus mercados. Sabemos também que a novidade da computação em nuvem vai passar e teremos uma alternativa de fato sendo oferecida por diversos fornecedores, em diversas regiões do mundo, com sabores de contratação dos mais diversos. &lt;/P&gt;
&lt;P&gt;Então a pergunta que realmente fica e que gostaria de deixar com vocês é: &lt;STRONG&gt;quanto tempo mais você vai esperar para realmente avaliar o futuro de sua TI? &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;ROI, TCO, TI Estratégica, TI Operacional, como a computação em nuvem vai mudar o custo final de seu produto? &lt;STRONG&gt;Qual será o impacto dessa nova composição de TI para seu negócio?&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;Realmente, meu amigo(a) CIO, meu amigo(a) Gerente de TI, aproveite pelo menos 1 dia de seu merecido descanso de final de ano para um óscio criativo em torno desse tema…&lt;/P&gt;
&lt;P&gt;…só não vale deixar para dezembro de 2010 :) &lt;/P&gt;
&lt;P&gt;Um abraço!&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9935088" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category></item><item><title>pdc09: Um resumo sobre o evento!</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/23/pdc09-um-resumo-sobre-o-evento.aspx</link><pubDate>Mon, 23 Nov 2009 16:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927354</guid><dc:creator>wcamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9927354.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9927354</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9927354</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;O pdc09 terminou semana passada e deixou saudades! O evento começou com a plataforma Azure, apresentada em seu roadmap pelo &lt;STRONG&gt;Ray Ozzie – Chief Software Architect&lt;/STRONG&gt; da Microsoft.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 10px 10px 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=left src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_1.png" width=244 height=155 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Após seu anúncio em Outubro de 2008, a versão 1.0 de seu SDK e ferramentas de desenvolvimento foi publicada em Novembro de 2009. A plataforma entrará em produção em Janeiro de 2010, iniciando a fase de billing e cobrança de seus serviços em 1 de Fevereiro de 2010.&lt;/P&gt;
&lt;P&gt;A página com as informações de pricing e billing também mudou, veja:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Windows Azure Pricing&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://www.microsoft.com/windowsazure/pricing/ href="http://www.microsoft.com/windowsazure/pricing/" rel=nofollow target=_blank mce_href="http://www.microsoft.com/windowsazure/pricing/"&gt;http://www.microsoft.com/windowsazure/pricing/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Além de muitas sessões sobre &lt;STRONG&gt;Tables, Queues, Blobs&lt;/STRONG&gt;, tivemos a apresentação do tipo &lt;STRONG&gt;Drive&lt;/STRONG&gt;, que permite o tratamento de arquivos na plataforma Azure. Veja mais sobre ele na sessão abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Windows Azure Blob and Drive Deep Dive&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/SVC14" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/SVC14"&gt;http://microsoftpdc.com/Sessions/SVC14&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ainda sobre o Windows Azure, algumas surpresas foram muito interessantes, como a presença de &lt;STRONG&gt;Matt Mullenweg&lt;/STRONG&gt;, criador do &lt;STRONG&gt;WordPress&lt;/STRONG&gt; (a maior plataforma open-source de blogs do mundo) afirmando que estava entrando em produção com o WordPress sobre o Windows Azure. Veja abaixo: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WordPress has Gone Live on Windows Azure&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.infoq.com/news/2009/11/WordPress-Azure" rel=nofollow target=_blank mce_href="http://www.infoq.com/news/2009/11/WordPress-Azure"&gt;http://www.infoq.com/news/2009/11/WordPress-Azure&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_2.png" width=244 height=140 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_2.png"&gt;&lt;/A&gt; &lt;STRONG&gt;Silverlight 4&lt;/STRONG&gt; também teve seu espaço, começando com a keynote de &lt;STRONG&gt;Scott Guthrie&lt;/STRONG&gt;, com diversos recursos e funcionalidades para aplicações RIA e Web. As demos do Scott foram muito legais, tirando boas risadas do pessoal. Veja um pouco mais sobre SL4 na sessão abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Building Line of Business Applications with Microsoft Silverlight 4&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/CL19" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/CL19"&gt;http://microsoftpdc.com/Sessions/CL19&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.NET 4&lt;/STRONG&gt; esteve muito presente no evento, com diversas sessões sobre WCF 4, WF 4, WPF e muito mais. Recomendo aqui duas sessões em especial, veja:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Spice Up Your Applications with Windows Workflow Foundation 4&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/FT17" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/FT17"&gt;http://microsoftpdc.com/Sessions/FT17&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What’s New for Windows Communication Foundation 4&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/FT13" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/FT13"&gt;http://microsoftpdc.com/Sessions/FT13&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Diversos outro produtos e tecnologias estiveram presentes, como BizTalk ESB Toolkit 2.0, Visual Studio 2010, SharePoint 2010, RIA Services, Surface, entre outras. &lt;/P&gt;
&lt;P&gt;Na sessão de expositores, uma surpresa: um dos &lt;STRONG&gt;containers&lt;/STRONG&gt; de datacenter do &lt;STRONG&gt;Windows Azure&lt;/STRONG&gt; estava em exposição, ligado e aberto! Agora posso realmente dizer que eu entrei no Windows Azure :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_3.png" width=244 height=168 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_3.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_12.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_5.png" width=234 height=168 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_5.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_14.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_6.png" width=244 height=178 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_6.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_18.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_8.png" width=237 height=177 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/pdc09Umbeloevento_10412/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Note acima a alegria de &lt;A href="http://blogs.msdn.com/rogerioc/" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/rogerioc/"&gt;Rogério Cordeiro&lt;/A&gt;, ao descobrir onde suas aplicações &lt;STRONG&gt;Live Services&lt;/STRONG&gt; realmente rodavam! :)&lt;/P&gt;
&lt;P&gt;Creio&amp;nbsp;que&amp;nbsp;o &lt;STRONG&gt;pdc09&lt;/STRONG&gt; foi mais &lt;STRONG&gt;Evolucionário&lt;/STRONG&gt; que &lt;STRONG&gt;Revolucionário&lt;/STRONG&gt; esse ano. Isso significa que a Microsoft optou pela apresentação de conclusões e principais roadmaps a partir da visão &lt;STRONG&gt;Software + Serviços&lt;/STRONG&gt; e &lt;STRONG&gt;Cloud Computing&lt;/STRONG&gt; apresentados durante o pdc08, em Outubro de 2008. Achei isso adequado, pois completou uma entrega, sinalizando ao mercado que a visão continua a mesma. Algumas mensagens foram reforçadas, como o multi-touch para a plataforma PC e os recursos do &lt;STRONG&gt;Windows 7&lt;/STRONG&gt; (uma unanimidade para todos do evento); a visão das 3 telas, com Mobile, TV e PC; e a plataforma Azure, mais completa e com recursos mais integrados para o mundo cloud computing e serviços online.&lt;/P&gt;
&lt;P&gt;Saimos desse evento com muitas lições de casa, principalmente em relação ao nosso dia-a-dia: &lt;STRONG&gt;como evoluir nossa TI local, para aproveitar os benefícios e recursos que a evolução tecnológica tem oferecido?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Recentemente li uma frase interessante: os desenvolvedores de hoje querem &lt;STRONG&gt;desenvolver&lt;/STRONG&gt; &lt;STRONG&gt;menos&lt;/STRONG&gt; e &lt;STRONG&gt;viver&lt;/STRONG&gt; &lt;STRONG&gt;mais&lt;/STRONG&gt;!!! Alguns da antiga podem discordar aqui, sem problemas!! :) Mas para os mais novos, isso só é possível com uma plataforma de TI mais fácil, integrada e ágil. E que venha o próximo &lt;STRONG&gt;pdc.vNext&lt;/STRONG&gt;!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9927354" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Algumas palavras sobre Projetos de Missão Crítica</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/06/algumas-palavras-sobre-projetos-de-miss-o-cr-tica.aspx</link><pubDate>Fri, 06 Nov 2009 22:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918852</guid><dc:creator>wcamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9918852.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9918852</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9918852</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo? &lt;/P&gt;
&lt;P&gt;Essa semana acompanhei algumas discussões no forum do Grupo .NET Architects. Entre vários assuntos, um em especial chamou minha atenção: projetos de Missão Crítica. &lt;/P&gt;
&lt;P&gt;O que você entende por um &lt;STRONG&gt;Projeto de Missão Crítica&lt;/STRONG&gt;? &lt;/P&gt;
&lt;P&gt;Do &lt;A href="http://en.wikipedia.org/wiki/Mission_critical" rel=nofollow target=_blank mce_href="http://en.wikipedia.org/wiki/Mission_critical"&gt;wikipedia&lt;/A&gt; temos que o termo &lt;STRONG&gt;Missão Crítica&lt;/STRONG&gt; refere-se a qualquer fator (&lt;EM&gt;equipamento, processo, procedimento, software&lt;/EM&gt;, etc.) que seja crucial para o sucesso ou completude de uma atividade ou projeto. Também pode se referir a um projeto cujo o sucesso é vital para a missão da organização ou negócio da empresa.&lt;/P&gt;
&lt;P&gt;Falando em projetos, vejamos alguns exemplos que considero de Missão Crítica:&lt;/P&gt;
&lt;P&gt;- Um sistema de controle e coleta de dados de um projeto em Física Experimental para criação de estado de plasma, rodando sobre sistema operacional Debian/Linux, com processos em C, usando pilha TCP, pode ser considerado de missão crítica para o laboratório, devido as restrições e riscos envolvidos na monitoração e controle de equipamentos;&lt;/P&gt;
&lt;P&gt;- Um núcleo de negociação para o mercado financeiro, tratando milhões de operações/dia, envolvendo mensageria em banco de dados, cache distribuído, gerenciamento de recursos em memória, etc., com requisitos rígidos de baixa latência, também é um exemplo de missão crítica;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 0px 0px 5px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_thumb.png" width=240 height=204 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_thumb.png"&gt;&lt;/A&gt;- Um SDCD – Sistema Digital de Controle Distribuído – para monitoração e atuação de bicos de óleo em caldeiras para a geração de vapor num planta industrial, também é um belo exemplo. Vapor é um elemento chave em diversos processos industriais, de petroquímicas a processamento de atum em lata :) &lt;/P&gt;
&lt;P&gt;- Um monitor transacional de alto desempenho, aplicando conceitos como ACID, MUTEX, CRITICAL SESSIONS, SEMÁFOROS, árvores de falhas, etc, é outro exemplo. Uma leitura obrigatória sobre o assunto é o livro Transaction Processing, confira &lt;A href="http://www.amazon.com/Transaction-Processing-Concepts-Techniques-Management/dp/1558601902/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1257343655&amp;amp;sr=8-1" rel=nofollow target=_blank mce_href="http://www.amazon.com/Transaction-Processing-Concepts-Techniques-Management/dp/1558601902/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1257343655&amp;amp;sr=8-1"&gt;aqui&lt;/A&gt;! &lt;/P&gt;
&lt;P&gt;- Um sistema SaaS – Software as a Service – sobre algum provedor em nuvem, para uma solução multi-inquilino com interfaces Web, responsável pelo núcleo de faturamento da empresa, é de missão crítica, 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! :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 0px 0px 10px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_thumb_1.png" width=244 height=184 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/AlgumaspalavrassobreProjetosdeMissoCrtic_126B3/image_thumb_1.png"&gt;&lt;/A&gt; - Um sistema de automação para controle de caixas margem de via, por exemplo, para determinação de presença de trens de metrô e vagões em trechos da via, abertura de portas, desvios de ramais, movimento, etc. O próprio controle do carrossel de composições na via também é crítico. Qual é o trem mais seguro? Um trem parado ou um trem na oficinal, fora da via? :)&lt;/P&gt;
&lt;P&gt;- Um sistema para contabilidade e bilhetagem de chamadas em telefonia celular, também é crítico;&lt;/P&gt;
&lt;P&gt;- Em muitos cenários, até mesmo um sistema de emails é um sistema de missão crítica para a empresa. Algumas corporações simplesmente param ou perdem negócios em casos de falha em suas caixas postais, por mais commodities que possam parecer. Impacto financeiro a vista!;&lt;/P&gt;
&lt;P&gt;- Um sistema de controle de equipamentos médicos, como scanners, tomógrafos, dispositivos de ultra-som, leitores dopplers em tempo real (opa!), entre outros mais sofisticados em medicina, são extremamente críticos em seus resultados. &lt;/P&gt;
&lt;P&gt;Considero todos os exemplos acima como sistemas de &lt;STRONG&gt;Missão Crítica&lt;/STRONG&gt; em diferentes níveis, pois envolvem riscos para o negócio da empresa. &lt;/P&gt;
&lt;P&gt;Assim, podemos destacar três tipos de riscos envolvidos:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Riscos Materiais;&lt;/LI&gt;
&lt;LI&gt;Riscos Financeiros; &lt;/LI&gt;
&lt;LI&gt;Riscos envolvendo Vidas Humanas; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Alguns sistemas de Missão Crítica podem envolver requisitos de &lt;STRONG&gt;Tempo Real (Real Time)&lt;/STRONG&gt;, isto é, janelas de atuação e tempos resposta bem definidos, que devem ser respeitados. Nesses casos, o número de processos envolvidos, o volume ou o número de chamadas disparadas não deve interferir no tempo de resposta do sistema. &lt;/P&gt;
&lt;P&gt;Qual é o tempo de resposta envolvido no tempo real (em milisegundos, por exemplo)? Dependerá do cenário que estamos tratando, seja um canal de &lt;EM&gt;feeders&lt;/EM&gt; de notícias com filtros sobre política ou mensagens para a abertura de cofres em sistemas de segurança bancário.&lt;/P&gt;
&lt;P&gt;Normalmente, condições de &lt;STRONG&gt;tempo real&lt;/STRONG&gt; estão envolvidas em cenários de missão crítica, mas não são obrigatórias.&lt;/P&gt;
&lt;P&gt;Meu ponto aqui é que não podemos considerar como &lt;STRONG&gt;Missão Crítica&lt;/STRONG&gt; apenas o aspecto de desempenho e tempo de resposta envolvidos. Para algumas indústrias, outros atributos são tão importantes quanto, como o impacto financeiro, disponibilidade e riscos diversos.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Quão crítico é o sistema em que você está trabalhando hoje? Ele envolve riscos financeiros, riscos humanos ou riscos materiais? &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Em resumo, qual é o impacto de uma falha em seu sistema para a execução do negócio de sua empresa? Aspectos como recuperação de falhas, tratamento de exceções, árvore de falhas, etc., tornam-se importantes em muitos casos. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Uma vez identificado o cenário de missão crítica, como conduzir o projeto? &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Algumas perguntas são recorrentes neste momento, como:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Qual é o melhor sistema operacional para cada cenário? &lt;/LI&gt;
&lt;LI&gt;Qual é a melhor linguagem de programação para cada cenário? &lt;/LI&gt;
&lt;LI&gt;Qual é a melhor abordagem de patterns para cada cenário? &lt;/LI&gt;
&lt;LI&gt;Quais são as restrições de memória e disco para o SO? Poucos recursos? Desktops? Servidores? &lt;/LI&gt;
&lt;LI&gt;Quais são as necessidades de comunicação com dispositivos e periféricos diversos nesse ambiente de missão crítica? &lt;/LI&gt;
&lt;LI&gt;Quais são os drivers disponíveis para o SO escolhido? Teremos que implementar esses drivers? Existem fornecedores no mercado? &lt;/LI&gt;
&lt;LI&gt;Quais são as latências 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 latência? Transporte customizado?&lt;/LI&gt;
&lt;LI&gt;Qual a necessidade por tempo real, paralelismos de processos, high performance computing, cluster computing ou grid computing? &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Sem falar ainda em questões adjacentes, como:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Qual será o suporte necessário para a solução? &lt;/LI&gt;
&lt;LI&gt;Como será evolução da pilha de software ao longo do tempo? &lt;/LI&gt;
&lt;LI&gt;Qual é o perfil de profissionais capacitados, exigidos para o projeto? &lt;/LI&gt;
&lt;LI&gt;Quais são os guias de desenvolvimento e patterns disponíveis? &lt;/LI&gt;
&lt;LI&gt;Quais são as ferramentas para a construção de software, metodologias, documentação, etc.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Através aqui do blog, temos acompanhado a plataforma Microsoft e seu suporte para aplicações de missão crítica em diferentes níveis. &lt;/P&gt;
&lt;P&gt;Existem diversos recursos que atendem esses cenários, seja sobre a plataforma .NET ou mesmo sobre código não gerenciado, com processos em C++ sobre Windows Server. No ambiente gerenciado, recursos como interfaces de serviços em WCF – Windows Communication Foundation, mensageria com MSMQ, paralelismo, sincronização e sistemas de integração com baixa latência são alguns exemplos. Em todos os casos, o impacto para o negócio da empresa está presente. &lt;/P&gt;
&lt;P&gt;Em breve, teremos ainda novos recursos disponíveis na plataforma Microsoft, como o &lt;STRONG&gt;&lt;A href="http://www.microsoft.com/NET/Dublin.aspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/NET/Dublin.aspx"&gt;Dublin&lt;/A&gt;&lt;/STRONG&gt; (para hospedagem de serviços e processos sobre o Windows Server), o &lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/data/cc655792.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/data/cc655792.aspx"&gt;Velocity&lt;/A&gt;&lt;/STRONG&gt; (para cache distribuído e aplicações de alto desempenho), novos recursos sobre &lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx"&gt;WCF 4&lt;/A&gt;&lt;/STRONG&gt; e &lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx"&gt;WF 4&lt;/A&gt;&lt;/STRONG&gt;, além da integração com a plataforma de alta escalabilidade e disponibilidade do &lt;STRONG&gt;&lt;A href="http://blogs.msdn.com/windowsazure/" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/windowsazure/"&gt;Windows Azure&lt;/A&gt;&lt;/STRONG&gt;, que já está em contagem regressiva para seu lançamento, durante o PDC 2009.&lt;/P&gt;
&lt;P&gt;Finalizando, procure identificar em quais cenários de &lt;STRONG&gt;Missão Crítica&lt;/STRONG&gt; você está pessoalmente envolvido e como será a evolução destes nos próximos meses. Você vai perceber que sua TI tem um impacto direto para o sucesso de sua empresa!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918852" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/WF/default.aspx">WF</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item><item><title>.NET 4.0 e Visual Studio 2010 Beta 2, no ar!</title><link>http://blogs.msdn.com/wcamb/archive/2009/10/28/net-4-0-e-visual-studio-2010-beta-2-no-ar.aspx</link><pubDate>Wed, 28 Oct 2009 22:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9914375</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9914375.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9914375</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9914375</wfw:comment><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/NET4.0eVisualStudio2010Beta2noar_11510/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/NET4.0eVisualStudio2010Beta2noar_11510/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/NET4.0eVisualStudio2010Beta2noar_11510/image_thumb.png" width=221 height=70 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/NET4.0eVisualStudio2010Beta2noar_11510/image_thumb.png"&gt;&lt;/A&gt; Olá pessoal, tudo certo? &lt;/P&gt;
&lt;P&gt;O .NET 4.0 Beta 2 foi disponibilizado recentemente, confira: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft .NET Framework 4 Beta 2&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=DED875C8-FE5E-4CC9-B973-2171B61FE982&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=DED875C8-FE5E-4CC9-B973-2171B61FE982&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=DED875C8-FE5E-4CC9-B973-2171B61FE982&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Da mesma forma, o Visual Studio 2010 Beta 2 também já está disponível para testes: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Visual Studio 2010 Professional Beta 2 - ISO&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=A80DFB5D-51C6-4778-8656-A9FF29D3A132&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=A80DFB5D-51C6-4778-8656-A9FF29D3A132&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=A80DFB5D-51C6-4778-8656-A9FF29D3A132&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Visual Studio 2010 Ultimate Beta 2 - ISO &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=DC333AC8-596D-41E3-BA6C-84264E761B81&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=DC333AC8-596D-41E3-BA6C-84264E761B81&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=DC333AC8-596D-41E3-BA6C-84264E761B81&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;E como não podia faltar, o Training Kit da dupla .NET 4 e VS2010 já está no ar: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Visual Studio 2010 and .NET Framework 4 Training Kit - October Preview&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Nesses pacotes, você vai encontrar novidades sobre C# 4.0, ASP.NET 4.0, WCF e WF, Parallel Extensions (que vai merecer um post dedicado sobre o assunto), Entity Framework, além das novidades do próprio Visual Studio Team System. Vale a pena conferir! &lt;/P&gt;
&lt;P&gt;Em tempo, conversei hoje com uma empresa sobre a construção de frameworks de desenvolvimento e como torná-los desacoplados de tecnologias e versões de plataformas. Isso é possível? Minha resposta é simples: todo framework, seja horizontal ou vertical, está acomplado de alguma forma à plataforma base escolhida. Se você escolhe Java como base para seu framework, estará acomplado ao Java, da mesma forma se escolher .NET, estará acoplado ao .NET. Sem segredo aqui. Isso vai acontecer pelo uso de interfaces como WCF, J2EE, WF, JBOSS, ASP.NET MVC, AJAX, etc.&lt;/P&gt;
&lt;P&gt;Porém, para uma dada plataforma, você pode fazer escolhas na definição interna de seu framework, a fim de minimizar os custos de evolução e manter um acompanhamento leve com o próprio versionamento da plataforma hospedeira. Isso é obtido através de uma boa definição de quais capacidades serão atendidas pelo framework, da definição clara de quais cenários de aplicação serão tratados, evitando-se a construção de frameworks horizontais “balas de prata’, que servem para tudo e para todos, além de cuidados com a camada de persistência, uma boa definição de interfaces de serviços, qual a abordagem para regras de negócio, etc. &lt;/P&gt;
&lt;P&gt;Não se iluda: as plataformas e frameworks horizontais de fornecedores vão continuar evoluindo, espere sempre por mudanças! Prepara-se para elas!&lt;/P&gt;
&lt;P&gt;.NET 4.0 está chegando e com recursos incríveis, fique atento e procure identificar quais capacidades você realmente precisa e pode aproveitar desse novo framework.&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9914375" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Frameworks/default.aspx">Frameworks</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item><item><title>Sessões Back to Basics? Por que não?</title><link>http://blogs.msdn.com/wcamb/archive/2009/09/14/sess-es-back-to-basics-por-que-n-o.aspx</link><pubDate>Mon, 14 Sep 2009 19:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9895037</guid><dc:creator>wcamb</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9895037.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9895037</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9895037</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Estamos em tempo de mudança. Como o Markus fala de vez em quando, “o Mundo Mudou!”. Concordo com vocês, as vezes é difícil acompanhar o ritmo das mudanças e inovações que atingem nossa área. TI é assim! Durante o último &lt;STRONG&gt;Tech-ed Brasil 2009&lt;/STRONG&gt;, eu ouvi o mesmo comentário de vários participantes: “Qual tecnologia eu devo usar?”, “O que eu preciso estudar agora?”, “Porque temos tantos frameworks e opções diferentes disponíveis?”, “O que eu uso para uma aplicação Web?”, entre outros.&lt;/P&gt;
&lt;P&gt;De fato, não temos uma resposta padrão ou simples para todas essas perguntas. Tenho trabalhado em TI nos últimos 15 anos e já vi diversas mudanças em arquitetura, alavancadas por diferentes fatores. Quem aqui não viu (tudo bem, alguns aqui não viram) o nascimento do cliente/servidor, aplicações com C++, VB6, componentes em COM+ sobre Windows Server 2000, as novidades do mundo Web, a adoção de Web Services em alta escala pelas empresas, etc. Você viu também a publicação do .NET Framework, sua evolução com as versões 2.0, depois 3.0 com o WCF e o WPF, o uso de serviços REST, o .NET 3.5 SP1. Finalmente, vimos o crescimento da discussão em torno de SOA, SOI, SAAS e mais recentemente o Cloud Computing, o provisionamento dinâmico, a computação de alta escala, o Windows Azure, etc.&lt;/P&gt;
&lt;P&gt;Durante o Tech-ed Brasil, tive a oportunidade de falar sobre a iniciativa Software + Serviços da Microsoft, que oferece uma visão para a TI do futuro. Um dos slides que usei mostra a evolução das arquiteturas dominantes nas últimas décadas. Claro, é uma simplificação do que aconteceu em TI, mas vale como ilustração, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/23743df73966_BA30/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/23743df73966_BA30/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/23743df73966_BA30/image_thumb.png" width=505 height=238 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/23743df73966_BA30/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Em cada década, tivemos uma arquitetura dominante, que definiu o estilo e o comportamento do software que era construído para o mercado e para nossos usuários. Vale destacar que cada nova arquitetura apareceu como uma nova alternativa de infraestrutura, adicionando valor e novas opções de recursos para as arquiteturas existentes. Essa combinação tem sido observada até hoje e muitas empresas ainda convivem com várias dessas arquiteturas, ao mesmo tempo.&lt;/P&gt;
&lt;P&gt;Mas retornando às dores de nosso dia-a-dia e pensando nas perguntas que vimos no começo deste post, existe ao menos uma coisa que é constante nessa evolução toda: &lt;STRONG&gt;a aplicação de bons príncípios de engenharia de software&lt;/STRONG&gt;. Independente do tipo de framework, camada, componente ou novos recursos que você adote, lembre-se sempre de princípios como:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Programação Estruturada;&lt;/LI&gt;
&lt;LI&gt;Programação Orientada a Objetos;&lt;/LI&gt;
&lt;LI&gt;Modelagem de Dados e Teoria de Conjuntos;&lt;/LI&gt;
&lt;LI&gt;Bons Patterns de Arquitetura;&lt;/LI&gt;
&lt;LI&gt;Tipos Abstratos de Dados, Filas, Pilhas, Listas Ligadas, Caches;&lt;/LI&gt;
&lt;LI&gt;Otimização de Algortimos, etc.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Como arquitetos de software, creio que é saudável manter “frescos na memória” esses conceitos. Separe um tempinho de seu corrido dia para relembrar os tópicos acima. &lt;/P&gt;
&lt;P&gt;Creio que uma sessão “&lt;STRONG&gt;back-to-basics&lt;/STRONG&gt;” de vez em quando vai ajudá-lo a olhar os vários recursos e frameworks sob um prisma diferente. Isso também vai ajudá-lo a reconhecer quais tecnologias você pode aplicar em sua empresa, no momento certo de sua necessidade. &lt;/P&gt;
&lt;P&gt;É o que eu tenho feito e tem funcionado!!!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9895037" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item><item><title>Pensando na evolução da TI de uma empresa.</title><link>http://blogs.msdn.com/wcamb/archive/2009/09/11/pensando-na-evolu-o-de-uma-arquitetura-de-ti.aspx</link><pubDate>Fri, 11 Sep 2009 20:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894306</guid><dc:creator>wcamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9894306.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9894306</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9894306</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Durante o Tech-ed Brasil 2009, tive algumas discussões que mais ou menos foram replicadas essa semana, com outras empresas e arquitetos.&lt;/P&gt;
&lt;P&gt;Uma dessas discussões foi sobre a evolução da TI numa empresa, com o foco em sua organização e maturidade. Veja o desenho abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/PensandoemarquiteturadeTIesuasopes_68C/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/PensandoemarquiteturadeTIesuasopes_68C/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/PensandoemarquiteturadeTIesuasopes_68C/image_thumb.png" width=532 height=266 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/PensandoemarquiteturadeTIesuasopes_68C/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;No primeiro bloco, vemos o que é chamado de uma arquitetura “Spaghetti” ou “Macarronada” ou digamos “Noooooossa” :) É muito comum encontrarmos esse tipo de organização de TI, onde para cada comunicação entre sistemas temos um tipo dedicado de conexão, sem padronização, reuso de funcionalidades ou normalização de mensagens e formatos de dados. O custo de manuteção desse tipo de arquitetura é alto, assim como sua administração é complicada, com erros recorrentes. Atualmente, tenho visto muitas empresas iniciando ações para sair desse tipo de arquitetura e organização em TI.&lt;/P&gt;
&lt;P&gt;Um segundo estágio nessa evolução pode ser o uso de um motor de EAI – Enterprise Application Integration. Uma infraestrutura de EAI oferece um cenário padronizado de conectividade entre sistemas, facilitando a comunicação entre os serviços existentes através de adaptadores padronizados, schemas de mensagens, formatos de dados versionados, além de uma série de patterns para transformação de mensagens, subscrição, publicação, auditoria, tracing, entre outros, de forma centralizada. Porém, algumas empresas aplicam cenários de EAI em alguns departamentos, enquanto ainda permitem a continuidade de arquiteturas “macarrônicas” em outros andares, seja por problemas históricos, políticos ou de investimentos. &lt;/P&gt;
&lt;P&gt;Finalmente, coloco aqui um terceiro estágio de evolução, o ESB – Enterprise Service Bus, ou barramento corporativo de serviços. Podemos pensar num ESB como um conjunto de patterns de EAI, adicionado a patterns de roteamento de mensagens, composição de mensagens e serviços, tratamento de exceção, resolução de chamadas para serviços, etc. Uma grande diferença entre EAI e um ESB é a possibilidade de composição dinâmica de serviços. Enquanto que num cenário de EAI temos links estáticos entre clientes e provedores, no modelo ESB o desacoplamento é ainda maior, sendo possível a composição dinâmica de chamadas. A presença de um repositório ou catálogo de serviços também é parte desse tipo de solução, seja através de um UDDI ou mesmo de catálogo em bancos de dados.&lt;/P&gt;
&lt;P&gt;O que achei interessante essa semana foi ver como cenários assíncronos de mensageria, assim como a possibilidade de publicação de serviços ou dados num ambiente na nuvem tornam-se participantes dessa nova TI que arquitetos começam a imaginar. Mensageria não é novidade de forma alguma, mas mensageria entre diferentes infraestrutura de TI me pareceu interessante.&lt;/P&gt;
&lt;P&gt;Como tenho dito para algumas pessoas, nossa TI no futuro será cada vez mais híbrida, combinando serviços e dados ora no ambiente local (on-premise), ora no ambiente hospedado (em hosters e provedores) ora na nuvem. Um dos aspectos importantes que teremos será a combinação de SLA’s e níveis de operação, assim como mecanismos de monitoração, logging e administração unificados, que torne a vida do ITPro mais fácil para esses cenários.&lt;/P&gt;
&lt;P&gt;Cloud Computing é uma evolução de SOA? Depois de um EAI, sigo para um ESB? E depois de um ESB, sigo para o uso de um ISB – Internet Service Bus? De fato, penso que essas perguntas não têm muita relevância. O mais importante será mesmo aproveitar o melhor de cada infraestrutura, de acordo com as reais necessidades de sua aplicação, solução ou negócio. Fique atento ao que realmente interessa para sua empresa! Se você é um ITPro, fique atento às ferramentas de administração que estão aparecendo. Se você é um desenvolvedor, fique atento aos frameworks e opções de tecnologias que surgem para a construção de aplicações. E se você é um arquiteto, seja de soluções ou de infra, fique atento na hora de aplicar a melhor tecnologia que atende sua empresa.&lt;/P&gt;
&lt;P&gt;Seja usando SAAS, EAI, ESB, ISB, ERP, CRM, SC, UDDI, SOAP, REST, HTTP, TCP, etc. o que vale mesmo é atender corretamente seu usuário final, não é mesmo?&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894306" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item><item><title>Qual a importância de um arquiteto?</title><link>http://blogs.msdn.com/wcamb/archive/2009/08/14/qual-a-import-ncia-de-um-arquiteto.aspx</link><pubDate>Fri, 14 Aug 2009 15:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9869915</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9869915.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9869915</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9869915</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Semana passada, o &lt;A href="http://blogs.technet.com/markuschristen/" rel=nofollow target=_blank mce_href="http://blogs.technet.com/markuschristen/"&gt;Markus Christen&lt;/A&gt; havia iniciado uma discussão sobre o papel do arquiteto no &lt;A href="http://arqbr.groups.live.com/" rel=nofollow target=_blank mce_href="http://arqbr.groups.live.com"&gt;ARQBR&lt;/A&gt;. Algumas pessoas avançaram as discussões offline e tivemos algumas conclusões. Gostaria de colocar aqui uma visão consolidada sobre o tema.&lt;/P&gt;
&lt;P&gt;Pessoalmente, tenho visto diversos tipos de profissionais atuando como arquitetos no mercado. &lt;/P&gt;
&lt;P&gt;Pensando em &lt;STRONG&gt;arquitetos de soluções&lt;/STRONG&gt;, focados em projetos e na construção de sistemas, qual a importância deles? Gosto muito da seguinte frase para explicar a importância do arquiteto de soluções: "Arquitetura de software é o conjunto de decisões de design as quais, se feitas incorretamente, podem provocar o cancelamento de seu projeto". :) &lt;/P&gt;
&lt;P&gt;Ainda pensando na construção de software, a&lt;STRONG&gt; SEI - Software Engineering Institute | Carnegie Mellon&lt;/STRONG&gt;, tem conduzido uma pesquisa sobre definições para arquitetura de software em todo o mundo, através do link abaixo: &lt;/P&gt;
&lt;P&gt;Ref.: &lt;A href="http://www.sei.cmu.edu/architecture/community_definitions.html" rel=nofollow target=_blank mce_href="http://www.sei.cmu.edu/architecture/community_definitions.html"&gt;http://www.sei.cmu.edu/architecture/community_definitions.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Lendo as várias definições, fica claro que mesmo pensando na construção de software, o papel do arquiteto e suas atividades são muito diversificados. Mas é sempre direcionado pelas decisões que podem conduzir uma solução para o sucesso ou fracasso, decisões essas relacionadas com a escolha e a combinação de tecnologias aplicáveis para aquela solução. Assim, creio que podemos resumir a importância do arquiteto de solução nessa palavra: &lt;STRONG&gt;direção&lt;/STRONG&gt;! Direção para a melhor arquitetura de software que será empregada, buscando a aplicação de uma &lt;STRONG&gt;boa engenharia de software&lt;/STRONG&gt; sempre.&lt;/P&gt;
&lt;P&gt;Pensando em &lt;STRONG&gt;arquitetos enterprise&lt;/STRONG&gt; ou &lt;STRONG&gt;corporativos&lt;/STRONG&gt;, esses estão mais distantes do mundo de soluções, muito envolvidos com o negócio da empresa. Qual o papel da TI para a missão da empresa? Qual o impacto de longo prazo do investimento em uma determinada tecnologia ou abordagem de solução. Alguns exemplo? Pense na adoção de um sistema Web para o terminal de auto-atendimento de um banco de varejo. Estamos falando de quantos terminais espalhados pelo Brasil? Pense na adoção de uma plataforma baseada em serviços para a oferta de produtos para corretoras de valores? Qual o impacto de segurança e velocidade de implantação de novos produtos nessa infra-estrutura? Enfim, uma decisão tomada pelo arquiteto corporativo é apresentada para o núcleo de negócios da empresa e normalmente, tem um tempo de maturidade e implantação de médio e longo prazo. Mas são importantes pelo poder de influência e impacto no dia-a-dia de todos da corporação. Qual a importância desse profissional hoje em dia? &lt;/P&gt;
&lt;P&gt;Finalmente, pensando em &lt;STRONG&gt;arquitetos de infra-estrutura&lt;/STRONG&gt;, estamos num momento muito especial em TI, vendo o nascimento de uma nova plataforma de infra-estrutura disponível na nuvem. Nos próximos anos, o cloud computing será uma realidade para muitas empresas, que buscam a composição de custos entre software e infra-estrutura on-premise e software e serviços na nuvem. O arquiteto de infra-estrutura e IT Pros, que atuam diretamente nesse ambiente de suporte a software poderão focar cada vez mais nas capacidades de TI, oferecendo uma infra-estrutura combinada que irá permitir a construção de soluções mais flexíveis, dinâmicas e transparentes para o usuário final. Qual a importância do arquitetura de infra-estrutura? Suas decisões, o quanto mais alinhadas com a direção de negócio e desenvolvimento da empresa, permitirão uma maior velocidade na adoção de novas tecnologias, consequentemente, um posicionamento melhor no mercado de atuação de sua empresa. &lt;/P&gt;
&lt;P&gt;Agora, uma nova pergunta: você que está na carreira de arquiteto, como está se preparando para tomar as decisões corretas em sua empresa? &lt;/P&gt;
&lt;P&gt;O impacto de suas decisões pode ser tão grande quanto o sucesso ou fracasso de uma campanha, de um projeto, de um produto ou de um lançamento em sua empresa. Prepare-se! &lt;/P&gt;
&lt;P&gt;Alguns links interessantes: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Worldwide Institute of Software Architects - WWISA&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.wwisa.org/" rel=nofollow target=_blank mce_href="http://www.wwisa.org/"&gt;http://www.wwisa.org/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;IASA - International Association of Software Architects&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.iasahome.org/web/home/home" rel=nofollow target=_blank mce_href="http://www.iasahome.org/web/home/home"&gt;http://www.iasahome.org/web/home/home&lt;/A&gt; &lt;BR&gt;&lt;A href="http://www.wwisa.org/" mce_href="http://www.wwisa.org/"&gt;http://www.wwisa.org/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Architecture Journal &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://msdn.microsoft.com/en-us/architecture/bb410935.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/architecture/bb410935.aspx"&gt;http://msdn.microsoft.com/en-us/architecture/bb410935.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Dev Center de Arquitetura no MSDN Brasil&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://msdn.microsoft.com/pt-br/architecture/default.aspx href="http://msdn.microsoft.com/pt-br/architecture/default.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/pt-br/architecture/default.aspx"&gt;http://msdn.microsoft.com/pt-br/architecture/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :) &lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9869915" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item><item><title>O ritmo da inovação e o papel do arquiteto</title><link>http://blogs.msdn.com/wcamb/archive/2009/08/05/o-ritmo-da-inova-o-e-o-papel-do-arquiteto.aspx</link><pubDate>Wed, 05 Aug 2009 17:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9858067</guid><dc:creator>wcamb</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9858067.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9858067</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9858067</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Semana passada estive com uma equipe de arquitetura de uma empresa do setor financeiro, discutindo sobre tendências em TI e a visão para a computação na nuvem. Com certeza, 2009 está sendo o ano do Cloud Computing. &lt;/P&gt;
&lt;P&gt;Uma pergunta que aparece nesse tipo de discussão é sobre quando adotar uma nova plataforma. Vale a pena investir na computação na nuvem? Quais benefícios a plataforma pode oferecer para o meu negócio?&lt;/P&gt;
&lt;P&gt;Esse é o mesmo dilema quando pensamos em investir em treinamentos sobre novas tecnologias, como frameworks, ferramentas de desenvolvimento ou plataformas de aplicações. O cenário é mais crítico quando a TI da empresa está desatualizada em relação ao mercado. Se você ainda desenvolve em ASP com componentes COM+ em VB6 e possui alguns sites em ASP.NET com .NET 1.1, por exemplo, o impacto de uma evolução é maior, tanto na capacitação de sua equipe como na percepção de melhorias para o usuário e para o negócio da empresa.&lt;/P&gt;
&lt;P&gt;Veja o gráfico abaixo, onde temos o tempo no eixo “x” e a vantagem competitiva de uma empresa num determinado mercado no eixo “y”.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeodilemadainovao_144AF/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeodilemadainovao_144AF/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeodilemadainovao_144AF/image_thumb.png" width=520 height=371 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/CloudComputingeodilemadainovao_144AF/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;O desenho ilustra o impacto da adoção de uma inovação tecnológica ao longo do tempo. Imagine 3 empresas para uma determinada área de atuação.&lt;/P&gt;
&lt;P&gt;A primeira é uma empresa ágil, que rapidamente incorpora inovações estratégicas e consegue um melhor posicionamento no mercado em relação a seus concorrentes. Para isso, essa empresa investe em novas tecnologias, acompanha o lançamento de novas plataformas e ferramentas de mercado, assim como mantém uma cultura de constante avaliação de suas soluções em relação ao negócio da empresa. Como resultado, é reconhecida como uma empresa inovadora e que lança tendências ou aproveita os benefícios de uma nova tecnologia, melhorando sua&amp;nbsp; produtividade, tempo para o lançamento de novos produtos, redução de custos, alcance para novos mercados, etc.&lt;/P&gt;
&lt;P&gt;Com o passar do tempo, uma segunda empresa adota a mesma inovação, ainda conseguindo um bom posicionamento no mercado. Muitas vezes, essa empresa é uma seguidora de líderes da indústria, um cenário muito comum no mercado financeiro e entre bancos.&lt;/P&gt;
&lt;P&gt;Finalmente, uma terceira empresa adota as inovações estratégicas de forma tardia, não aproveitando os benefícios e oportunidades da adoção de uma nova tecnologia, apenas corrigindo sua posição no mercado. Muitas vezes, essa empresas trata a área de TI como um universo apenas operacional, de suporte ao negócio da empresa sem relevância, não reconhecendo o impacto e possíveis oportunidades que a primeira empresa conseguiu aproveitar. &lt;/P&gt;
&lt;P&gt;Existem diversos motivos que posicionam uma empresa em cada um desses 3 perfis, como cultura organizacional, histórico de projetos, tamanho da empresa, tolerância ao risco, burocracia, inércia das áreas envolvidas, resistência a novas formas de trabalho, etc. Reconhecer em qual grupo sua empresa está é o primeiro passo nessa auto-análise tecnológica. A partir desse diagnóstico, identificar quais benefícios e o impacto de uma nova tecnologia para o negócio da empresa deve oferecer bons argumentos para uma tomada de decisão. &lt;/P&gt;
&lt;P&gt;Ao mesmo tempo, um tópico que aparece é o chamado “dilema da inovação”. O aparecimento de novas tecnologias e inovações estratégicas também pode criar empresas emergentes, que aproveitam com maior sucesso de novas demandas do mercado ou de seus clientes, que também percebem os benefícios da inovação disponível.&lt;/P&gt;
&lt;P&gt;Entre 2009 e 2010, vamos acompanhar de perto uma das maiores ondas de lançamentos de tecnologias e inovações na plataforma Microsoft. Teremos &lt;A href="http://www.microsoft.com/office/2010/" rel=nofollow target=_blank mce_href="http://www.microsoft.com/office/2010/"&gt;Office 2010&lt;/A&gt;, &lt;A href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx" rel=nofollow target=_blank mce_href="http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx"&gt;SharePoint 2010&lt;/A&gt;, &lt;A href="http://www.microsoft.com/exchange/2010/en/us/default.aspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/exchange/2010/en/us/default.aspx"&gt;Exchange 2010&lt;/A&gt;, &lt;A href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" rel=nofollow target=_blank mce_href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;Visual Studio 2010&lt;/A&gt;, &lt;A href="http://msdn.microsoft.com/en-us/netframework/dd819232.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/netframework/dd819232.aspx"&gt;.NET 4.0&lt;/A&gt;, &lt;A href="http://msdn.microsoft.com/pt-br/azure/cc994380.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/pt-br/azure/cc994380.aspx"&gt;Windows Azure&lt;/A&gt;, &lt;A href="http://technet.microsoft.com/pt-br/evalcenter/dd459137.aspx" rel=nofollow target=_blank mce_href="http://technet.microsoft.com/pt-br/evalcenter/dd459137.aspx"&gt;Windows Server 2008 R2&lt;/A&gt;, &lt;A href="http://technet.microsoft.com/pt-br/evalcenter/dd353205.aspx" rel=nofollow target=_blank mce_href="http://technet.microsoft.com/pt-br/evalcenter/dd353205.aspx"&gt;Windows 7&lt;/A&gt;, entre tantos outros.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Em tempo de crise, investir em inovação é tão importante quanto controlar os custos operacionais da empresa. Cada empresa possui um histórico próprio que explica seu posicionamento e seu grau de inovação no mercado. &lt;/P&gt;
&lt;P&gt;Como arquitetos, como podemos ajudar nossa empresa no entendimento dessas questões, para dar o próximo passo evolutivo no ritmo das inovações em TI? Fica para pensar…&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9858067" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item><item><title>Estudo de caso : um mapa para decisões de projeto</title><link>http://blogs.msdn.com/wcamb/archive/2009/07/29/estudo-de-caso-um-mapa-para-decis-es-de-projeto.aspx</link><pubDate>Wed, 29 Jul 2009 18:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9852182</guid><dc:creator>wcamb</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9852182.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9852182</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9852182</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Recentemente, acompanhei algumas discussões interessantes sobre aspectos para a decisão pela plataforma .NET em um determinado projeto.&lt;/P&gt;
&lt;P&gt;A partir desse bate-papo, achei que seria bom comentar aqui uma solução que acompanhei para um projeto Web multi-tenant de média/alta complexidade no ambiente corporativo. Assim, vamos explorar alguns dos pontos avaliados pela equipe para a decisão pela plataforma .NET.&lt;/P&gt;
&lt;P&gt;Considere esse projeto apenas como uma abordagem possível, já que:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;projetos são sempre diferentes entre si, seja em recursos, tempo ou equipes. Faça suas adaptações e avaliações de acordo com a sua realidade;&lt;/LI&gt;
&lt;LI&gt;pessoas bem capacitadas é sempre importante, para qualquer plataforma, seja .NET, JAVA, PHP ou RUBY;&lt;/LI&gt;
&lt;LI&gt;um mapa claro das reais necessidades da empresa também ajuda para manter as expectativas sob controle, assim como a escolha pela tecnologia mais aderente. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Considere ainda a necessidade por uma boa &lt;STRONG&gt;engenharia de software&lt;/STRONG&gt; versus o atendimento de um cenário mais simples, com pouco perspectiva de evolução.&lt;/P&gt;
&lt;P&gt;Para começar, veja o desenho de arquitetura escolhido para o projeto, conforme temos no &lt;A href="http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=20586" rel=nofollow target=_blank mce_href="http://www.codeplex.com/AppArchGuide/Release/ProjectReleases.aspx?ReleaseId=20586"&gt;Application Architecture Guide 2.0&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_thumb.png" width=457 height=442 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A partir desse mapa, vejamos alguns pontos que a equipe considerou ao escolher a plataforma .NET: &lt;/P&gt;
&lt;P&gt;1. EVOLUÇÃO: A plataforma .NET tem evoluído desde 2002. Desconsiderando o .NET 1.0 (2002) e o .NET 1.1 (2003), da versão 2.0 em diante (2005) tem sido adicionado novos recursos e protocolos de forma integrada ao framework, atendendo uma série de cenários no mercado. Alguns exemplos são serviços REST, consultas integradas via LINQ, AJAX, padrões MVC, frameworks de sincronização, caching, etc. Como a evolução é contínua, isso garante o atendimento de novos cenários não originalmente previstos; &lt;/P&gt;
&lt;P&gt;2. LINGUAGEM: A plataforma .NET oferece 2 grandes linguagens para o desenvolvimento de aplicações, C# e VB.NET. Claro, existem outras, mas são as de maior presença no mercado. A equipe considerou a linguagem C# como alternativa por decisão de projeto apenas, já que os recursos e namespaces oferecidos são os mesmos sobre .NET. A síntaxe de C# também pesou na decisão, devido alguns membros trabalharem em Java em projetos paralelos;&lt;/P&gt;
&lt;P&gt;3. WEB+RIA: Para cenários de aplicações WEB evoluindo para RIA - Rich Internet Application, a dupla &lt;STRONG&gt;ASP.NET + AJAX&lt;/STRONG&gt; foi bem avaliada, considerando uma evolução para &lt;STRONG&gt;ASP.NET + SILVERLIGHT&lt;/STRONG&gt; em alguns cenários. Na época, era o Silverlight 2.0. Hoje, temos o Siverlight 3.0 com o framework em desenvolvimento &lt;A href="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx"&gt;.NET RIA SERVICES&lt;/A&gt;, que promete implementação interessante, integrando serviços Web Services em JAVA, camadas em nHibernate e bancos ORACLE, serviços REST, etc. A solução hoje é 80% ASP.NET + AJAX, considerando algumas funcionalidades de LOB para Silverlight 3.0. Por ter iniciado antes do lançamento, o ASP.NET MVC está sendo avaliado somente agora;&lt;/P&gt;
&lt;P&gt;4. SERVIÇOS: De modo geral, o suporte de serviços no lado do servidor e na camada de negócios foi bem implementado com o &lt;STRONG&gt;WCF - Windows Communication Framework&lt;/STRONG&gt;, presente na plataforma .NET desde sua versão 3.0 (2006). Uma das grandes características do WCF é sua extensibilidade com a adição de novos Bindings de conectividade, seja através de soluções domésticas ou de mercado. Na solução em questão, foram aplicados os bindings padrão TCP, wsHTTPBinding e basicHTTPBindig para integração Java;&lt;/P&gt;
&lt;P&gt;5. PERFORMANCE: A estabilidade e robustez do modelo ASP.NET+WCF foi bem avaliada desde as provas de conceito. Isso contou para garantir uma plataforma que tivesse alta escalabilidade ao longo do tempo. Os números para mensagens por segundo e suporte para múltiplas instâncias de serviços foram muito bons! Realize provas de conceito, sempre. Veja um artigo clássico sobre performance do WCF, &lt;A href="http://msdn.microsoft.com/en-us/library/bb310550.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb310550.aspx"&gt;aqui&lt;/A&gt;. Para os testes usaram o Web Capacity Analysis Tool do Internet Information Services (IIS) 6.0 Resource Kit Tools, além das ferramentas de Web Testing do Visual Studio 2008.&lt;/P&gt;
&lt;P&gt;6. PROCESSOS: Em cenários de coordenação de processos, o WF - Windows Workflow Foundation também foi avaliado, uma vez que sua implementação é visual e integrada a própria IDE do Visual Studio. Alguns desses workflows fazem chamadas para serviços WCF, coordenando processos de negócio. O template &lt;STRONG&gt;Sequential Workflows Service Library&lt;/STRONG&gt; foi o mais adotado. Já falamos dele por aqui, &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/03/17/sequential-workflow-service-library-integrando-servi-os-wcf-com-workflows-wf-no-net-3-5.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/03/17/sequential-workflow-service-library-integrando-servi-os-wcf-com-workflows-wf-no-net-3-5.aspx"&gt;veja&lt;/A&gt;; &lt;/P&gt;
&lt;P&gt;7. TRANSAÇÃO: O suporte transacional obtido com o WCF e WF garantiu também a aplicação de transações distribuídas, integrando serviços em .NET e JAVA, através do protocolo WS-AT (&lt;A href="http://msdn.microsoft.com/en-us/library/ms729784.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms729784.aspx"&gt;Atomic Transaction&lt;/A&gt;), suportado pelo WCF e WF no .NET. Como alguns web services participantes estão em Java, foi usado o WSIT para o suporte transacional, com interoperabilidade Java e .NET. Veja mais &lt;A href="https://wsit-docs.dev.java.net/releases/1-0-FCS/Overview2.html#wp149787" rel=nofollow target=_blank mce_href="https://wsit-docs.dev.java.net/releases/1-0-FCS/Overview2.html#wp149787"&gt;aqui&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;8. HOSTING: Outro aspecto importante avaliado foi o HOSTING, isto é, onde as camadas de apresentação e lógica seriam hospedadas. No cenário sobre .NET, as páginas ASP.NET e porções em Silverlight foram hospedados em baterias de máquinas de apresentação, sobre IIS7 (&lt;A href="http://blogs.msdn.com/wcamb/archive/2009/07/24/alguns-recursos-da-fam-lia-windows.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/07/24/alguns-recursos-da-fam-lia-windows.aspx"&gt;Windows Server 2008&lt;/A&gt;). Para a camada de negócios e serviços, máquinas W2k8 foram dedicadas para hospedagem de serviços sobre a dupla &lt;STRONG&gt;IIS7/&lt;A href="http://msdn.microsoft.com/en-us/library/ms734677(VS.100).aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms734677(VS.100).aspx"&gt;WAS&lt;/A&gt; - Windows Process Activation Service&lt;/STRONG&gt;. Desse modo, foi possivel garantir o "desacoplamento" desejado para o projeto, separando a frente de apresentação e balanceamento de carga Web da frente de serviços e negócios, permitindo a futura exportação de serviços para outros sistemas. Avalie esse cenário como uma expansão futura real e desejável. De modo geral, pense em Web Services sobre HTTP/SOAP. Para cenários de serviços com alta performance, usamos o WAS para suportar o transporte em TCP/Binário e não em HTTP/SOAP/XML apenas. Veja mais sobre arquitetura WAS &lt;A href="http://msdn.microsoft.com/en-us/library/ms789006.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms789006.aspx"&gt;aqui&lt;/A&gt;;&lt;/P&gt;
&lt;P&gt;9. ADMINISTRAÇÃO: Foi avaliado que a construção de serviços WCF e WF e a preparação da equipe sobre a plataforma .NET garantiria a adoção de &lt;A href="http://msdn.microsoft.com/pt-br/magazine/2009.01.net40.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/pt-br/magazine/2009.01.net40.aspx"&gt;&lt;STRONG&gt;Dublin&lt;/STRONG&gt;&lt;/A&gt; sobre o Windows Server 2008 no futuro. O Dublin deve ampliar as funcionalidades de gerenciamente e administração de serviços WCF e WF no servidor de aplicações, criando um hosting com melhor governança para a solução. Mais um ponto para a adoção do .NET. A equipe começou com W2k3 e passou logo para W2K8 durante o projeto; &lt;/P&gt;
&lt;P&gt;10. SEGURANÇA: Para cenários de autenticação, autorização e controle de acesso, aplicamos os exemplos disponíveis na &lt;STRONG&gt;&lt;A href="http://blogs.msdn.com/wcamb/archive/2009/04/13/hands-on-labs-for-enterprise-library-4-1-march-2009.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/04/13/hands-on-labs-for-enterprise-library-4-1-march-2009.aspx"&gt;Enterprise Library&lt;/A&gt;&lt;/STRONG&gt;, o que ajudou muito na produtividade; &lt;/P&gt;
&lt;P&gt;11. TESTES: Avaliamos também a aplicação de cenários de testes sobre o Visual Studio 2008, diretamente relacionado a plataforma .NET; &lt;/P&gt;
&lt;P&gt;12. CONFIGURAÇÃO: Considerando a dupla ASP.NET+WCF, tivemos bons resultados na velocidade de configuração do ambiente de produção, devido principalmente o desacoplamento entre ambos. A configuração via XML e EndPoints também foi um ponto interessante de avaliação no uso de serviços em WCF, recurso muito bem avaliado na plataforma .NET; &lt;/P&gt;
&lt;P&gt;13. PRODUTIVIDADE: Em relação ao processo de desenvolvimento em si, aplicamos alguns templates customizados, criados em tempo de planejamento e arquitetura. Desse modo, foi possível disponibilizar em servidores da rede de desenvolvimento alguns templates específicos para páginas CRUD e serviços WCF, aumentando muito a produtividade da equipe de desenvolvimento. Avaliamos também o uso de guias de automação sobre o Visual Studio, como a dupla GAT/GAX, mas o cenário foi bem atendido apenas com os templates puros em .vstemplate para páginas ASP.NET e serviços WCF/WF; &lt;/P&gt;
&lt;P&gt;14. PERSISTÊNCIA: Considerando bancos de dados em Oracle e SQL Server, foi aplicada uma camada ORM com nHibernate, em .NET. A equipe está realizando testes com o &lt;A href="http://blogs.msdn.com/wcamb/archive/2008/12/22/construindo-solu-es-com-entity-framework-e-arquitetura-em-m-ltiplas-camadas.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2008/12/22/construindo-solu-es-com-entity-framework-e-arquitetura-em-m-ltiplas-camadas.aspx"&gt;Entity Framework&lt;/A&gt;, aguardando a &lt;A href="http://channel9.msdn.com/pdc2008/TL20/" rel=nofollow target=_blank mce_href="http://channel9.msdn.com/pdc2008/TL20/"&gt;versão 2.0&lt;/A&gt; ser lançada. Para a manipulação das coleções obtidas de consultas, diversos módulos de negócio manipulam os itens através de consultas &lt;A href="http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx"&gt;LINQ&lt;/A&gt;, integradas ao C# no .NET. Essa abordagem de manipulação integrada permitiu um grande ganho de produtividade, devido o uso do intellisense em tempo de desenvolvimento, assim como facilidade de construção de consultas e filtros sobre coleções; &lt;/P&gt;
&lt;P&gt;15. CAPACITAÇÃO: Em relação a capacitação da equipe, foi planejado 40 horas de treinamento formal em WCF e 24 horas de treinamento formal WF. O uso de templates bem formatados para cada camada do projeto garantiu uma curva de aprendizado suave para a equipe; &lt;/P&gt;
&lt;P&gt;16. RECURSOS: Foram considerados alguns sites importantes para o apoio da equipe. Entre os links principais, cito: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WCF – Windows Communication Foundation&lt;/STRONG&gt; &lt;BR&gt;&lt;A href="http://www.msdnbrasil.com.br/microsoft.MediaCenter/Default.aspx_x_CATEGORY_x_WCF.aspx" target=_blank mce_href="http://www.msdnbrasil.com.br/microsoft.MediaCenter/Default.aspx_x_CATEGORY_x_WCF.aspx"&gt;http://www.msdnbrasil.com.br/microsoft.MediaCenter/Default.aspx_x_CATEGORY_x_WCF.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WF – Windows Workflow Foundation&lt;/STRONG&gt; &lt;BR&gt;&lt;A href="http://www.msdnbrasil.com.br/microsoft.MediaCenter/Default.aspx_x_CATEGORY_x_Windows%20Workflow%20Foundation.aspx" rel=nofollow target=_blank mce_href="http://www.msdnbrasil.com.br/microsoft.MediaCenter/Default.aspx_x_CATEGORY_x_Windows%20Workflow%20Foundation.aspx"&gt;http://www.msdnbrasil.com.br/microsoft.MediaCenter/Default.aspx_x_CATEGORY_x_Windows%20Workflow%20Foundation.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Sem esquecer do material impresso, através de livros para o .NET 3.x (WCF, WF e ASP.NET). &lt;/P&gt;
&lt;P&gt;17. PROJETO: Em relação ao processo de gerenciamento, o time não aplicou o &lt;A href="http://pt.wikipedia.org/wiki/Scrum" rel=nofollow target=_blank mce_href="http://pt.wikipedia.org/wiki/Scrum"&gt;SCRUM&lt;/A&gt; de forma rígida, mas manteve o PRODUCT BACKLOG, assim como o papel do SCRUM MASTER, SPRINTs de 3 a 4 semanas e as SCRUM Meetings diárias. &lt;/P&gt;
&lt;P&gt;18. COMPLEXIDADE: Avalio o projeto como de média para alta complexidade, considerando o potencial de crescimento e escalabilidade prevista. Apesar do aspecto multi-tenant (multi-inquilino), a integração com o legado, o controle de acesso, a integração transacional com serviços Jrava e a necessidade de crescimento de novas funcionalidades foram fatores também críticos. Para os mais rígidos, aplicar a &lt;A href="http://pt.wikipedia.org/wiki/An%C3%A1lise_de_pontos_de_fun%C3%A7%C3%A3o" target=_blank mce_href="http://pt.wikipedia.org/wiki/An%C3%A1lise_de_pontos_de_fun%C3%A7%C3%A3o"&gt;Análise por Pontos de Função&lt;/A&gt; também ajuda.&lt;/P&gt;
&lt;P&gt;19. FRAMEWORKS: Não foi construído um &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/07/15/frameworks-de-desenvolvimento-e-blocos-de-aplica-o.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/07/15/frameworks-de-desenvolvimento-e-blocos-de-aplica-o.aspx"&gt;framework de desenvolvimento&lt;/A&gt; para o projeto. Ao invés, foram construídos bons templates para páginas CRUD e façades de serviços e workflows. Dessa maneira, a equipe conseguiu grande produtividade no desenvolvimento sem o custo adicional de manutenção de um framework doméstico. Fábricas de Software ou DSL’s não foram consideradas pela equipe por enquanto. :)&lt;/P&gt;
&lt;P&gt;20. ALM – Application Lifecycle Management: como parte importante do projeto, foram considerados os vários papeis e processos previstos no &lt;A href="http://en.wikipedia.org/wiki/Application_Lifecycle_Management" rel=nofollow target=_blank mce_href="http://en.wikipedia.org/wiki/Application_Lifecycle_Management"&gt;ALM&lt;/A&gt; aplicado sobre &lt;A href="http://msdn.microsoft.com/en-us/teamsystem/aa718795.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/teamsystem/aa718795.aspx"&gt;MSF for Agile&lt;/A&gt; (MSF for Agile Software Development Process Guidance). O uso de VSTS – Visual Studio Team System como ferramenta de apoio ao processo de desenvolvimento e projeto também foi importante para o sucesso do ALM adotado.&lt;/P&gt;
&lt;P&gt;Assim, fizemos as seguintes considerações para a plataforma .NET: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;capacidade de desacoplamento entre apresentação e serviços (via WCF);&lt;/LI&gt;
&lt;LI&gt;suporte para a construção de serviços com transporte via HTTP, MSMQ e TCP (via WCF);&lt;/LI&gt;
&lt;LI&gt;facilidade na construção de processo por workflows, realizando chamadas coordenadas para serviços (via WF);&lt;/LI&gt;
&lt;LI&gt;integração do desenvolvimento e testes com a ferramenta de desenvolvimento principal, via Visual Studio 2008;&lt;/LI&gt;
&lt;LI&gt;suporte a frameworks de sincronização, caching, xml, coleções, etc, além da possibilidade de se trabalhar com configuração desacoplada para a camada de apresentação e de negócios (via web.config);&lt;/LI&gt;
&lt;LI&gt;disponibilidade de bons exemplos de código na web (via a Enterprise Library 3.1 e 4.1). Mais recentemente, o Hands On Lab da EntLib 4.1 trouxe bons exemplos para alguns cenários não avaliados originalmente;&lt;/LI&gt;
&lt;LI&gt;facilidade de construção de Web Forms via RAD no Visual Studio;&lt;/LI&gt;
&lt;LI&gt;suporte para integração futura com outros cenários de apresentação e canais de relacionamento, como o ambiente Mobile; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Passamos aqui por alguns aspectos de decisão do projeto e algumas justificativas que levaram a adoção da plataforma .NET no cenário acima. &lt;/P&gt;
&lt;P&gt;A partir desse exemplo, podemos montar uma planilha de decisão mais ampla, para a comparação ou avaliação de outras tecnologias, considerando:&lt;/P&gt;
&lt;P&gt;1. redução de custos de desenvolvimento; &lt;BR&gt;2. redução de custos de manutenção; &lt;BR&gt;3. agilidade no processo de desenvolvimento; &lt;BR&gt;4. produtividade e ferramentas de automação no desenvolvimento; &lt;BR&gt;5. facilidade de integração com sistemas legados; &lt;BR&gt;6. interoperabilidade com outras plataformas; &lt;BR&gt;7. segurança; &lt;BR&gt;8. suporte transacional; &lt;BR&gt;9. mobilidade; &lt;BR&gt;10. capacitação da equipe; &lt;BR&gt;11. conectividade com web services e padrão WS-I.org; &lt;BR&gt;12. suporte a padrões W3C; &lt;BR&gt;13. facilidade de depuração e ferramentas; &lt;BR&gt;14. integração e rastreabilidade no ambiente de infra-estrutura; &lt;BR&gt;15. custo total de infra-estrutura necessária, etc. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Para pensar…&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Creio que um dos aspectos importantes na adoção da plataforma .NET no cenário acima foi a decisão pela boa &lt;STRONG&gt;engenharia de software&lt;/STRONG&gt;. O projeto precisava considerar balanceamento de carga, crescimento e escalabilidade ao longo do tempo, integração com o legado e diferentes plataformas, múltiplos bancos, processos via workflows e interfaces de serviços, etc. Era uma solução Web multi-inquilino, com potencial de crescimento no ambiente corporativo, e que sinalizava evolução ao longo do tempo.&lt;/P&gt;
&lt;P&gt;Veja que a equipe não avaliou outros recursos importantes, como Live Services ou Cloud Computing através da plataforma Azure. Considerando valores de pricing da plataforma, assim como o desenvolvimento e depuração integrados sobre o Visual Studio 2008, a nuvem passa a ser uma opção cada vez mais interessante para projetos semelhantes também de baixa e média complexidade. Avalie se sua aplicação SAAS sobre ASP.NET + Banco de Dados não é também aderente ao modelo elástico da nuvem.&lt;/P&gt;
&lt;P&gt;Em cenários menores, a análise acima pode ser exagerada (exemplo, um site simples sobre 1 única máquina consumindo 1 único banco de dados, com equipe reduzida). Mas se sua aplicação tem potencial de crescimento ou aspectos SaaS / Web 2.0 mais corporativos, passa a ser importante considerar os componentes de arquitetura de forma mais completa. A lista abaixo foi retirada do App Arch Guide 2.0:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_thumb_2.png" width=513 height=299 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/DecisesdeprojetoumasoluoWeb_8674/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Veja o que você realmente precisa em sua solução e escolha a melhor tecnologia de forma &lt;STRONG&gt;racional&lt;/STRONG&gt; e com boas memórias de cálculo justificando suas decisões. &lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9852182" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item><item><title>Leitura Recomendada: The Architecture Journal #20 e o papel do arquiteto</title><link>http://blogs.msdn.com/wcamb/archive/2009/07/06/leitura-recomendada-the-architecture-journal-20-e-o-papel-do-arquiteto.aspx</link><pubDate>Mon, 06 Jul 2009 23:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9820564</guid><dc:creator>wcamb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9820564.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9820564</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9820564</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;A edição n.20 do “&lt;STRONG&gt;The Architecture Journal&lt;/STRONG&gt;” em inglês já está disponível, na verdade desde junho :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/LeituraRecomendadaTheArchitectureJournal_F821/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/LeituraRecomendadaTheArchitectureJournal_F821/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px 10px 10px 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="The Architecture Journal" border=0 alt="The Architecture Journal" align=left src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/LeituraRecomendadaTheArchitectureJournal_F821/image_thumb.png" width=134 height=175 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/LeituraRecomendadaTheArchitectureJournal_F821/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;O tema desta edição foi “Arquitetura em Tempos Turbulentos”, bem atual.&lt;/P&gt;
&lt;P&gt;Veja mais aqui: &lt;A title=http://msdn.microsoft.com/en-us/architecture/bb410935.aspx href="http://msdn.microsoft.com/en-us/architecture/bb410935.aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/architecture/bb410935.aspx"&gt;http://msdn.microsoft.com/en-us/architecture/bb410935.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Nesse tema, gostaria de levantar um assunto: minhas últimas conversas com arquitetos e profissionais de TI envolveram diversos aspectos relacionados com a plataforma de aplicações, integração entre serviços .NET e serviços em Java, construção de serviços e cenários SOA/SOI, melhores práticas para WCF e WF, assim como direções para times de arquitetura e desenvolvimento. Porém, sempre que questionei os aspectos de negócio envolvidos na solução ou mesmo sobre o impacto de cada decisão de projeto no negócio da empresa, foram poucas as respostas. :(&lt;/P&gt;
&lt;P&gt;De fato, tenho sentido uma falta constante de envolvimento de muitos arquitetos em relação aos motivadores de TI. Já falei um pouco desses motivadores num post maior, &lt;A href="http://blogs.msdn.com/wcamb/archive/2008/04/25/um-mal-necess-rio-ou-um-elemento-estrat-gico-o-que-voc-espera-de-sua-ti.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2008/04/25/um-mal-necess-rio-ou-um-elemento-estrat-gico-o-que-voc-espera-de-sua-ti.aspx"&gt;aqui&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Quando escolhemos entre Web Forms e MVC, por exemplo, o impacto não está relacionado apenas em aspectos de programação, maior controle sobre o código HTML ou a aplicação de funcionalidades RAD. Existe um impacto de médio e longo prazo em manutenção, composição, testabilidade, operação, etc. que resulta em maiores ou menores oportunidades de negócio para a empresa. Isso é mais forte em algumas indústrias, seja para cenários de ISV’s, pequenas e médias empresas ou corporações.&lt;/P&gt;
&lt;P&gt;Sempre falamos que é responsabilidade do arquiteto estar envolvido com os aspectos de negócio que direcionam cada decisão técnica. Pensar em &lt;STRONG&gt;cenários de negócio&lt;/STRONG&gt; ao invés de &lt;STRONG&gt;features&lt;/STRONG&gt; ou funcionalidades de produto é parte obrigatória dessa visão. Porém, por que não temos observado isso no dia-a-dia de nossas empresas e arquitetos? Atualmente, tem sido mais fácil encontrar arquitetos operacionais do que estratégicos.&lt;/P&gt;
&lt;P&gt;Será que este comportamento é consequência da crise deste primeiro semestre, que atingiu o mercado em diferentes níveis para cada indústria? Ou o papel do arquiteto (de soluções, infra-estrutura e enterprise) no Brasil continua em formação, abrangendo vários sabores de atuação? Falta maior capacitação para a visão de negócio na formação de nossos arquitetos hoje em dia? &lt;/P&gt;
&lt;P&gt;O que vocês acham? &lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9820564" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Leitura+Recomendada/default.aspx">Leitura Recomendada</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Opini_26002300_227_3B00_o/default.aspx">Opini&amp;#227;o</category></item></channel></rss>