<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tucaz.blog.now() &#187; Arquitetura</title>
	<atom:link href="http://blog.tucaz.net/category/desenvolvimento/arquitetura-desenvolvimento/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tucaz.net</link>
	<description>Software architecture, agile and all that stuff that you can find everywhere</description>
	<lastBuildDate>Tue, 11 Jan 2011 21:00:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Lidando melhor com WCF &#8211; Ciclo de vida no cliente</title>
		<link>http://blog.tucaz.net/2010/02/23/lidando-com-wcf-ciclo-de-vida-no-cliente/</link>
		<comments>http://blog.tucaz.net/2010/02/23/lidando-com-wcf-ciclo-de-vida-no-cliente/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 17:02:31 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[channelfactory]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=415</guid>
		<description><![CDATA[Início de uma pequena série a respeito de melhores práticas no uso do WCF em .NET. Neste primeiro post falo a respeito do ChannelFactory<t> e como seu ciclo de vida deve ser gerenciado. </t>]]></description>
			<content:encoded><![CDATA[<p><strong><em>&lt;Importante&gt;</em></strong></p>
<p>Todos sabem que WCF é uma plataforma poderosa e extensível. O que muita gente não sabe é que WCF é para poucos.</p>
<p>WCF é uma plataforma que permite a construção de sistemas distribuidos e sistemas distribuidos raramente são necessários. De maneira simplificada, podemos dizer que um sistema é distribuido quando tem seus componentes instalados em mais de um computador.</p>
<p>O problema da construção de sistemas distribuídos é que devido a não centralização de seus compnentes existe um overhead de comunicação entre os computadores e serialização/deserialização de objetos e isso consome muita memória e banda de rede.</p>
<p>Como gastamos mais recursos do que necessário temos como resultado final um aumento no tempo de resposta e gasto extra de hardware que, as vezes pode ser um problema grave além é claro do aumento da complexidade técnica.</p>
<p>No entanto, não sei por qual motivo, no momento em que lançou o produto, a Microsoft esqueceu de avisar seus &#8220;consumidores&#8221; a respeito destes pequenos detalhes. Talvez porque queria promover o produto?</p>
<p><strong>&lt;/Importante&gt;</strong></p>
<p><strong>&lt;Importante 2&gt;</strong></p>
<p>WCF é uma tecnologia relativamente simples, mas apenas depois que você entende o BeABá da coisa (ou ABC<strong>[1]</strong> no caso do WCF). Até lá, qualquer coisa que fuja do point&amp;click que o Visual Studio nos oferece é relativamente complexo.</p>
<p>Portanto, sugiro que antes de aplicar WCF você procure entender um pouco mais dos fundamentos e do papel de cada objeto que ele utiliza.<strong> </strong><strong> </strong></p>
<p><strong><em>&lt;/Importante 2&gt;</em><br />
</strong></p>
<p>Agora que entendemos que não devemos usar WCF em toda aplicação que construimos (talvez isso seja tópico pra outro post?) vou falar um pouco da experiência que estou tendo com esta tecnologia e das boas práticas e atalhos que conheci.</p>
<p>Pretendo fazer uma pequena série e pra começar vou abordar boas práticas de consumo de serviços WCF, ou em outras palavras, como acessar um serviço WCF a partir de um cliente da maneira mais eficiente possível.</p>
<p>Para que seja possível consumir um serviço WCF é necessário que alguém o tenha publicado e também que tenha disponibilizado o WSDL<strong>[2]</strong> do serviço.</p>
<p>O WSDL nada mais é do que um arquivo XML que descreve quais são os tipos de dados que o serviço irá trafegar e quais operações ele oferece.</p>
<p>Geralmente, assim que temos um WSDL para consumir vamos ao Visual Studio e utilizamos a funcionalidade de <em>Add Service Reference</em> que ele nos oferece para gerar o objeto proxy que irá cuidar pra nós da comunicação com WCF. A partir dai utilizamos este objeto em toda nossa aplicação<em></em>. E este é o nosso maior erro.</p>
<p>Este proxy, gerado pelo Wizard, encapsula todas as classes necessárias para ler o WSDL, criar os tipos necessários e lidar com os canais de comunicação em cada operação que executamos. No entanto, ele o faz da <strong>pior</strong> maneira possível.</p>
<p>Cada vez que invocamos uma operação através deste proxy, ele cria uma instância da classe <a title="ChannelFactory&lt;T&gt; @ Msdn.com" href="http://msdn.microsoft.com/en-us/library/ms576132.aspx" target="_self">ChannelFactory&lt;T&gt;</a>. Esta classe é responsável por ler as configurações definidas em nosso app.config e baseado nestas configurações abrir os canais de comunicação com o serviço que iremos consumir. Este processo é <strong>muito lento</strong>, pois todos os sockets, listeners e objetos necessários da própria infra estrutura do WCF são criados e configurados neste momento.</p>
<p>No entanto, este processo não precisa ser feito a cada chamada para o serviço WCF uma vez que estas informações não mudarão enquanto a aplicação estiver rodando. Então, para otimizar bastante o consumo de serviços devemos ignorar o proxy gerado pelo Wizard e cuidar da criação e destruição de canais nós mesmos mantendo este objeto (ChannelFactory&lt;T&gt;) como <a title="Singleton @ Wikipedia.org" href="http://pt.wikipedia.org/wiki/Singleton" target="_self">Singleton</a> que irá durar pelo tempo de vida da aplicação. Dessa forma toda vez que chamamos uma operação remota não existe a necessidade de executar o setup e tear down desse objeto.</p>
<p>Para facilitar a gerência desses objetos construi uma pequena DLL que é composta apenas de uma classe. O código está disponível no <a title="Communications Manager @ GitHub" href="http://github.com/tucaz/CommunicationsManager" target="_self">github</a> e a <a title="Communications Manager @ GitHub" href="http://github.com/tucaz/CommunicationsManager/downloads" target="_self">DLL compilada está aqui</a>. A <a title="Communications Manager Docs @ GitHub" href="http://wiki.github.com/tucaz/CommunicationsManager/">documentação inicial também está lá</a>. Tudo pronto para ser usado.</p>
<p><strong>Referências adicionais (e importantes)</strong></p>
<ul>
<li><a title="Performance Improvement for WCF Client Proxy Creation in .NET 3.5 and Best Practices @ Wenlong Dong's Blog" href="http://blogs.msdn.com/wenlong/archive/2007/10/27/performance-improvement-of-wcf-client-proxy-creation-and-best-practices.aspx" target="_self">Performance improvement for WCF client proxy creation in .NET 3.5 and best practices @ Wenlong Dong&#8217;s Blog</a></li>
<li><a title="Internals - Proxy de Serviço WCF @ Israel Aece" href="http://www.israelaece.com/post/Internals-Proxy-de-servicos-WCF.aspx" target="_self">Internals &#8211; Proxy de Serviços WCF @ Israel Aece</a></li>
<li><a title="WCF Client Channel Pool - Improved Client Performance @ Glavs Blog" href="http://weblogs.asp.net/pglavich/archive/2007/05/07/wcf-client-channel-pool-improved-client-performance.aspx">WCF Client Channel Pool &#8211; Improved Client Performance @ Glavs Blog</a></li>
<li><a href="http://stackoverflow.com/questions/1825990/wcf-channelfactory-and-channel-caching-in-asp-net-client-application" target="_self">Bate papo que me levou a este componente @ StackOverflow</a></li>
</ul>
<p><strong>[1]</strong> ABC = Address, Bindings e Contracts<br />
<strong>[2]</strong> É possível consumir um serviço WCF sem acesso ao WSDL, mas este é um cenário pouco comum</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2010/02/23/lidando-com-wcf-ciclo-de-vida-no-cliente/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>(Inglês) Basic stuff: handling exceptions in .NET</title>
		<link>http://blog.tucaz.net/2009/07/21/basic-stuff-handling-exceptions-in-net/</link>
		<comments>http://blog.tucaz.net/2009/07/21/basic-stuff-handling-exceptions-in-net/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 18:19:09 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[exception]]></category>
		<category><![CDATA[handling]]></category>
		<category><![CDATA[vb.net]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=336</guid>
		<description><![CDATA[(Inglês) A simple guide on How to build proper exception handling in .NET.]]></description>
			<content:encoded><![CDATA[<p>Desculpe, mas este post só está disponível em <a href="http://blog.tucaz.net/en/category/desenvolvimento/arquitetura-desenvolvimento/feed/">Inglês</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2009/07/21/basic-stuff-handling-exceptions-in-net/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Channel 9 Brasileiro</title>
		<link>http://blog.tucaz.net/2009/02/21/channel-9-brasileiro/</link>
		<comments>http://blog.tucaz.net/2009/02/21/channel-9-brasileiro/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 19:57:18 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[ArqCast]]></category>
		<category><![CDATA[Channel 9]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=248</guid>
		<description><![CDATA[Essa vale repassar. Agora temos a versão brasileira do Channel 9; ponto central para acompanhar vídeos e podcasts em português.  
]]></description>
			<content:encoded><![CDATA[<p>Essa vale repassar. Agora temos a <a title="Channel 9 BRasil" href="http://channel9.msdn.com/brasil/" target="_self">versão brasileira do Channel 9;</a> ponto central para acompanhar vídeos e podcasts em português. <img src='http://blog.tucaz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2009/02/21/channel-9-brasileiro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Scrum &#8211; Projeto Open Source</title>
		<link>http://blog.tucaz.net/2008/12/28/net-scrum-projeto-open-source/</link>
		<comments>http://blog.tucaz.net/2008/12/28/net-scrum-projeto-open-source/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 20:16:31 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[.NET Scrum]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[OO]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Codeplex]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Fluent Interfaces]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Spring.NET]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=195</guid>
		<description><![CDATA[Projeto .NET open source para gerenciamente de projetos utilizando Scrum como disciplina. Boas práticas de engenharia e conducação de projetos utilizando frameworks e práticas de mercado.]]></description>
			<content:encoded><![CDATA[<p>Há poucas semanas, batendo papo com o pessoal do <a title="DotNetArchitects - Arquitetura em .NET" href="http://www.dotnetarchitects.net/" target="_self">DotNetArchitects</a>, surgiu a idéia de utilizarmos uma ferramenta de gerenciamento de projetos Scrum pra cuidar dos das nossas atividades dentro do grupo.</p>
<p>Fui pesquisar, mas não encontrei nenhuma ferramenta gratuita web que pudessemos usar. Foi ai que surgiu o <a title=".NET Scrum - Ferramenta open source de gerenciamento de projetos Scrum" href="https://www.codeplex.com/netscrum" target="_self"><strong>.NET Scrum</strong></a>. A idéia não é construir nada pra competir com o que existe por ai, mas utilizar da idéia pra ter um laboratório e construir um projeto onde possamos aplicar o que há de mais novo em tecnologia além de boas práticas de engenharia e condução de projetos.</p>
<p>Portanto, quem der uma olhada no projeto e quiser contribuir ou apenas acompanhar vai encontrar um ASP.NET MVC, jQuery, NHibernate usando interfaces fluentes, DDD, TDD, Spring.NET e outros frameworks e design patterns importantes para a construção de uma boa solução em .NET.</p>
<p>Se deixarmos de lado a parte tecnológica também é possível aprender um bocado trabalhando na organização de um projeto open source. Projetos de código aberto e mantidos pela comunidade são o maior caso de sucesso de times distribuidos trabalhando juntos a fim de atingir um objetivo. Se já é difícil obter sucesso em um projeto com o time no mesmo lugar, imagine trabalhar com pessoas que você nunca viu na vida e com comunicação relativamente limitada? Um grande desafio!</p>
<p>O <a title="Mauricio Aniche - Blog" href="http://aniche.com.br/blog/" target="_self">Maurício Aniche</a> que participa do DotNetArchitects já se juntou ao projeto pra me ajudar. Já existem alguns códigos publicados no codeplex e uma documentação miníma também. Quem quiser ajudar é mais do que bem vindo! <img src='http://blog.tucaz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2008/12/28/net-scrum-projeto-open-source/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Terceira reunião sobre arquitetura DotNetArchitects</title>
		<link>http://blog.tucaz.net/2008/12/11/terceira-reuniao-sobre-arquitetura-dotnetarchitects/</link>
		<comments>http://blog.tucaz.net/2008/12/11/terceira-reuniao-sobre-arquitetura-dotnetarchitects/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 22:57:43 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[DotNetArchitects]]></category>
		<category><![CDATA[Domain Driven Design]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=180</guid>
		<description><![CDATA[Terceira reunião do grupo de discussão a respeito de arquitetura de software DotNetArchitects.]]></description>
			<content:encoded><![CDATA[<p>No próximo sábado (13/12/2008) , nosso grupo de arquitetura de software fará sua <a title="DotNetArchitects - Terceira reunião marcada" href="http://dotnetarchitects.net/dotnetarchitects/post/Terceira-reuniao-e-neste-sabado.aspx" target="_blank">terceira reunião</a> (nossa! como passou rápido&#8230;).</p>
<p>O local será o mesmo das outras vezes, na UNIP Jaguaré. Nesta semana o <a title="Giovanni Bassi" href="http://unplugged.giggio.net/unplugged/post/Net-Architects-Terceira-reuniao-do-grupo-e-neste-sabado.aspx" target="_blank">Giovanni</a> irá falar um pouco a respeito de Domain Driven Design.</p>
<p>A participação é aberta e muito bem vinda. Quem ainda não mandou seus dados pode fazer pelo blog do Giovanni ou pelo grupo do Google onde também está disponível a <a title="Pauta para terceira reunião DotNetArchitects" href="http://groups.google.com/group/dotnetarchitects/t/86ff07c740bfc361?hl=pt-br" target="_blank">pauta</a> para próxima reunião.</p>
<p>Na última reunião falei sobre Scrum e o<a title="Apresentação sobre Scrum" href="http://blog.tucaz.net/2008/11/27/video-da-segunda-reuniao-dotnetarchitects-com-miinha-apresentacao-online/" target="_blank"> vídeo da apresentação está disponível aqui no blog</a> e no site do grupo.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2008/12/11/terceira-reuniao-sobre-arquitetura-dotnetarchitects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DotNetArchitects &#8211; Próximo Encontro</title>
		<link>http://blog.tucaz.net/2008/11/18/dotnetarchitects-proximo-encontro/</link>
		<comments>http://blog.tucaz.net/2008/11/18/dotnetarchitects-proximo-encontro/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 23:14:15 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[DotNetArchitects]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=143</guid>
		<description><![CDATA[Para quem acompanha meu blog e ainda não sabe do que se trata nosso grupo pode ver informações a respeito dele aqui, aqui e aqui. Nossa&#8230;quanto aqui!
Para quem já sabe o que é mais não se juntou ainda ou não acompanha, faço um convite a conhecer através do nosso  não-muito-joia-ainda site e se juntar [...]]]></description>
			<content:encoded><![CDATA[<p>Para quem acompanha meu blog e ainda não sabe do que se trata nosso grupo pode ver informações a respeito dele <a href="http://blog.tucaz.net/2008/10/21/grupo-de-estudos-sobre-arquitetura/" target="_self">aqui</a>, <a href="http://blog.tucaz.net/2008/10/28/primeira-reuniao-do-grupo-de-arquitetura/" target="_self">aqui</a> e <a href="http://dotnetarchitects.net/" target="_blank">aqui</a>. Nossa&#8230;quanto aqui!</p>
<p>Para quem já sabe o que é mais não se juntou ainda ou não acompanha, faço um convite a conhecer através do nosso  <span style="text-decoration: line-through;">não-muito-joia-ainda</span> <a href="http://dotnetarchitects.net/" target="_blank">site</a> e se juntar também ao <a href="http://groups.google.com/group/dotnetarchitects?hl=pt-br" target="_blank">nosso grupo</a> do Google onde algumas discussões bem legais já foram iniciadas.</p>
<p>Desde a primeira reunião do grupo combinamos que em todas as nossas reuniões alguém iria fazer uma apresentação para que posteriormente o grupo discutisse o assunto e a primeira apresentação sou eu quem vai fazer. A idéia não é dar uma aula ou falar como &#8220;o expert&#8221; do assunto, mas tentar passar experiências interessantes para todos.</p>
<p>Esta primeira apresentação vai ser a respeito de Scrum e como estamos utilizamos dentro da <a href="http://www.stefanini.com.br" target="_blank">nossa equipe</a>.</p>
<p>Na sequência da apresentação eu disponibilizo os slides aqui para quem não pôde ir. É possível que consigamos gravar a reunião. Se der certo, disponibilizo também por aqui.</p>
<p>Junte-se a nós! <img src='http://blog.tucaz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2008/11/18/dotnetarchitects-proximo-encontro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primeira reunião do Grupo de Arquitetura</title>
		<link>http://blog.tucaz.net/2008/10/28/primeira-reuniao-do-grupo-de-arquitetura/</link>
		<comments>http://blog.tucaz.net/2008/10/28/primeira-reuniao-do-grupo-de-arquitetura/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 12:12:51 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Grupo de Estudos]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=123</guid>
		<description><![CDATA[Bão, sábado foi a primeira reunião do grupo de arquitetura que eu já havia postado a respeito.
Como o Giovanni já blogou sobre o que rolou na reunião não vale repetir tudo aqui, mas sim linkar para o post dele.
A reunião foi excelente, muito divertida e de um ótimo nível. Felizmente conseguimos reunir um grupo que [...]]]></description>
			<content:encoded><![CDATA[<p>Bão, sábado foi a primeira reunião do grupo de arquitetura que eu <a href="http://blog.tucaz.net/2008/10/21/grupo-de-estudos-sobre-arquitetura/" target="_blank">já havia postado a respeito</a>.</p>
<p>Como o Giovanni já blogou sobre o que rolou na reunião não vale repetir tudo aqui, mas sim <a href="http://unplugged.giggio.net/unplugged/post/Resultado-da-primeira-reuniao-do-grupo-de-arquitetura.aspx" target="_blank">linkar para o post dele</a>.</p>
<p>A reunião foi excelente, muito divertida e de um ótimo nível. Felizmente conseguimos reunir um grupo que não chegava em acordos sempre e isso é fundamental para crescermos.</p>
<p>Os interessados em entrar no grupo podem me mandar email, comentar aqui ou então postar no próprio blog do Giovanni. &#8220;Você decide&#8221;. <img src='http://blog.tucaz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2008/10/28/primeira-reuniao-do-grupo-de-arquitetura/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grupo de estudos sobre Arquitetura &#8211; 1ª Reunião</title>
		<link>http://blog.tucaz.net/2008/10/21/grupo-de-estudos-sobre-arquitetura/</link>
		<comments>http://blog.tucaz.net/2008/10/21/grupo-de-estudos-sobre-arquitetura/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 13:52:02 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[Grupo de Estudos]]></category>
		<category><![CDATA[Usergroup]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=110</guid>
		<description><![CDATA[Há alguns dias atrás o Giovanni Bassi trouxe a idéia pra comunidade de criar um grupo com o objetivo de discutir arquitetura de software nos moldes dos grupos ALT.NET e a idéia me interessou muito.
Enfim, a primeira reunião é sabado agora na UNIP da Marginal Pinheiros. Quem tiver interesse será muito bem vindo.
Os detalhes podem [...]]]></description>
			<content:encoded><![CDATA[<p>Há alguns dias atrás o Giovanni Bassi trouxe a idéia pra comunidade de criar um grupo com o objetivo de discutir arquitetura de software nos moldes dos grupos <a href="http://altdotnet.org/" target="_blank">ALT.NET</a> e a idéia me interessou muito.</p>
<p>Enfim, a primeira reunião é sabado agora na UNIP da Marginal Pinheiros. Quem tiver interesse será muito bem vindo.</p>
<p>Os detalhes podem ser encontrados <a href="http://feeds.feedburner.com/~r/DotNetUnplugged/~3/426006693/post.aspx" target="_blank">aqui no blog do Giovanni</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2008/10/21/grupo-de-estudos-sobre-arquitetura/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Novo Microsoft Architecture Guide lançado</title>
		<link>http://blog.tucaz.net/2008/09/24/novo-microsoft-architecture-guide-lancado/</link>
		<comments>http://blog.tucaz.net/2008/09/24/novo-microsoft-architecture-guide-lancado/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 13:49:12 +0000</pubDate>
		<dc:creator>tucaz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Arquitetura]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Architecture Guide]]></category>
		<category><![CDATA[Arquitetura de Referência]]></category>

		<guid isPermaLink="false">http://blog.tucaz.net/?p=87</guid>
		<description><![CDATA[Lá atrás, em 2002, a Microsoft lançou a primeira versão da sua arquitetura de referência para os cenários mais comuns de aplicações corporativas.
Esse é um documento, que apesar de antigo, é bastante interessante e ainda atual na maioria dos aspectos. Eu descobri esse documento cerca de uns 1 ano e meio atrás quando procurava melhores [...]]]></description>
			<content:encoded><![CDATA[<p>Lá atrás, em 2002, a Microsoft lançou a <a href="http://msdn.microsoft.com/en-us/library/ms978348.aspx" target="_blank">primeira versão</a> da sua arquitetura de referência para os cenários mais comuns de aplicações corporativas.</p>
<p>Esse é um documento, que apesar de antigo, é bastante interessante e ainda atual na maioria dos aspectos. Eu descobri esse documento cerca de uns 1 ano e meio atrás quando procurava melhores práticas para aplicar no primeiro sistema pelo qual eu seria responsável.</p>
<p>Sempre achei uma pena o fato de eles não manterem esse documento atualizado. Talvez isso acontecesse, pois é sempre complicado falar a respeito de arquiteturas de referência já que cada caso é um caso.</p>
<p>No entanto, pra nossa felicidade, eles lançaram uma nova versão esse mês e está disponível através <a href="http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Guidelines&amp;referringTitle=Home" target="_blank">deste link</a> no Codeplex.</p>
<p>O documento apresenta quais decisões tomar e porque toma-las em uma série de cenários. Desde aplicações desktop até aplicações web com SOA e RIA.</p>
<p>Ainda não tive tempo de ir a fundo no documento, mas parece estar bastante atualizado.</p>
<p>Há algum tempo atrás, eu procurava saber porque raios alguém construiria uma aplicação utilizando WCF/Remoting/Web Services se essa aplicação não teria seus componentes de negócio reutilizados. Nunca entendi isso e achava um absurdo a Microsoft não disponibilizar nenhum &#8220;guia&#8221; (eu nunca achei, pelo menos) que dissesse quando devo distribuir as camadas de uma aplicação fisicamente e quando não. Infelizmente algumas coisas nós acabamos aprendendo só depois de aplicar e apanhar um pouco.</p>
<p>Nesse documento, pelo menos <a href="http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Web%20Application%20Archetype&amp;referringTitle=Application%20Types" target="_self">este ponto a Microsoft esclareceu</a> e isso já é suficiente pra me deixar bastante feliz.</p>
<p>Esse documento não vai evitar que nós, desenvolvedores, cometamos erros, mas acredito que é muito importante os fornecedores de plataformas e tecnologias grandes como .NET se pronunciarem e fornecerem guias, mesmo que simples e com uma visão bem macro, para que as pessoas não fiquem perdidas e cometam erros demais em seus sistemas.</p>
<p>Ponto pra Microsoft.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tucaz.net/2008/09/24/novo-microsoft-architecture-guide-lancado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

