<?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>ADSystems - Agile Development Blog &#187; .NET</title>
	<atom:link href="http://blog.adsystems.com.br/category/dotnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.adsystems.com.br</link>
	<description>agilidade, scrum, tecnologia, costumes, humor, vídeos, cinema, música...</description>
	<lastBuildDate>Thu, 15 Dec 2011 12:15:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>A saga .NET x Java em um drama familiar&#8230;</title>
		<link>http://blog.adsystems.com.br/2010/08/13/a-saga-net-x-java-em-um-drama-familiar/</link>
		<comments>http://blog.adsystems.com.br/2010/08/13/a-saga-net-x-java-em-um-drama-familiar/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 17:39:51 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1930</guid>
		<description><![CDATA[WPvideo 1.10 Download!]]></description>
			<content:encoded><![CDATA[<div class="wpv_videoc">
<div class="wpv_self"><a href="http://www.skarcha.com/wp-plugins/wpvideo/">WPvideo 1.10</a></div>
<div class="wpv_video"><object data="http://www.youtube.com/v/d9JIiCkDyMQ" type="application/x-shockwave-flash" width="100%" height="100%"><param name="movie" value="http://www.youtube.com/v/d9JIiCkDyMQ"></param></object></div>
<div class="wpv_titleauthor"></div>
<div class="wpv_download"><a target="_blank" href="http://downthisvideo.com/?url=http://www.youtube.com/watch?v=d9JIiCkDyMQ">Download!</a></div>
</div>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1930" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2010/08/13/a-saga-net-x-java-em-um-drama-familiar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lidando com Vazamentos de Memória no .NET</title>
		<link>http://blog.adsystems.com.br/2009/11/15/lidando-com-vazamentos-de-memoria-no-net/</link>
		<comments>http://blog.adsystems.com.br/2009/11/15/lidando-com-vazamentos-de-memoria-no-net/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 12:32:50 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1745</guid>
		<description><![CDATA[Postado por Abel Avram para o InfoQ, traduzido por Yan Borowski em 12 Nov 2009 09:43 AM Fabrice Marguerie, um arquiteto de software e consultor, escreveu o artigo Como detectar e evitar vazamentos de mem&#243;ria e recursos de aplica&#231;&#245;es. NET, publicado no MSDN. O artigo &#160; explica como vazamentos de mem&#243;ria e recursos podem acontecer [...]]]></description>
			<content:encoded><![CDATA[<p>Postado por <strong>Abel Avram</strong> para o InfoQ, traduzido por <strong>Yan Borowski</strong> em 12 Nov 2009 09:43 AM </p>
<p><a target="_blank" href="http://proagora.com/en/experts/profiles/fabrice.marguerie">Fabrice  Marguerie</a>,  um arquiteto de software e consultor, escreveu o artigo <a target="_blank" href="http://msdn.microsoft.com/en-us/library/ee658248%28lightweight%29.aspx">Como detectar e evitar vazamentos de mem&oacute;ria e recursos de aplica&ccedil;&otilde;es. NET</a>, publicado no MSDN. O artigo &nbsp; explica como vazamentos de mem&oacute;ria e recursos podem acontecer durante a programa&ccedil;&atilde;o para. NET e como evit&aacute;-los.</p>
<p>Linguagens como C #, fazendo a limpeza da casa atrav&eacute;s de um coletor de lixo de mem&oacute;ria, n&atilde;o tem vazamentos de mem&oacute;ria em seu sentido original quando perde um programa de acesso completo a um local de mem&oacute;ria. Segundo Fabrice, vazamentos de mem&oacute;ria ocorrem quando uma localiza&ccedil;&atilde;o de mem&oacute;ria j&aacute; n&atilde;o &eacute; necess&aacute;ria, mas o programa continua a manter pelo menos uma refer&ecirc;ncia a ele. O coletor de lixo iria reclamar que a mem&oacute;ria se era inacess&iacute;vel, mas a mem&oacute;ria se torna um vazamento, desde que ela &eacute; referenciada pelo programa e n&atilde;o &eacute; mais utilizada.</p>
<p>Fabrice tamb&eacute;m enumera uma s&eacute;rie de recursos de sistema operacional que podem ser sujeitos a vazamentos similares:</p>
<blockquote>
<ul>
<li>O sistema utiliza <strong>objetos do usu&aacute;rio</strong> para suportar o controle da janela. Eles incluem: aceleradores de tabela, Carets, Cursores, Hooks, &iacute;cones, menus e janelas.</li>
<li>Suporte a <strong>Objetos GDI </strong>gr&aacute;ficos: Bitmaps, Brushes, Contextos de dispositivo (DC), Fontes, DCs de mem&oacute;ria, Metafiles, paletas, canetas, Regi&otilde;es, etc</li>
<li><strong>Objetos do Kernel </strong>de apoio para gerenciamento de mem&oacute;ria , execu&ccedil;&atilde;o do processo e inter-processo de comunica&ccedil;&atilde;o (IPC): arquivos, processos, threads, sem&aacute;foros, temporizadores, tokens de acesso, Sockets, etc</li>
</ul>
</blockquote>
<p>Estes recursos s&atilde;o limitados, as chaves do Registro GDIProcessHandleQuota e USERProcessHandleQuota contendo o n&uacute;mero m&aacute;ximo de objetos de usu&aacute;rio e GDI que um processo pode usar. Os valores padr&atilde;o s&atilde;o 10.000 para estas al&ccedil;as. Embora este n&uacute;mero seja suficiente para a maioria das aplica&ccedil;&otilde;es, a utiliza&ccedil;&atilde;o de muitas delas far&aacute; com que o sistema atinja outro limite de 65.536 al&ccedil;as para uma sess&atilde;o do Windows. Fabrice <a target="_blank" href="http://weblogs.asp.net/fmarguerie/archive/2009/08/07/cannot-create-window-handle-desktop-heap.aspx">relatou</a> que bateu este limite muito mais cedo, em cerca de 11.000.Sua conclus&atilde;o &eacute; que os recursos de sistemas devem ser cuidadosamente utilizados e liberados quando n&atilde;o mais necess&aacute;rios.</p>
<p>Fabrice enumera as seguintes causas de vazamentos, explicando como funciona cada um deles:</p>
<ul>
<li>Usando refer&ecirc;ncias est&aacute;ticas</li>
<li>Evento com a falta de cancelamento &#8211; essa &eacute; considerada, pelo autor, como a fonte mais comum de vazamentos</li>
<li>Evento est&aacute;tico com a falta de cancelamento da refer&ecirc;ncia</li>
<li>N&atilde;o chamar o m&eacute;todo Dispose</li>
<li>Usando um m&eacute;todo Dispose incompleto</li>
<li>A utiliza&ccedil;&atilde;o indevida BindingSource com Windows Forms</li>
<li>N&atilde;o usar a chamada Remove no WorkItem/CAB</li>
</ul>
<p>O autor continua o artigo, oferecendo aconselhamento sobre como evitar vazamentos:</p>
<ul>
<li>O criador ou propriet&aacute;rio de um objeto, e n&atilde;o o seu utilizador, &eacute; respons&aacute;vel pelo escoamento</li>
<li>Sempre remova a refer&ecirc;ncia de um Event Listener quando a mesma n&atilde;o &eacute; mais necess&aacute;ria, isso poderia ser feito com o Dispose() para a seguran&ccedil;a</li>
<li>Quando um objeto n&atilde;o gera mais eventos, todos os seus Listeners devem ser removidos atrav&eacute;s da atribui&ccedil;&atilde;o de &quot;null&quot; para o objeto</li>
<li>Quando uma refer&ecirc;ncia &eacute; usada por um Model e pela sua View, &eacute; recomendado passar &nbsp; um clone &nbsp; do objeto referenciado &nbsp; para a View, &nbsp; evitaando assim que se perca quem est&aacute; usando o que</li>
<li>Chamadas aos recursos do sistema devem ser colocadas em blocos com &quot;using&quot; que for&ccedil;am automaticamente uma chamada Dispose, ao sair do bloco</li>
</ul>
<p>Fabrice conclui pela introdu&ccedil;&atilde;o de uma s&eacute;rie de ferramentas &uacute;teis para lidar com objetos e vazamentos: <a target="_blank" href="http://download.microsoft.com/download/c/0/b/c0b7c8fa-58f1-4815-aae7-ed18a4dc3f08/GDILeaks.exe">GDILeaks</a> (EXE), <a target="_blank" href="http://sharptoolbox.com/tools/dottrace">dotTrace</a>, <a target="_blank" href="http://sharptoolbox.com/tools/net-memory-profiler">.NET Memory  Profiler</a>,&nbsp;<a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb190764.aspx">SOS.dll</a>, <a target="_blank" href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx">WinDbg</a>.</p>
<p>Fonte: <a target="_blank" href="http://www.infoq.com/br/news/2009/11/Memory-Leaks-.NET">InfoQ</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1745" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/11/15/lidando-com-vazamentos-de-memoria-no-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Providers Oracle para o ADO.NET Entity Framework</title>
		<link>http://blog.adsystems.com.br/2009/09/05/providers-oracle-para-o-ado-net-entity-framework/</link>
		<comments>http://blog.adsystems.com.br/2009/09/05/providers-oracle-para-o-ado-net-entity-framework/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 21:43:33 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1575</guid>
		<description><![CDATA[Postado por Jonathan Allen, traduzido por Carlos Mendonça em 04 Set 2009 08:37 AM A visão da Microsoft do .NET é abrangente. Além do desejo de suportar todas as linguagens de programação, seja diretamente, seja através de camadas de interoperabilidade, ela também quer juntar todos os frameworks de comunicação e engines de armazenamento de dados. [...]]]></description>
			<content:encoded><![CDATA[<p>Postado por <strong>Jonathan Allen</strong>, traduzido por <strong>Carlos Mendonça</strong> em 04 Set 2009 08:37 AM</p>
<p>A visão da Microsoft do .NET é abrangente. Além do desejo de suportar todas as linguagens de programação, seja diretamente, seja através de camadas de interoperabilidade, ela também quer juntar todos os frameworks de comunicação e engines de armazenamento de dados. Mas se por um lado o WCF está saindo na frente ao padronizar as APIs de comunicação, o framework universal de acesso a dados, o Entity Framework, está atrasado.</p>
<p>Um dos maiores problemas, até agora, é que o ADO.NET Entity Framework não veio de fábrica com suporte para os maiores bancos de dados não-Microsoft, como o Oracle. Isso trouxe a oportunidade para desenvolvedores terceiros preencherem a lacuna.</p>
<p>Um destes distribuidores é a <a target="_blank" href="http://www.datadirect.com/products/net/entity-framework/index.ssp">Data Direct</a>. Para muitos usuários seu maior benefício é o de ser 100% feito em código gerenciado. Normalmente isso não representa grande coisa, mas neste caso quer dizer que você pode evitar totalmente um cliente Oracle nativo.</p>
<p>Outro distribuidor é a <a target="_blank" href="http://www.devart.com/dotconnect/oracle/">Devart</a>. A oferta da Devart já está disponível para a comunidade há mais tempo que a da Data Direct e oferece uma lista de funcionalidade comparável. E, sem nenhuma surpresa, o fato de não precisar de um cliente Oracle nativo também é número 1 na sua lista de funcionalidades.</p>
<p>A Oracle, em si, está estranhamente quieta nesta área. Embora ela ofereça o <a target="_blank" href="http://www.oracle.com/technology/tech/windows/odpnet/index.html">ODP.NET</a>, ele está limitado aos design patterns padrões do ADO.NET.</p>
<p>Fonte: <a target="_blank" href="http://www.infoq.com/br/news/2009/09/EF-Oracle">InfoQ</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1575" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/09/05/providers-oracle-para-o-ado-net-entity-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Material Gratuito para Desenvolvedores Microsoft</title>
		<link>http://blog.adsystems.com.br/2009/08/16/material-gratuito-para-desenvolvedores-microsoft/</link>
		<comments>http://blog.adsystems.com.br/2009/08/16/material-gratuito-para-desenvolvedores-microsoft/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 16:54:28 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1509</guid>
		<description><![CDATA[O Blog &#8220;Ravings of a Developer TS&#8221; disponibilizou uma série de links de materiais gratuitos, referentes a tecnologias Microsoft para desenvolvedores. Vale a pena conferir em: http://blogs.msdn.com/angelab/archive/2009/07/29/hey-microsoft-coders-free-stuff-training-books-magazines-to-sharpen-your-skills.aspx Fonte: Twitter Andre Dias]]></description>
			<content:encoded><![CDATA[<p>O Blog &#8220;<a target="_blank" href="http://blogs.msdn.com/angelab/default.aspx">Ravings of a Developer TS</a>&#8221; disponibilizou uma série de links de materiais gratuitos, referentes a tecnologias Microsoft para desenvolvedores.</p>
<p>Vale a pena conferir em: <a target="_blank" href="http://blogs.msdn.com/angelab/archive/2009/07/29/hey-microsoft-coders-free-stuff-training-books-magazines-to-sharpen-your-skills.aspx">http://blogs.msdn.com/angelab/archive/2009/07/29/hey-microsoft-coders-free-stuff-training-books-magazines-to-sharpen-your-skills.aspx</a></p>
<p>Fonte: <a target="_blank" href="http://twitter.com/andrediasbr/status/3346201758">Twitter Andre Dias</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1509" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/08/16/material-gratuito-para-desenvolvedores-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodePaste.NET, um site de intercâmbio de Code Snippets</title>
		<link>http://blog.adsystems.com.br/2009/08/11/codepaste-net-um-site-de-intercambio-de-code-snippets/</link>
		<comments>http://blog.adsystems.com.br/2009/08/11/codepaste-net-um-site-de-intercambio-de-code-snippets/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 23:34:20 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1492</guid>
		<description><![CDATA[Postado por Abel Avram, traduzido por Victor Franzonatto em 11 Ago 2009 03:15 PM Rick Strahl criou CodePaste.NET, um site que permite compartilhar .NET Code Snippets (trechos/fragmentos de código .Net) entre usuários de redes sociais e IM. É difícil inserir código em páginas de redes sociais e janelas IM porque o código de formatação normalmente [...]]]></description>
			<content:encoded><![CDATA[<p>Postado por <strong>Abel Avram</strong>, traduzido por <strong>Victor Franzonatto</strong> em 11 Ago 2009 03:15 PM</p>
<p>Rick Strahl criou <a target="_blank" href="http://codepaste.net/">CodePaste.NET</a>, um site que permite compartilhar .NET Code Snippets (trechos/fragmentos de código .Net) entre usuários de redes sociais e IM.</p>
<p>É difícil inserir código em páginas de redes sociais e janelas IM porque o código de formatação normalmente se perde, ou o número de caracteres é limitado, entre outras razões similares. CodePaste.NET permite qualquer um colar Code Snippets em uma caixa de texto e, em seguida, clicar em um botão Colar. O trecho (snippet) recebe uma URL que pode ser copiada a partir da barra de endereços do navegador e distribuída. Qualquer pessoa pode visualizar o snippet, e os usuários cadastrados podem comentar e editá-lo. Desta forma, trechos de código podem ser enviados até mesmo ao longo do Twitter.</p>
<p>O site oferece sintaxe highlighting para as seguintes linguagens: C#, VB.NET, JavaScript, HTML, ASP.NET, JavaScript, XML, CSS, SQL, T-SQL, e FoxPro. Numeração da linha de código pode ser habilitada, e o código pode ser copiado para a área de transferência com um clique.</p>
<p>Os snippets podem ser recuperados como JSON, XML usando “?format=json” (ou xml) após a URL, ex: <a target="_blank" href="http://codepaste.net/pouviy?format=xml">http://codepaste.net/pouviy?format=xml</a>. Também possui suporte a RSS e ATOM para fornecer listas.</p>
<p>Todo o <a target="_blank" href="http://www.west-wind.com:8080/svn/codepaste/trunk/">código fonte do site</a> está disponível para revisão.</p>
<p>Pastie, um site semelhante, oferece o mesmo serviço mas de uma escolha muito maior de línguagens, incluindo Java, Ruby, C + +, Python, Perl, PHP, Pascal, YAML, entre outros.</p>
<p>Fonte: <a target="_blank" href="http://www.infoq.com/br/news/2009/08/CodePaste.NET">InfoQ</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1492" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/08/11/codepaste-net-um-site-de-intercambio-de-code-snippets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discussão interessante sobre ASP.Net MVC e C# ou Ruby e Rails?</title>
		<link>http://blog.adsystems.com.br/2009/07/23/discussao-interessante-sobre-asp-net-mvc-e-c-ou-ruby-e-rails/</link>
		<comments>http://blog.adsystems.com.br/2009/07/23/discussao-interessante-sobre-asp-net-mvc-e-c-ou-ruby-e-rails/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:35:36 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1426</guid>
		<description><![CDATA[Uma discussão interessante no grupo de discussão DotNetArchitects, sobre vantagens e desvantagens do uso de ASP.Net MVC e C# ou Ruby e Rails, no link: http://groups.google.com/group/dotnetarchitects/browse_thread/thread/39ce51f8fd30a955?hl=pt&#038;pli=1 Fonte: Twitter Giovanni Bassi]]></description>
			<content:encoded><![CDATA[<p>Uma discussão interessante no grupo de discussão DotNetArchitects, sobre vantagens e desvantagens do uso de ASP.Net MVC e C# ou Ruby e Rails, no link: <a target="_blank" href="http://groups.google.com/group/dotnetarchitects/browse_thread/thread/39ce51f8fd30a955?hl=pt&#038;pli=1">http://groups.google.com/group/dotnetarchitects/browse_thread/thread/39ce51f8fd30a955?hl=pt&#038;pli=1</a></p>
<p>Fonte: <a target="_blank" href="http://twitter.com/giovannibassi/status/2792543898">Twitter Giovanni Bassi</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1426" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/07/23/discussao-interessante-sobre-asp-net-mvc-e-c-ou-ruby-e-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>As diferenças entre um arquiteto de software e um projetista Java EE/.NET</title>
		<link>http://blog.adsystems.com.br/2009/07/16/as-diferencas-entre-um-arquiteto-de-software-e-um-projetista-java-ee-net/</link>
		<comments>http://blog.adsystems.com.br/2009/07/16/as-diferencas-entre-um-arquiteto-de-software-e-um-projetista-java-ee-net/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 01:46:27 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1392</guid>
		<description><![CDATA[Muitas vezes um arquiteto é confundido com um desenvolvedor sênior ou projetista especialista. Um arquiteto, entretanto, não é um projetista especialista de uma tecnologia. O arquiteto de software é apenas outro papel, com outras atribuições e outras funçoes, conforme podemos observar dentro das escolas de renome de arquitetura de software no mundo, como por exemplo [...]]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes um arquiteto é confundido com um desenvolvedor sênior ou projetista especialista.  Um arquiteto, entretanto, não é um projetista especialista de uma tecnologia. O arquiteto de software é apenas outro papel, com outras atribuições e outras funçoes, conforme podemos observar dentro das escolas de renome de arquitetura de software no mundo, como por exemplo o <a target="_blank" href="http://www.sei.cmu.edu/architecture/">SEI SAT</a> .</p>
<p>Um arquiteto é um papel generalista. Um projetista é um especialista para um determinado domínio (ex: Java EE ou .NET). A figura abaixo, adaptada do trabalho de <a target="_blank" href="http://www.gaudisite.nl/SARCH.html">Gerrit Muller</a>, explora esta dicotomia.</p>
<p><img src="http://www.adsystems.com.br/imagens/blog/ArquitetosVersusProjetistas.jpg" alt="" /><br />
<center><em>Arquitetos (em vermelho) versus projetistas Java/.NET (em azul)</em></center><br />
</br></br><br />
Resumimos abaixo as principais diferenças abaixo entre estes papéis, que muitas vezes são confundidos sob a mesma alcunha do “arquiteto” dentro do mercado Brasileiro.</p>
<p><img src="http://www.adsystems.com.br/imagens/blog/ArquitetosVersusProjetistas2.jpg" alt="" /></p>
<p>Fonte: <a target="_blank" href="http://blog.arkhi.com.br/2009/07/16/as-diferencas-entre-um-arquiteto-de-software-e-um-projetista-java-ee-net/">Arkhi</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1392" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/07/16/as-diferencas-entre-um-arquiteto-de-software-e-um-projetista-java-ee-net/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>23 Projetos .NET Open Source</title>
		<link>http://blog.adsystems.com.br/2009/07/14/23-projetos-net-open-source/</link>
		<comments>http://blog.adsystems.com.br/2009/07/14/23-projetos-net-open-source/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 09:51:33 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1381</guid>
		<description><![CDATA[Postado por Abel Avram, traduzido por Rony Barbosa em 13 Jul 2009 12:21 PM Eric Nelson, um Desenvolvedor Evangelista da Microsoft e editor t&#233;cnico da MSDN UK Flash, reuniu uma lista de 23 projetos abertos .NET, a maioria baseado em recomenda&#231;&#245;es enviadas dos desenvolvedores Ingleses. Outros grandes projetos n&#227;o foram inseridos na lista, enquanto contribui&#231;&#245;es [...]]]></description>
			<content:encoded><![CDATA[<p>Postado por <strong>Abel Avram</strong>, traduzido por <strong>Rony Barbosa</strong> em 13 Jul 2009 12:21 PM </p>
<p>Eric Nelson, um Desenvolvedor Evangelista da  Microsoft e editor t&eacute;cnico da <a target="_blank" href="http://msdn.microsoft.com/en-us/aa570311.aspx"> MSDN UK Flash</a>, reuniu uma lista de <a target="_blank" href="http://geekswithblogs.net/iupdateable/archive/2009/06/19/open-source-framework-and-library-recommendations.aspx">23 projetos abertos .NET</a>, a maioria baseado em recomenda&ccedil;&otilde;es enviadas dos desenvolvedores Ingleses. Outros grandes projetos n&atilde;o foram inseridos na lista, enquanto contribui&ccedil;&otilde;es da Microsoft incluem: ASP.NET MVC, DLR,  IronRuby, IronPython, MEF.</p>
<p>Eric tentou  incorporar apenas um framework de testes, um framework de mocking, etc. Embora existam mais de um. Sua lista cont&eacute;m os seguintes projetos:</p>
<blockquote>
<ol>
<li><a target="_blank" href="http://codeplex.com/xunit">[TEST] xUnit.net</a>  &#8211; Um dos v&aacute;rios frameworks de teste &oacute;timo para auxilio de TDD.</li>
<li><a target="_blank" href="http://ayende.com/projects/rhino-mocks.aspx">[TEST] RhinoMocks mocking framework</a>  -Testes f&aacute;ceis pelo fato de permitir o desenvolvedor criar implementa&ccedil;&otilde;es mock de objetos.</li>
<li><a target="_blank" href="http://white.codeplex.com/">[TEST] White for automation of Windows applications</a> &#8211; Condu&ccedil;&atilde;o program&aacute;tica de aplica&ccedil;&otilde;es Windows.</li>
<li><a target="_blank" href="http://www.gallio.org/">[TEST] Gallio Automation Platform</a> &#8211; Trabalha com muitos frameworks de teste, incluindo MSTeste, xUnit, Nunit e MbUnit.</li>
<li><a target="_blank" href="http://fluentnhibernate.org/">[DATA] Fluent Nhibernate</a> &#8211; Fluent Nhibernate leva voc&ecirc; a escrever mapeamentos em c&oacute;digo c# fortemente tipados.</li>
<li><a target="_blank" href="http://structuremap.sourceforge.net/Default.htm">[OOP] StructureMap Dependency Injection/Inversion of Control</a> &#8211; Habilita uma redu&ccedil;&atilde;o de acoplamento entre classes e suas depend&ecirc;ncias.</li>
<li><a target="_blank" href="http://mef.codeplex.com/">[OOP] Managed Extensibility Framework</a> &#8211; Faz a transi&ccedil;&atilde;o de aplica&ccedil;&otilde;es que s&atilde;o compiladas estaticamente para dinamicamente compostas.</li>
<li><a target="_blank" href="http://code.google.com/p/sharp-architecture/">[APPFX] s#arp architecture for web applications</a> &#8211; Base para desenvolvimento r&aacute;pido de aplica&ccedil;&otilde;es web usando ASP.NET MVC com Nhibernate.</li>
<li><a target="_blank" href="http://www.openrasta.com/">[APPFX] OpenRasta REST based framework for building web applications</a> &#8211; Simplifique expondo uma API baseada em REST para a sua aplica&ccedil;&atilde;o.</li>
<li><a target="_blank" href="http://www.lhotka.net/cslanet/">[APPFX] CSLA.NET Application Framework</a> &#8211; Um abrangente framework para desenvolvimento .NET.</li>
<li><a target="_blank" href="http://www.springframework.net/">[APPFX] Spring.NET Application Framework</a> &#8211; Um abrangente framework para desenvolvimento de aplica&ccedil;&otilde;es web.</li>
<li><a target="_blank" href="http://www.mono-project.com/Main_Page">[RUNTIME] Mono enables .NET on Linux and Mac</a> &#8211; Use aquelas habilidades .NET intencionando Linux, BSD e OS X.</li>
<li><a target="_blank" href="http://shfb.codeplex.com/">[UTIL] Sandcastle Help File Builder</a> &#8211; Cria uma documenta&ccedil;&atilde;o no estilo do MSDN para assemblies .NET.</li>
<li><a target="_blank" href="http://easyhook.codeplex.com/">[HELPER] EasyHook for Windows API Hooking</a> &#8211; Estenda c&oacute;digo n&atilde;o interpretado (APIs) com c&oacute;digo interpretado.</li>
<li><a target="_blank" href="http://www.codeplex.com/Json">[HELPER] Json.NET for working with JSON formatted data</a> &#8211; R/W usando o JsonReader e JsonWriter ou serialize seus objetos .NET com uma &uacute;nica chamada.</li>
<li><a target="_blank" href="http://exceldatareader.codeplex.com/">[HELPER] Excel Data Reader for Excel 97 to 2007</a> &#8211; Leia arquivos Excel diretamente em um dataset.</li>
<li><a target="_blank" href="http://sharpsnmplib.codeplex.com/">[HELPER] #SNMP Library</a> &#8211; Uma interface API natural para encapsular fun&ccedil;&otilde;es SNMP.</li>
<li><a target="_blank" href="http://dotnetzip.codeplex.com/">[HELPER] DotNetZip Library&nbsp;  </a>- Uma &oacute;tima biblioteca ZIP com algums exemplos.</li>
<li><a target="_blank" href="http://visioautomation.codeplex.com/">[HELPER] Visio Automation Library&nbsp; </a>- Automate Visio para  C#, Visual Basic e outros.</li>
<li><a target="_blank" href="http://phpexcel.codeplex.com/">[HELPER] PHPExcel is not just about Excel!</a> &#8211; PHP classes para  r/w Excel 2007, PDF, HTML e outros.</li>
<li><a target="_blank" href="http://www.codeplex.com/Argotic">[HELPER] Argotic Syndication Framework for RSS, Atom, OPML and more</a> &#8211; Fa&ccedil;a a leitura e escrita de conte&uacute;do em v&aacute;rios formatos comuns facilmente.</li>
<li><a target="_blank" href="http://www.nlog-project.org/">[HELPER] NLog logging library</a> &#8211;  Escreva facilmente diagn&oacute;stico de trecho de c&oacute;digo para sua aplica&ccedil;&atilde;o.</li>
<li><a target="_blank" href="http://csharp-source.net/">A great directory of C# Open Source software</a> &#8211; Um bom diret&oacute;rio de bibliotecas, frameworks e ferramentas.</li>
</ol>
</blockquote>
<p>Outros &oacute;timos <a target="_blank" href="http://geekswithblogs.net/iupdateable/archive/2009/06/08/suggestions-so-far-for-uk-msdn-flash-special-edition-on.aspx">projetos enviados</a> que n&atilde;o est&atilde;o na lista final:</p>
<ul>
<li><a target="_blank" href="http://www.castleproject.org/">Castle</a></li>
<li><a target="_blank" href="http://mvccontrib.codeplex.com/">MvcContrib</a></li>
<li><a target="_blank" href="http://subversion.tigris.org/">Subversion</a></li>
<li><a target="_blank" href="http://nant.sourceforge.net/">Nant</a></li>
<li><a target="_blank" href="http://logging.apache.org/log4net/">log4net</a></li>
<li><a target="_blank" href="http://incubator.apache.org/lucene.net/">Lucene</a></li>
<li><a target="_blank" href="http://cruisecontrol.sourceforge.net/">CruiseControl</a></li>
<li><a target="_blank" href="http://www.getpaint.net/">Paint.NET</a></li>
</ul>
<p>Algumas contribui&ccedil;&otilde;es substanciais da Microsoft sobre a licen&ccedil;a <a target="_blank" href="http://www.opensource.org/licenses/ms-pl.html">MS-PL</a> s&atilde;o:</p>
<ul>
<li><a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;displaylang=en">ASP.NET MVC Open Source</a></li>
<li><a target="_blank" href="http://dlr.codeplex.com/">.NET Dynamic Language Runtime</a> (DLR)</li>
<li><a target="_blank" href="http://www.ironruby.net/">IronRuby</a></li>
<li><a target="_blank" href="http://ironpython.codeplex.com/">IronPython</a></li>
<li><a target="_blank" href="http://silverlight.codeplex.com/">Silverlight Toolkit</a></li>
<li><a target="_blank" href="http://www.codeplex.com/AjaxControlToolkit">Ajax Control Toolkit</a></li>
<li><a target="_blank" href="http://www.codeplex.com/MEF">Managed Extensibility Framework</a> (MEF)</li>
</ul>
<p>MS-PL &eacute; uma licen&ccedil;a aprovada OSI e caracterizada pelo GNU como uma licen&ccedil;a de software livre que permite qualquer um ver o c&oacute;digo fonte, modific&aacute;-lo e compartilhar as modifica&ccedil;&otilde;es com outros. Al&eacute;m disto, a licen&ccedil;a n&atilde;o limita que o c&oacute;digo rode apenar sobre Windows, abrindo possibilidades para port&aacute;-lo a outros sistemas operacionais. Dois exemplos s&atilde;o o Mono (.NET no Linux) e Moonlight (Silverlight no Linux). Um <a target="_blank" href="http://tirania.org/blog/archive/2009/Apr-02-1.html">plug-in</a> est&aacute; sendo criado para MonoDevelop para usar ASP.NET MVC no Linux, Mac e OS X.</p>
<p>Fonte: <a target="_blank" href="http://www.infoq.com/br/news/2009/07/23-.NET-Open-Source-Projects">InfoQ</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1381" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/07/14/23-projetos-net-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Existe Futuro para o VB.NET?</title>
		<link>http://blog.adsystems.com.br/2009/06/24/existe-futuro-para-o-vb-net/</link>
		<comments>http://blog.adsystems.com.br/2009/06/24/existe-futuro-para-o-vb-net/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 22:14:22 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1295</guid>
		<description><![CDATA[Postado por Abel Avram, traduzido por André Dourado em 24 Jun 2009 02:26 PM Muitos se perguntam por que a Microsoft está dando um tratamento diferenciado para o VB.NET comparado ao C#, por que desenvolvedores VB.NET recebem menos que desenvolvedores C# e se eles devem se preocupar com seu futuro ou não. Em um podcast, [...]]]></description>
			<content:encoded><![CDATA[<p>Postado por <strong>Abel Avram</strong>, traduzido por <strong>André Dourado</strong>  em 24 Jun 2009 02:26 PM</p>
<p>Muitos se perguntam por que a Microsoft está dando um tratamento diferenciado para o VB.NET comparado ao C#, por que desenvolvedores VB.NET recebem menos que desenvolvedores C# e se eles devem se preocupar com seu futuro ou não. Em um <a href="http://misfitgeek.com/podcast/misfit-geek-podcast-episode-2-does-vb-have-a-future/" target="_blank">podcast</a>, Lisa Feigenbaum, gerente de projetos no grupo de linguagens gerenciadas .NET, garante à comunidade VB.NET que o VB definitivamente tem futuro.</p>
<p>Lisa explicou porque VB.NET e C# tem tido uma percepção diferenciada: foi uma decisão estratégica da Microsoft em primeiro lugar. Microsoft não apenas quer duas linguagens com duas sintaxes diferentes rodando no CLR, mas eles quiseram que fossem diferentes em seus recursos, então as duas linguagens seguiram em diferentes caminhos no mundo .NET. Desde que a maioria da documentação relacionada saída da Microsoft contém exemplos em C# e menos exemplos em VB.NET, todos concluíram que o VB.NET é menos favorecido e possivelmente morrerá com o tempo, não tendo suporte suficiente.</p>
<p>De acordo com Lisa, no início a Microsoft tentou diferenciar as duas linguagens, implementando diferentes recursos em cada uma delas, mas muitas vezes clientes VB.NET solicitaram tem recursos disponíveis para o C#, enquanto clientes C# desejaram recursos disponíveis no VB.NET, portanto no final uma decisão foi tomada para manter ambas em sincronismo. Também, o número de desenvolvedores VB.NET é um poucco maior que os desenvolvedores C# e a Microsoft não matará o VB.NET porque não é do interesse deles fazer isso. Esse comprometimento foi reforçado quando dois times de arquitetos foram reunidos por 18 meses com o objetivo de co-desenvolver as linguagens.</p>
<p>Anders Hejlsberg, Arquiteto Chefe para o C#, supervisiona o desenvolvimento de ambas linguagens para garantir seu progresso. Após a decisão sobre alguns recursos a serem implementados para C# e VB.NET, os respectivos times de desenvolvimento são separados em ambientes distintos, para  que possam desenhar a implementação dos recursos, de acordo com a sintaxe e regras gerais de cada linguagem. Este processo apresenta dois resultados: as linguagens mantém a adição dos mesmos conjuntos de recursos e as linguagens mantém sua personalidade e não necessariamente tentam copiar o modo que a outra é implementada. Isto garante que o VB.NET não será eventualmente absorvido pelo C#.</p>
<p>As linguagens estão rapidamente convergindo. No momento, as únicas aplicações que podem ser feitas em C# e não podem ser feitas em VB.NET são jogos XNA, porque não há templates de projetos para o VB.NET. Mas a Microsoft deseja encerrar completamente esse gap, de forma que as duas linguagens se tornem completamente iguais.</p>
<p>Os resultados do esforço conjunto serão vistos mais claramente na próxima versão do Visual Studio. VS foi inciado inicialmente em C, C++, mas o editor e compilador do VS 2010 conterá mais código gerenciado que antes, isto significa mais código C# e VB.NET. Nem o VS ou Office iniciaram tendo tanto código gerenciado do dia para a noite porque existe uma imensa quantidade de código valioso já escrito, mas códigos novos geralmente são códigos gerenciados.</p>
<p>O fato que alguns estudos mostram que desenvolvedores VB.NET são pagos de 10-15% menos que seus colegas desenvolvedores C#, pode ser decorrente do fato que a percepção sobre VB.NET ainda não mudou o bastante e mais tempo ainda é necessário para que se perceba que estas linguagens são iguais e são tratadas da mesma forma pela Microsoft.</p>
<p>Fonte: <a href="http://www.infoq.com/br/news/2009/06/Future-VB.NET" target="_blank">InfoQ</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1295" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/06/24/existe-futuro-para-o-vb-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O caminho do meio do arquiteto Java e do arquiteto .NET</title>
		<link>http://blog.adsystems.com.br/2009/05/30/o-caminho-do-meio-do-arquiteto-java-e-do-arquiteto-net/</link>
		<comments>http://blog.adsystems.com.br/2009/05/30/o-caminho-do-meio-do-arquiteto-java-e-do-arquiteto-net/#comments</comments>
		<pubDate>Sun, 31 May 2009 00:05:20 +0000</pubDate>
		<dc:creator>André Dourado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[TI]]></category>

		<guid isPermaLink="false">http://blog.adsystems.com.br/?p=1117</guid>
		<description><![CDATA[Postado por Marco Mendes para o Blog do Marcos Mendes em 30 de Maio de 2009 No Budismo, o caminho do meio (madhyamā-pratipad, em sânscrito) é a prática de ensinamentos que nos afastem das vaidades, extremismos e nos guiem a uma busca por mais sabedoria, moralidade e raciocínio. No mundo Java e .NET, o caminho [...]]]></description>
			<content:encoded><![CDATA[<p><em>Postado por Marco Mendes para o Blog do Marcos Mendes<br />
em 30 de Maio de 2009</em></p>
<p><a href="http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=2642528&#038;sid=89826911511530765188641039&#038;k5=22AEB638&#038;uid=" target="_blank"><img src="http://www.adsystems.com.br/imagens/blog/97_things.jpg" alt="" align="right" style="margin: 5px 0px 5px 15px;" /></a>No Budismo, o caminho do meio (madhyamā-pratipad, em sânscrito) é a prática de ensinamentos que nos afastem das vaidades, extremismos e nos guiem a uma busca por mais sabedoria, moralidade e raciocínio. </p>
<p>No mundo Java e .NET, o caminho do meio possui o mesmo conceito. Gostaria de compartilhar, neste contexto, uma interessante leitura sobre experiências de diversos arquitetos de software que guardam uma espantosa coincidência com as idéias e conceitos do caminho do meio. </p>
<p>Esta lições estão coletadas no excelente e sucinto livro <a href="http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=2642528&#038;sid=89826911511530765188641039&#038;k5=22AEB638&#038;uid=" target="_blank">97 Things Every Software Architect Should Know</a>, escritas por diversos arquitetos de todo o mundo e compiladas por Richard Monson-Haefel.</p>
<p>Dentro das 97 dicas presentes neste livro, gostaria de destacar três:</p>
<ul>
<li><a href="http://97-things.near-time.net/wiki/don-t-put-your-resume-ahead-of-the-requirements" target="_blank">Não coloque seu resumè a frente dos seus requisitos</a>. Este pequeno texto discute porque bons arquitetos primeiro entendem o problema e o contexto de negócio antes de propor a tecnologia preferida do seu currículo. A lição é clara: não leve a sua tecnologia Java ou .NET preferida para o seu cliente antes de entender claramente o problema.</li>
<p></br></p>
<li><a href="http://97-things.near-time.net/wiki/Simplify%20essential%20complexity;%20diminish%20accidental%20complexity" target="_blank">Simplifique a complexidade essencial, diminua a complexidade acidental</a>. A complexidade essencial diz respeito a complexidade inerente a um problema. A complexidade acidental diz respeito a efeitos colaterais introduzidos por escolha de tecnologias complexas e soluções estado da arte. Exemplos são o uso de EJBs, servidores como o BizTalk, servidores de transações distribuídas ou modelos complexos de orientação por objetos para problemas simples que não necessitam deste tipo de solução. A lição novamente é clara: não introduza complexidade acidental para aprender uma nova tecnologia. É responsabilidade do arquiteto gerir bem o dinheiro do projeto, da sua empresa e do seu cliente. Não brinque com o dinheiro alheio por vaidade. </li>
<p></br></p>
<li><a href="http://97-things.near-time.net/wiki/Architecting%20is%20about%20balancing" target="_blank">Arquitetura é sobre equilíbrio</a>. A arquitetura deve equilibrar aspectos técnicos e aspectos de negócio (condutores de negócio). “Arquitetos Java e .NET” que se esquecem de olhar para o negócio estão violando o caminho do meio. Estão buscando apenas um meio de satisafazer seus egos no uso de soluções “elegantes” e criar novos desafios técnicos que apenas eles precisam.</li>
</ul>
<p>Um “arquiteto Java” e um “arquiteto .NET”, portanto, irá se tornar um melhor arquiteto se não ficar cego pelas palavras “Java” e “.NET” e colocar no seu cardápio porções de liderança técnica e práticas de alinhamento ao negócio.</p>
<p>Fonte: <a href="http://blog.marcomendes.com/2009/05/30/o-caminho-do-meio-do-arquiteto-java-e-do-arquiteto-net/" target="_blank">Blog do Marco Mendes</a></p>
 <img src="http://www.adsystems.com.br/blog2/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1117" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://blog.adsystems.com.br/2009/05/30/o-caminho-do-meio-do-arquiteto-java-e-do-arquiteto-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

