<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEAGRH4-eip7ImA9WhRaFEk.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566</id><updated>2012-02-16T18:45:25.052-08:00</updated><category term="future" /><category term="C#" /><category term="Visual Studio" /><category term="Vista" /><category term="Frameworks" /><category term="IIS 7" /><category term="Arquitetura" /><category term="Encode" /><category term="javascript" /><category term="agile" /><category term="WCF" /><category term="thinkdtonet" /><category term="ajax" /><category term="Linq to Sql" /><category term="Scrum" /><category term="desenvolvimento ágil" /><category term="windows azure" /><category term="Controle de concorrência" /><category term="Java" /><title>Alcatéia Digital</title><subtitle type="html">Tecnologia,  Arquitetura de Software com .Net e Java</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.alcateiadigital.info/" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AlcatiaDigital" /><feedburner:info uri="alcatiadigital" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;Ck8CRno4eyp7ImA9WhZXEE4.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-2293850440074260617</id><published>2011-04-28T15:47:00.000-07:00</published><updated>2011-04-28T15:47:47.433-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-28T15:47:47.433-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="windows azure" /><title>Novo Training Kit do Windows Azure disponível para download</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Hoje, a&amp;nbsp;Microsoft&amp;nbsp;acaba de disponibilizar (28/04/2011) nova versão do&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #0066dd; font-size: 20px; line-height: 25px;"&gt;Windows&amp;nbsp;Azure Platform Training Kit, &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #0066dd; font-size: 20px; line-height: 25px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small; line-height: normal;"&gt;e pode ser baixado &lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&amp;amp;displaylang=en"&gt;aqui&lt;/a&gt;, as novidades são e espero nos próximos posts, mostrar algumas destas features.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #0066dd; font-size: 20px; line-height: 25px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #0066dd; font-size: 20px; line-height: 25px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-size: small; line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Novidades&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Authenticating Users in a Windows Phone 7 App via ACS, OData Services and Windows Azure HOL&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Windows Azure Traffic Manager HOL;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Introduction to SQL Azure Reporting Services HOL;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Atualizações&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Connecting Apps with Windows Azure Connect HOL (updated for Windows Azure Connect refresh)&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Windows Azure CDN HOL (updated for the Windows Azure CDN refresh)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Introduction to the AppFabric ACS 2.0 HOL (updated to the production release of ACS 2.0)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Use ACS to Federate with Multiple Business Identity Providers HOL (updated to the production release of ACS 2.0)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Introduction to Service Bus HOL (updated to latest Windows Azure AppFabric portal)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Eventing on the Service Bus HOL (updated to latest Windows Azure AppFabric portal)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Service Remoting HOL (updated to latest Windows Azure AppFabric portal)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Rafiki demo (updated to latest Windows Azure AppFabric portal)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Service Bus demos (updated to latest Windows Azure AppFabric portal)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-2293850440074260617?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ps_MW5FvdbpRRoIU4vOMxwj6q64/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ps_MW5FvdbpRRoIU4vOMxwj6q64/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ps_MW5FvdbpRRoIU4vOMxwj6q64/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ps_MW5FvdbpRRoIU4vOMxwj6q64/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/LuIJYqcccuQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/2293850440074260617/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2011/04/novo-training-kit-do-windows-azure.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2293850440074260617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2293850440074260617?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/LuIJYqcccuQ/novo-training-kit-do-windows-azure.html" title="Novo Training Kit do Windows Azure disponível para download" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2011/04/novo-training-kit-do-windows-azure.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QDSXs5eCp7ImA9WhZSFEg.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-311742995308455608</id><published>2011-03-29T19:16:00.000-07:00</published><updated>2011-03-29T19:16:18.520-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-29T19:16:18.520-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="thinkdtonet" /><title>Think.Net -31/03/2011 - 19h - Instituto Atlântico</title><content type="html">&lt;div class="ecxgmail_quote"&gt;&lt;div style="border-collapse: collapse; font-family: 'Segoe UI', Tahoma, Verdana, Arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;&lt;div style="line-height: 17px;"&gt;&lt;div style="font-family: arial; line-height: 17px;"&gt;&lt;div style="font-family: arial, sans-serif; line-height: 17px;"&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-size: medium; line-height: 23px;"&gt;Think.Net&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: verdana, sans-serif; line-height: normal;"&gt;Convidamos todos os desenvolvedores .Net a participarem do evento Think.Net, um evento dedicado a discutir a tecnologia .Net e as melhores práticas de desenvolvimento de software com os melhores desenvolvedores do mercado local. Venha fazer parte deste grupo!&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;&lt;div style="border-collapse: collapse; font-size: 13px; line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="line-height: 17px;"&gt;&lt;span style="font-family: verdana, sans-serif; line-height: 17px;"&gt;Data:&amp;nbsp;&lt;strong style="font-weight: bold; line-height: 17px;"&gt;31/03/2011 (Quinta-feira)&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family: verdana, sans-serif; line-height: normal;"&gt;Horário: 19h&lt;/span&gt;&lt;br style="line-height: 17px;" /&gt;&lt;span style="font-family: verdana, sans-serif; line-height: normal;"&gt;Local:Instituto Atlântico: Rua Chico Lemos, 946 – Fortaleza/CE&lt;/span&gt;&lt;br style="line-height: 17px;" /&gt;&lt;span style="font-family: verdana, sans-serif; line-height: normal;"&gt;Telefone: (85)8159.1321/(85)3216.7931&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-size: medium; line-height: 23px;"&gt;Inscrições&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: arial, sans-serif; line-height: 17px;"&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-size: medium; line-height: 23px;"&gt;&lt;/span&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 17px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 15px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: medium; line-height: normal;"&gt;&lt;span style="border-collapse: separate; color: #505050; font-family: Arial; font-size: 14px; line-height: 21px;"&gt;Inscrições,&amp;nbsp;&lt;a href="https://spreadsheets.google.com/viewform?hl=en&amp;amp;formkey=dGwxd3hQaHlTNVpJbDNRTGlNdE9vbnc6MQ#gid=0" style="color: #0000cc; cursor: pointer; font-weight: inherit; line-height: 18px; text-decoration: underline;" target="_blank"&gt;clique aqui&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br style="line-height: 17px;" /&gt;&lt;div style="border-collapse: separate; color: #500050; font-family: arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;&lt;div style="color: #666666; font-family: verdana, sans-serif; font-size: 12px; line-height: 24px;"&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 15px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 15px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: medium; line-height: normal;"&gt;Valor&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="line-height: 17px;"&gt;&lt;span style="color: #505050; font-family: Arial; line-height: normal;"&gt;&lt;span style="font-size: 14px; line-height: 21px;"&gt;Grátis.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: arial, sans-serif; line-height: 17px;"&gt;&lt;div style="color: #500050; font-family: arial, sans-serif; font-size: 13px; line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br style="line-height: 17px;" /&gt;&lt;span style="font-size: medium; line-height: 23px;"&gt;Agenda&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: medium; line-height: 20px;"&gt;&lt;table style="border-collapse: collapse; line-height: 20px;"&gt;&lt;colgroup style="line-height: 20px;"&gt;&lt;col style="line-height: 20px;" width="557"&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody style="line-height: 20px;"&gt;
&lt;tr style="line-height: 20px; min-height: 0px;"&gt;&lt;td style="font-family: arial, sans-serif; line-height: 20px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Verdana; font-style: normal; font-weight: normal; line-height: 20px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-size: medium; line-height: normal;"&gt;Windows Azure&lt;/span&gt;&lt;/span&gt;&lt;br style="line-height: 20px;" /&gt;&lt;span style="background-color: transparent; color: black; font-family: Verdana; font-size: 10pt; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Palestrante: Lucas Romão&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 20px; min-height: 0px;"&gt;&lt;td style="font-family: arial, sans-serif; line-height: 20px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-weight: normal; line-height: 20px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Coffee Break&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 20px; min-height: 0px;"&gt;&lt;td style="font-family: arial, sans-serif; line-height: 20px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;span style="font-family: verdana, sans-serif; font-size: medium; line-height: normal;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-weight: normal; line-height: 23px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;T&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-weight: normal; line-height: 23px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;DD: Test Driven Development&lt;/span&gt;&lt;/span&gt;&lt;br style="line-height: 20px;" /&gt;&lt;span style="background-color: transparent; color: black; font-family: Verdana; font-style: normal; font-weight: normal; line-height: 20px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-size: x-small; line-height: normal;"&gt;Palestrante: Christiano Milfont&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="line-height: 20px; min-height: 0px;"&gt;&lt;td style="font-family: arial, sans-serif; line-height: 20px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px; padding-top: 7px; vertical-align: top;"&gt;&lt;span style="background-color: transparent; color: black; font-style: normal; font-weight: normal; line-height: 20px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-family: verdana, sans-serif; font-size: medium; line-height: normal;"&gt;Asp.Net MVC&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: transparent; color: black; font-family: Verdana; font-style: normal; font-weight: normal; line-height: 20px; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;span style="font-size: 13pt; line-height: 22px;"&gt;&lt;br style="line-height: 22px;" /&gt; &lt;/span&gt;&lt;span style="font-size: x-small; line-height: normal;"&gt;Palestrante: Moacir Casemiro&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="line-height: 17px; margin-bottom: 1.35em; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: verdana, sans-serif; font-size: 13px; line-height: 17px;"&gt;obs. A ordem das palestras poderá ser alterada.&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;&lt;span style="font-size: medium; line-height: normal;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; line-height: 17px;"&gt;&lt;span style="font-size: medium; line-height: normal;"&gt;Palestrantes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="border-collapse: collapse; font-family: arial; font-size: 13px; line-height: 17px;"&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;ul style="border-collapse: collapse; color: #500050; font-family: arial, sans-serif; font-size: 13px; line-height: 17px; list-style-type: disc; margin-bottom: 20px; margin-left: 1em; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 1em; padding-right: 0px; padding-top: 0px;"&gt;&lt;li style="line-height: 17px; margin-bottom: 3px; margin-left: 15px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 17px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 15px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="font-family: verdana, sans-serif; line-height: normal;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="color: #333333; font-size: medium; line-height: normal;"&gt;Lucas Romão&lt;/span&gt;,&lt;/span&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&amp;nbsp;&lt;span style="color: black; line-height: normal;"&gt;trabalha na área de TI a mais 15 anos, mantém seu blog pessoal&amp;nbsp;em&amp;nbsp;&lt;a href="http://laromao.wordpress.com/" style="color: #0000cc; cursor: pointer; font-weight: inherit; line-height: 15px; text-decoration: underline;" target="_blank"&gt;http://laromao.wordpress.com&lt;/a&gt;, sendo líder da comunidade Azure Services Brasil, além de moderar as comunidades WCF Brasil e Silverlight Brasil;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;span style="border-collapse: separate; letter-spacing: normal; line-height: 17px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="font-size: 12px; line-height: 24px;"&gt;&lt;span style="border-collapse: separate; letter-spacing: normal; line-height: 15px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="font-size: 12px; line-height: 24px;"&gt;&lt;span style="font-family: verdana, sans-serif; line-height: normal;"&gt;
&lt;li style="color: #666666; line-height: 15px; margin-bottom: 3px; margin-left: 15px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 15px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="border-collapse: separate; color: black; letter-spacing: normal; line-height: 15px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="color: #333333; font-size: medium; line-height: normal;"&gt;Christiano Milfont&lt;/span&gt;,&amp;nbsp;&lt;span style="color: black; line-height: normal;"&gt;é coordenador do XPCE [Extreme Programming User Group do Ceará]. Pesquisador, autor, palestrante, colunista da revista &amp;nbsp;“Java Magazine", consultor em Agile, Java e Rails. É pioneiro em XP no Ceará. Possui mais de 11 anos de design e desenvolvimento de Software com 7 anos de experiência em XP/Scrum. Também palestrante e organizador do “Maré de Agilidade Fortaleza;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;div style="line-height: 15px;"&gt;
&lt;li style="color: #666666; line-height: 15px; margin-bottom: 3px; margin-left: 15px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black; line-height: 15px;"&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&lt;span style="color: #333333; font-size: medium; line-height: normal;"&gt;Moacir Casemiro&lt;/span&gt;,&lt;/span&gt;&lt;span style="color: #666666; font-size: 12px; line-height: 24px;"&gt;&amp;nbsp;&lt;span style="color: black; line-height: normal;"&gt;atua no mercado de desenvolvimento de software desde 2000, tendo oportunidade de participar de diversos projetos de diferentes tamanhos e tecnologias. Há 5 anos vem atuando como arquiteto de software tendo oportunidade de defeinir diversas soluções em empresas de grande porte. Em busca de diferencial, possuo alguns títulos, como MCP, MCAD, MCTS Web / Win / App Distribuído, MCPD Web, Win e Enterprise Application;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;APOIO&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-WcY0lRHd6zc/TZKSHX3-OWI/AAAAAAAAAJ0/fqHDZS4wq68/s1600/tlantico.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="115" src="http://2.bp.blogspot.com/-WcY0lRHd6zc/TZKSHX3-OWI/AAAAAAAAAJ0/fqHDZS4wq68/s200/tlantico.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;BANNER&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SycUOqlQwpI/TZKSWeoDveI/AAAAAAAAAJ4/5qTjiYNvf9I/s1600/image001.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://4.bp.blogspot.com/-SycUOqlQwpI/TZKSWeoDveI/AAAAAAAAAJ4/5qTjiYNvf9I/s640/image001.jpg" width="448" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: verdana, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 10pt; line-height: 17px;"&gt;&lt;span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: medium; line-height: 23px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-311742995308455608?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hstl-c1GSuSBe8tg8VQFT9hgZ2Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hstl-c1GSuSBe8tg8VQFT9hgZ2Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hstl-c1GSuSBe8tg8VQFT9hgZ2Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hstl-c1GSuSBe8tg8VQFT9hgZ2Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/I0_oq-Y6qFg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/311742995308455608/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2011/03/thinknet-31032011-19h-instituto.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/311742995308455608?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/311742995308455608?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/I0_oq-Y6qFg/thinknet-31032011-19h-instituto.html" title="Think.Net -31/03/2011 - 19h - Instituto Atlântico" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-WcY0lRHd6zc/TZKSHX3-OWI/AAAAAAAAAJ0/fqHDZS4wq68/s72-c/tlantico.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2011/03/thinknet-31032011-19h-instituto.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkADSXg4cSp7ImA9WxNUEk8.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-2216130589558254674</id><published>2009-11-02T19:59:00.001-08:00</published><updated>2009-11-02T19:59:38.639-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-02T19:59:38.639-08:00</app:edited><title>Leituras Obrigatórias e Recomendações</title><content type="html">&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Geralmente após uma época de “caça talentos”, nas empresas onde trabalho, sinto uma necessidade (digna de um carpinteiro do universo) de divulgar ou indicar uma lista de livros que considero obrigatória ou importante aos candidatos as vagas.&lt;/p&gt;  &lt;p&gt;Então seguem alguns por área (A lista é grande… mas toda caminhada começa com o primeiro passo!):&lt;/p&gt; &lt;strong&gt;   &lt;h4&gt;Developers&lt;/h4&gt; &lt;/strong&gt;  &lt;p&gt;1.Code Complete (&lt;em&gt;Obrigatório&lt;/em&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qVu9OHHI/AAAAAAAAAEM/skXTB0Y4G5k/s1600-h/Jacket%5B1%5D%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Jacket[1]" border="0" alt="Jacket[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qWXTX_oI/AAAAAAAAAEQ/LlNMLdJH_eI/Jacket%5B1%5D_thumb%5B2%5D.png?imgmax=800" width="111" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. The Pragmatic Programmer: From Journeyman to Master&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qW-mfThI/AAAAAAAAAEU/2dBy0aCHMPc/s1600-h/41hImUq3RKL._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="41hImUq3RKL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" border="0" alt="41hImUq3RKL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" src="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qXTzo-CI/AAAAAAAAAEY/MMIisDXOnvw/41hImUq3RKL._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D_thumb%5B6%5D.jpg?imgmax=800" width="105" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;.Net&lt;/h4&gt;  &lt;p&gt;1.MCTS Self-Paced Training Kit - Exam 70-536_Second Edition&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qYCaxVrI/AAAAAAAAAEc/DeHCPCsqLlY/s1600-h/51jAKc-IaHL._SS500_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51jAKc-IaHL._SS500_[1]" border="0" alt="51jAKc-IaHL._SS500_[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qYsKaZWI/AAAAAAAAAEg/JfiV9NewUsc/51jAKc-IaHL._SS500_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="111" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2.Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qZXHC-kI/AAAAAAAAAEk/inKXz2eNN2o/s1600-h/51eRdH6OhKL._SL160_PIsitb-sticker-arrow-dp%2CTopRight%2C12%2C-18_SH30_OU01_AA115_%5B1%5D%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51eRdH6OhKL._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU01_AA115_[1]" border="0" alt="51eRdH6OhKL._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU01_AA115_[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qZ0sdRxI/AAAAAAAAAEo/1hDb-6PkACc/51eRdH6OhKL._SL160_PIsitb-sticker-arrow-dp%2CTopRight%2C12%2C-18_SH30_OU01_AA115_%5B1%5D_thumb%5B8%5D.jpg?imgmax=800" width="102" height="137" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3.MCTS Self-Paced Training Kit (Exam 70-562): Microsoft .NET Framework 3.5—ASP.NET Application Development&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qagmaa3I/AAAAAAAAAEs/vsy3JJNALxw/s1600-h/9780735625624f_2%5B1%5D%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="9780735625624f_2[1]" border="0" alt="9780735625624f_2[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qbc2TUqI/AAAAAAAAAEw/w5YK7OU0aAg/9780735625624f_2%5B1%5D_thumb%5B1%5D.jpg?imgmax=800" width="111" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3. WCF – Programando Serviços&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qbygU10I/AAAAAAAAAE0/ZDBB-TScFr4/s1600-h/imagem%5B1%5D%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="imagem[1]" border="0" alt="imagem[1]" src="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qchGxyiI/AAAAAAAAAE4/xdhsNVrBJfQ/imagem%5B1%5D_thumb%5B2%5D.png?imgmax=800" width="96" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;4.Pro linq object relational mapping in c#&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qc6a_5DI/AAAAAAAAAE8/jS0QihoSZME/s1600-h/51niziOkmxL._SL160_AA115_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51niziOkmxL._SL160_AA115_[1]" border="0" alt="51niziOkmxL._SL160_AA115_[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qdcaXMSI/AAAAAAAAAFA/xM1CvqlX-vk/51niziOkmxL._SL160_AA115_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="116" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;Análise e Orientação a Objetos, UML, Desenvolvimento de Software&lt;/h4&gt;  &lt;p&gt;1. UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qdw3SWYI/AAAAAAAAAFE/CBAnZxl35jM/s1600-h/51N90Q8iwnL._SL160_AA115_%5B1%5D%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51N90Q8iwnL._SL160_AA115_[1]" border="0" alt="51N90Q8iwnL._SL160_AA115_[1]" src="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qeX-1X7I/AAAAAAAAAFI/uvU2BU2ye88/51N90Q8iwnL._SL160_AA115_%5B1%5D_thumb%5B6%5D.jpg?imgmax=800" width="104" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. Applying UML and Patterns (3Ed)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qepvdVDI/AAAAAAAAAFM/rA0DhJtzuk8/s1600-h/513SHPAY7PL._SL160_AA115_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="513SHPAY7PL._SL160_AA115_[1]" border="0" alt="513SHPAY7PL._SL160_AA115_[1]" src="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qffaw4tI/AAAAAAAAAFQ/BxbBGHMA0TY/513SHPAY7PL._SL160_AA115_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="113" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3.Design Patterns: Elements of Reusable Object-Oriented Software&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qf_Dz68I/AAAAAAAAAFU/JrxqMLetyLo/s1600-h/51Rs5KgdLTL._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51Rs5KgdLTL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" border="0" alt="51Rs5KgdLTL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" src="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qgfPRtfI/AAAAAAAAAFY/NtNzZwk4tYY/51Rs5KgdLTL._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="107" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;4.Growing Object-Oriented Software, Guided by Tests (Oct 2009) {Na fila!}&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qgqDL9oI/AAAAAAAAAFc/UiFd4oSL5ew/s1600-h/51fQ0%2B5W%2BkL._SL160_PIsitb-sticker-arrow-dp%2CTopRight%2C12%2C-18_SH30_OU01_AA160_%5B1%5D%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51fQ0%2B5W%2BkL._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU01_AA160_[1]" border="0" alt="51fQ0%2B5W%2BkL._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU01_AA160_[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qhDu0kRI/AAAAAAAAAFg/9Nfv5weKCMM/51fQ0%2B5W%2BkL._SL160_PIsitb-sticker-arrow-dp%2CTopRight%2C12%2C-18_SH30_OU01_AA160_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="115" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;DDD&lt;/h4&gt;  &lt;p&gt;1.Domain Deriven Design – Atacando as complexidades no coração {&lt;em&gt;Obrigatório&lt;/em&gt;}&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qhk4iIdI/AAAAAAAAAFk/HT6ve7e7bGs/s1600-h/21576488%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="21576488[1]" border="0" alt="21576488[1]" src="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qiBATUeI/AAAAAAAAAFo/v4B8kGvFzMY/21576488%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="112" height="160" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2. Applying Domain Driven Design and Patterns With Examples in C# and.NET {Na fila}&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qimNzt2I/AAAAAAAAAFs/67SVNdUdD2w/s1600-h/51sbuQIxz9L._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D%5B5%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51sbuQIxz9L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" border="0" alt="51sbuQIxz9L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" src="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qjPLZNgI/AAAAAAAAAFw/EdnswS780Wg/51sbuQIxz9L._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D_thumb%5B6%5D.jpg?imgmax=800" width="103" height="152" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;Arquitetura e Padrões de Projeto&lt;/h4&gt;  &lt;p&gt;1.Padrões de Arquitetura de Aplicações Corporativas (Obrigatório pra qualquer arquiteto)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qjfrZ-lI/AAAAAAAAAF0/MVFY3Sb5f1c/s1600-h/1348031%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1348031[1]" border="0" alt="1348031[1]" src="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qkDr5yUI/AAAAAAAAAF4/J37FVOu295Y/1348031%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="98" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2. Use a cabeça – Padrões de projeto (Excelente e obrigatório)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qkunNhyI/AAAAAAAAAF8/pE_-KWOq1nU/s1600-h/21294018%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="21294018[1]" border="0" alt="21294018[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qkzY9ZuI/AAAAAAAAAGA/JxXTDwVU6bQ/21294018%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="100" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3.Analysis Patterns: Reusable Object Models&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qlVOlMjI/AAAAAAAAAGE/wB5GUlOeWL4/s1600-h/51BSMJWXV2L._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51BSMJWXV2L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" border="0" alt="51BSMJWXV2L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" src="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qlzawdeI/AAAAAAAAAGI/jIdaMK-9zcc/51BSMJWXV2L._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="105" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;Refatoração&lt;/h4&gt;  &lt;p&gt;1.Refactoring: Improving the Design of Existing Code (&lt;em&gt;Obrigatório&lt;/em&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qmYdj8wI/AAAAAAAAAGM/tvsw-HJCBhg/s1600-h/images%5B1%5D%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="images[1]" border="0" alt="images[1]" src="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qm8p0kEI/AAAAAAAAAGQ/nT1g-ZoTQC8/images%5B1%5D_thumb%5B1%5D.jpg?imgmax=800" width="106" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2.Refactoring to Patterns {Na fila!}&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_VhcQPqpvAe0/Su-qnE5eHrI/AAAAAAAAAGU/bQERpBnNu-w/s1600-h/516pPX8YmvL._SL500_AA240_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="516pPX8YmvL._SL500_AA240_[1]" border="0" alt="516pPX8YmvL._SL500_AA240_[1]" src="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qnsGHndI/AAAAAAAAAGY/QTBxGDc7xG8/516pPX8YmvL._SL500_AA240_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="100" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h4&gt;TDD e Testes&lt;/h4&gt;  &lt;p&gt;1. Test Driven Development: By Example&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qoPMNHXI/AAAAAAAAAGc/QPzIXaqBsek/s1600-h/513PZWJDH7L._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="513PZWJDH7L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" border="0" alt="513PZWJDH7L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1]" src="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qor2LBgI/AAAAAAAAAGg/GVL5vgkSsvY/513PZWJDH7L._BO2%2C204%2C203%2C200_PIsitb-sticker-arrow-click%2CTopRight%2C35%2C-76_AA240_SH20_OU01_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="109" height="134" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium &amp;#39;Times New Roman&amp;#39;; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="font-family: verdana, arial, helvetica, sans-serif; font-size: 11px" class="Apple-style-span"&gt;     &lt;p&gt;2. The Art of Unit Testing: with Examples in .NET {Em andamento.. muito bom}&lt;/p&gt;      &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qpJj51UI/AAAAAAAAAGk/1P3NdM_Q_TM/s1600-h/51FXRestkbL._SL500_AA240_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="51FXRestkbL._SL500_AA240_[1]" border="0" alt="51FXRestkbL._SL500_AA240_[1]" src="http://lh3.ggpht.com/_VhcQPqpvAe0/Su-qpuKhHyI/AAAAAAAAAGo/bFMYaD1QGQc/51FXRestkbL._SL500_AA240_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="106" height="134" /&gt;&lt;/a&gt; &lt;/p&gt;      &lt;p&gt;3.How We Test Software at Microsoft (Muito bom!)&lt;/p&gt;      &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_VhcQPqpvAe0/Su-qp12ifKI/AAAAAAAAAGs/IWsuyeKqPxM/s1600-h/41F7IuHTj3L._SL160_PIsitb-sticker-arrow-dp%2CTopRight%2C12%2C-18_SH30_OU01_AA115_%5B1%5D%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="41F7IuHTj3L._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU01_AA115_[1]" border="0" alt="41F7IuHTj3L._SL160_PIsitb-sticker-arrow-dp,TopRight,12,-18_SH30_OU01_AA115_[1]" src="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qqcNnckI/AAAAAAAAAGw/Mt6VFY7bHfY/41F7IuHTj3L._SL160_PIsitb-sticker-arrow-dp%2CTopRight%2C12%2C-18_SH30_OU01_AA115_%5B1%5D_thumb%5B5%5D.jpg?imgmax=800" width="110" height="134" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;/span&gt;  &lt;h5&gt;&lt;em&gt;Esta lista será constantemente atualizada (até pq devo ter esquecido alguns).&lt;/em&gt; &lt;/h5&gt;  &lt;p&gt;Quaisquer comentários são bem vindos, assim como recomendação de algum livro. Caso queiram trocar idéias sobre algum livro e seu conteúdo, será um prazer.&lt;/p&gt;  &lt;p&gt;Lobo Junior   &lt;br /&gt;(Atualizada em 03/11/2009)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-2216130589558254674?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2NPNuNofEafQ_64T6n2o4vuWmig/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2NPNuNofEafQ_64T6n2o4vuWmig/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2NPNuNofEafQ_64T6n2o4vuWmig/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2NPNuNofEafQ_64T6n2o4vuWmig/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/v1WHp688VY8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/2216130589558254674/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/11/leituras-obrigatorias-e-recomendacoes.html#comment-form" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2216130589558254674?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2216130589558254674?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/v1WHp688VY8/leituras-obrigatorias-e-recomendacoes.html" title="Leituras Obrigatórias e Recomendações" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_VhcQPqpvAe0/Su-qWXTX_oI/AAAAAAAAAEQ/LlNMLdJH_eI/s72-c/Jacket%5B1%5D_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/11/leituras-obrigatorias-e-recomendacoes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkECRnY5cSp7ImA9WxNSFE4.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-3430554516194896766</id><published>2009-08-27T21:40:00.000-07:00</published><updated>2009-08-27T21:44:27.829-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-27T21:44:27.829-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="future" /><title>Vídeo da MS sobre "The Future"</title><content type="html">&lt;span style="font-family:verdana;font-size:85%;"&gt;Este vídeo foi exibido no Teched 2009 mas já existia na web, para quem nunca viu, vale a pena viajar um pouco..&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XiqgmAYrd3c&amp;amp;hl=en"&gt;&lt;embed src="http://www.youtube.com/v/XiqgmAYrd3c&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Preparados para aplicações Touchscreen?? Ainda não ?? :-P&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-3430554516194896766?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4Z_jYsHhWMMcVNe5EN2oi9ykvkM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4Z_jYsHhWMMcVNe5EN2oi9ykvkM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4Z_jYsHhWMMcVNe5EN2oi9ykvkM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4Z_jYsHhWMMcVNe5EN2oi9ykvkM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/8jjb8oYFSsQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/3430554516194896766/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/08/video-da-ms-sobre-future.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3430554516194896766?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3430554516194896766?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/8jjb8oYFSsQ/video-da-ms-sobre-future.html" title="Vídeo da MS sobre &quot;The Future&quot;" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/08/video-da-ms-sobre-future.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8MRH4yfCp7ImA9WxJUGE4.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-6046396154921613539</id><published>2009-07-17T06:54:00.001-07:00</published><updated>2009-07-17T06:54:45.094-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-17T06:54:45.094-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WCF" /><title>Serviços WCF e WCFTestClient</title><content type="html">&lt;p&gt;Tenho visto muita gente criando serviços (*.svc) no WCF e lamentando não poder testá-los sem ter que construir um cliente apenas para isso.&lt;/p&gt;  &lt;p&gt;Entretanto, o que muita gente não sabe é que o WCF possui uma ferramenta utilitária para testes (testes de integração não) dos serviços criados. &lt;/p&gt;  &lt;p&gt;Como usar?&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Execute o prompt de linha de comando: Iniciar&amp;gt;&amp;gt;Microsoft Visual Studio 2008&amp;gt;&amp;gt;Visual Studio Tools&amp;gt;&amp;gt;Visual Studio 2008 command prompt.&lt;/li&gt;    &lt;li&gt;Após aberto o command prompt, digite: “WcfTestClient” seguido de enter.&lt;/li&gt;    &lt;li&gt;Pronto. Deverá abrir um aplicativo como mostrado na imagem abaixo:&lt;/li&gt;    &lt;li&gt;Para testar seu serviço. Click em File&amp;gt;&amp;gt;Add service&lt;/li&gt;    &lt;li&gt;Informe a Url do serviço e seja feliz!&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;“Até a Carla Perez é capaz de testar serviços WCF”.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_VhcQPqpvAe0/SmCCoUnoeiI/AAAAAAAAAEE/-BcOc4lY1f0/s1600-h/WcfTestClient%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WcfTestClient" border="0" alt="WcfTestClient" src="http://lh6.ggpht.com/_VhcQPqpvAe0/SmCCpFzpn4I/AAAAAAAAAEI/j2eGbOgo9w0/WcfTestClient_thumb%5B2%5D.jpg?imgmax=800" width="182" height="123" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Lobo Jr   &lt;br /&gt;17/07/2009&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-6046396154921613539?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4LbmE8V35ar7_aqW2RAxE2pE7IE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4LbmE8V35ar7_aqW2RAxE2pE7IE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4LbmE8V35ar7_aqW2RAxE2pE7IE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4LbmE8V35ar7_aqW2RAxE2pE7IE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/G4ocpSEh94g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/6046396154921613539/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/07/servicos-wcf-e-wcftestclient.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/6046396154921613539?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/6046396154921613539?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/G4ocpSEh94g/servicos-wcf-e-wcftestclient.html" title="Serviços WCF e WCFTestClient" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_VhcQPqpvAe0/SmCCpFzpn4I/AAAAAAAAAEI/j2eGbOgo9w0/s72-c/WcfTestClient_thumb%5B2%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/07/servicos-wcf-e-wcftestclient.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUNQX0zfSp7ImA9WxJUFk4.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-4734779693076660136</id><published>2009-07-14T21:48:00.001-07:00</published><updated>2009-07-14T21:48:10.385-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-14T21:48:10.385-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="windows azure" /><title>Windows Azure – Boleto MS!?!</title><content type="html">&lt;p&gt;Por IDG News Service/EUA &lt;/p&gt;  &lt;p&gt;Sistema em nuvem da Microsoft, que será lançado em novembro, terá cobrança por consumo, assinatura ou volume de dados em transações.&lt;/p&gt;  &lt;p&gt;Eu estava curioso para ver como isso seria.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-4734779693076660136?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7CeBW0D9vh85Fx_nKBkGTbN-zJc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7CeBW0D9vh85Fx_nKBkGTbN-zJc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7CeBW0D9vh85Fx_nKBkGTbN-zJc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7CeBW0D9vh85Fx_nKBkGTbN-zJc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/3iaz9RIKJXU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/4734779693076660136/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/07/windows-azure-boleto-ms.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/4734779693076660136?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/4734779693076660136?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/3iaz9RIKJXU/windows-azure-boleto-ms.html" title="Windows Azure – Boleto MS!?!" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/07/windows-azure-boleto-ms.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QNQH4-fyp7ImA9WxJWEkw.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-7441559347840121420</id><published>2009-06-16T22:07:00.001-07:00</published><updated>2009-06-16T22:09:51.057-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-16T22:09:51.057-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="desenvolvimento ágil" /><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><title>Eu já falei eu quero ser “Ágil”</title><content type="html">&lt;p&gt;Recomendo esse &lt;a href="http://www.infoq.com/br/news/2009/06/shore-interview" target="_blank"&gt;post da InfoQ&lt;/a&gt; com entrevista com &lt;a href="http://jamesshore.com/" target="_blank"&gt;James Shore&lt;/a&gt;, assim como seu livro “&lt;a href="http://www.submarino.com.br/produto/1/21388254" target="_blank"&gt;A arte do desenvolvimento ágil&lt;/a&gt;”&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;a href="http://www.infoq.com/br/" target="_blank"&gt;InfoQ&lt;/a&gt; conversou com James sobre sua percepção de que a adoção de métodos ágeis estã crescendo de forma errada… , não percam o post ! &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;[Trecho]&lt;/em&gt;&lt;/p&gt;&lt;p align="justify"&gt;As pessoas estão dizendo, "Queremos ser ágeis", e então buscam a forma mais barata e rápida, e como resultado, esta transformação não estão tornando a vida delas nada fácil. Em muitos casos, estão tornando a vida pior.&lt;br /&gt;...&lt;br /&gt;O que eu vejo é que &lt;strong&gt;&lt;em&gt;a palavra ágil se tornou um jargão, e agora "ser ágil", tornou-se o objetivo&lt;/em&gt;&lt;/strong&gt;. Porém, se "ser ágil" é o objetivo, você pode simplesmente fazer qualquer coisa, por mais anormal que seja, colocar a palavra "ágil" e declarar sucesso, mas sem realmente ter feito nada que melhorasse a forma de trabalho. &lt;/p&gt;&lt;p align="justify"&gt;&lt;em&gt;&lt;strong&gt;O objetivo do movimento ágil não é "se tornar ágil", mas sim produzir sistemas que tenham valor e que façam o que se propõem de maneira eficaz, flexível e humana.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-7441559347840121420?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DykDmFydq0CjC-FAnZjCGtyfwqI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DykDmFydq0CjC-FAnZjCGtyfwqI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DykDmFydq0CjC-FAnZjCGtyfwqI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DykDmFydq0CjC-FAnZjCGtyfwqI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/CJYUBhXybyg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/7441559347840121420/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/06/eu-ja-falei-eu-quero-ser-agil.html#comment-form" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7441559347840121420?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7441559347840121420?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/CJYUBhXybyg/eu-ja-falei-eu-quero-ser-agil.html" title="Eu já falei eu quero ser “Ágil”" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/06/eu-ja-falei-eu-quero-ser-agil.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUHRXg4cSp7ImA9WxJQGEk.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-7315128341807819756</id><published>2009-06-01T00:08:00.001-07:00</published><updated>2009-06-01T00:10:34.639-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-01T00:10:34.639-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Controle de concorrência" /><category scheme="http://www.blogger.com/atom/ns#" term="Linq to Sql" /><title>Controle de concorrência com Linq to Sql</title><content type="html">&lt;p&gt;Este artigo discutirá como o Linq to Sql suporta o tratamento a concorrência otimista.&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Suporte do Linq to Sql&lt;br /&gt;&lt;/strong&gt;O L2S e o &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.aspx"&gt;DataContext&lt;/a&gt; foi feito para suportar o controle de concorrência otimista, assim as alterações só são bem sucedidas se o estado do DB não mudou desde que recuperados os dados inicialmente.&lt;/p&gt;&lt;p align="justify"&gt;Antes de nos aprofundarmos em L2SQL vamos aos conceitos de concorrência pessimista e otimista.&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Concorrência Pessimista&lt;br /&gt;&lt;/strong&gt;Este tipo de tratamento de concorrência bloqueava os registros no Banco de Dados enquanto as alterações eram realizadas, evitando que outros usuários fizessem alterações ao mesmo tempo. &lt;/p&gt;&lt;p align="justify"&gt;Este tipo de solução era bastante comum em sistemas “Windows Applications” pequenos. O que é inviável para sistemas com uma grande escala de usuários, ou “disconnected environment” como objetos guardados numa sessão Asp.Net.&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Concorrência Otimista&lt;br /&gt;&lt;/strong&gt;Este modelo, permite que qualquer usuário faça alterações nas suas cópias de dados. Entretanto, quando estes valores forem salvos, primeiro deverá ser verificado se os valores modificados possuem como valores antigos os mesmos presentes no Banco de Dados. Se houver um conflito, o sistema deverá saber como se comportar.&lt;/p&gt;&lt;p align="justify"&gt;Para melhor compreensão, este código Sql mostra como esta comparação é feita e como o conflito é identificado:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;UPDATE dbo.Book&lt;br /&gt;SET Title = @NewTitle,&lt;br /&gt;Subject = @NewSubject,&lt;br /&gt;Publisher = @NewPublisher,&lt;br /&gt;PubDate = @NewPubDate,&lt;br /&gt;Price = @NewPrice,&lt;br /&gt;PageCount = @NewPageCount,&lt;br /&gt;Isbn = @NewIsbn,&lt;br /&gt;WHERE ID = @ID AND Title = @OldTitle AND&lt;br /&gt;Subject = @OldSubject AND&lt;br /&gt;Publisher = @OldPublisher AND&lt;br /&gt;PubDate = @PubDate AND&lt;br /&gt;Price = @Price AND&lt;br /&gt;PageCount = @PageCount AND&lt;br /&gt;Isbn = @OldIsbn AND&lt;br /&gt;RETURN @@RowCount&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="justify"&gt;Os objectos em memória guardam o valor original (o valor obtido da base de dados) e o valor actual (novo valor atribuído pelo utilizador). Como já terá percebido, um conflito ocorre quando o valor original do objecto não corresponde ao valor presente na base de dados, ou seja, na cláusula &lt;em&gt;where&lt;/em&gt; vai um parâmetro onde o seu valor não corresponde ao valor presente na base de dados.&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;Solução para Optimistic concurrency&lt;br /&gt;&lt;/strong&gt;Lembrando apenas que para uma “Optimistic concurrency” temos 3 formas de resolver e elas serão abordadas usando Linq to Sql:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;Retém as alterações feitas inicialmente (Já persistidas no BD);&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Conserva a ultima alteração;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Faz um merge dos valores;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;&lt;/strong&gt;&lt;p align="justify"&gt;&lt;strong&gt;Suporte Linq to Sql a solução para Optimistic concurrency&lt;br /&gt;&lt;/strong&gt;Precisamos antes de mais nada saber quais são os conflitos e informar ao Linq to Sql (DataContext) como resolver. &lt;/p&gt;&lt;p align="justify"&gt;O DataContext nos permite descobrir não somente os objetos que estão em conflito, como as propriedades que são diferentes entre o valor original, o valor alterado, e&lt;br /&gt;o valor atual do banco de dados. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;UpdateCheck&lt;/strong&gt;: Essa propriedade utilizada no mapeamento das entidades Linq para as colunas do DB, diz ao L2Sql como o mesmo utilizará esta coluna no procesamento da concorrência otimista (opções: Always (default), Never, WhenChanged).&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb399394.aspx"&gt;Esta propriedade determina a geração daquele Sql&lt;/a&gt; descrito lá em cima, portanto use com moderação para não degradar a performance (Considere outras formas como uso de RowVersion ou TimeStamp);&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb345922.aspx"&gt;ConflictMode&lt;/a&gt;&lt;/strong&gt;: Pode ser usado junto com o SubmitChanges. Permite-nos dizer como os conflitos deverão ser notificados quando detectado;&lt;/div&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;ContinueOnConflict: As alterações possíveis são realizadas e os conflitos são colocados numa collection e retornados ao fim do processo;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;FailOnFirstConflict: Atualizações param imediatamente após a primeira ocorrência de conflito;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p align="center"&gt;&lt;em&gt;&lt;strong&gt;Db.SubmitChanges(ConflictMode.ContinueOnConflict);&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;RefreshMode&lt;/strong&gt;: Permite-nos definir como o aplicativo deverá se comportar (tratar)  ao encontrar um conflito (Optimistic concurrency). Manter valores originais, valores atuais do BD ou novos valores.&lt;/div&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;KeepChanges&lt;/strong&gt;: Mantém os correntes valores que foram alterados, mas atualiza os outros valores com os correntes no banco de dados (Foco nas alterações e na ordem de ultima alteração é persistida);&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;KeepCurrentValues&lt;/strong&gt;: Troca os valores originais pelos obtidos da base de dados. Valores atuais não são modificados;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;OverWriteCurrentValues&lt;/strong&gt;: Sobrescreve suas alterações com os valores presentes no banco de dados;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p align="justify"&gt;Até a próxima!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-7315128341807819756?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5GhaUV6PtOsmEO9AJpBRWpbpEs0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5GhaUV6PtOsmEO9AJpBRWpbpEs0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5GhaUV6PtOsmEO9AJpBRWpbpEs0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5GhaUV6PtOsmEO9AJpBRWpbpEs0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/OJx2vM-MrRA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/7315128341807819756/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/06/controle-de-concorrencia-com-linq-to.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7315128341807819756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7315128341807819756?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/OJx2vM-MrRA/controle-de-concorrencia-com-linq-to.html" title="Controle de concorrência com Linq to Sql" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/06/controle-de-concorrencia-com-linq-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUMRnkyfip7ImA9WxJRFUg.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-4063624552054377736</id><published>2009-05-17T04:04:00.001-07:00</published><updated>2009-05-17T04:04:47.796-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-17T04:04:47.796-07:00</app:edited><title>Persistence Ignorance and POCO in Entity Framework 4.0</title><content type="html">&lt;p align="justify"&gt;A MS está reagindo bem as críticas feitas pela comunidade. A crítica mais forte foi sobre “persistence ignorance”. E o ADO.Net Team promete uma novo Release Candidate, com várias mudanças, “&lt;a href="http://blogs.msdn.com/adonet/archive/2009/05/11/sneak-preview-persistence-ignorance-and-poco-in-entity-framework-4-0.aspx"&gt;Persistence Ignorance” é uma delas&lt;/a&gt;. &lt;/p&gt;  &lt;p align="justify"&gt;Assim uma entidade para ser persistida pelo Entity framework, não precisa herdar de uma classe específica, ou implementar interface específica. Enfim, teremos um modelo de domínio limpo, sem misturar tecnologia de persistencia com as entidades.&lt;/p&gt;  &lt;p&gt;Acompanhem diretamente do Blog do &lt;a href="http://blogs.msdn.com/adonet/default.aspx"&gt;ADO.NET Team&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-4063624552054377736?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4MrCAlpOFTpzDQKSrUqbjPwnkKY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MrCAlpOFTpzDQKSrUqbjPwnkKY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4MrCAlpOFTpzDQKSrUqbjPwnkKY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MrCAlpOFTpzDQKSrUqbjPwnkKY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/MyOnFlK04o0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/4063624552054377736/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/05/persistence-ignorance-and-poco-in.html#comment-form" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/4063624552054377736?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/4063624552054377736?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/MyOnFlK04o0/persistence-ignorance-and-poco-in.html" title="Persistence Ignorance and POCO in Entity Framework 4.0" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/05/persistence-ignorance-and-poco-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IESHc_eyp7ImA9WxJRFEo.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-3308834152784040066</id><published>2009-05-11T22:46:00.001-07:00</published><updated>2009-05-16T05:05:09.943-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-16T05:05:09.943-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="Scrum" /><title>O "manifesto ágil" adverte: Adotar Scrum sem as práticas ágeis de desenvolvimento de software faz mal a saúde do projeto.</title><content type="html">&lt;p align="justify"&gt;Há algum tempo venho estudando sobre práticas ágeis, e sua adoção e confesso que sinto-me receioso com a forma mais básica de “adoção ao mundo ágil”. A regra básica é: Adotamos Scrum e “XaZAM”, sou ágil. E antes que algum “Scrum Master” fique chateado, vou explicar-me.&lt;/p&gt;  &lt;p align="justify"&gt;Gosto de Scrum, é leve, simples, direto, eficaz, é voltado a ROI (nada nais justo e óbvio), envolvente, favorece a comunicação e etc. Entretanto,&lt;em&gt; minha opnião é que todo livro ou material de Scrum devia vir com uma tarja preta com a seguinte frase:&lt;/em&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="center"&gt;&lt;strong&gt; “Scrum é um processo centrado em técnicas de gerenciamento de projetos” &lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Assim, Scrum  &lt;a href="http://martinfowler.com/bliki/FlaccidScrum.html"&gt;deliberadamente omite qualquer prática técnica, em contraste (por exemplo) com Extreme Programming&lt;/a&gt; (leiam &lt;a href="http://martinfowler.com/FlaccidScrum.html"&gt;FlaccidScrum&lt;/a&gt;). Ou seja ela admite que seu projeto adota boas práticas de desenvolvimento de software. &lt;/p&gt;  &lt;p align="justify"&gt;Como descobrir que as coisas não andam bem:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Seu projeto adota boas práticas de desenvolvimento? Vc adota práticas ágeis?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;É capaz de entregar software rapidamente, no prazo, mas sempre cria Débito Técnico (os famosos, depois agente ajeita)?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Como anda sua integração contínua? Consegue liberar uma versão em 15 minutos?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Como andam seus testes? Cobertura alta? Automatizados?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Tem medo de alterar código e quebrar em outro canto?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Equipe energizada e auto organizável?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A cada Sprint a velocidade da equipe parece diminuir?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Os BUGs estão em queda constante?&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Sua equipe e seus chefes conhecem e acreditam no &lt;a href="http://agilemanifesto.org/"&gt;manifesto ágil&lt;/a&gt;? Ou processo é sagrado e atrapalha mais que ajuda?&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Eu compartilhp da visão do &lt;a href="http://www.akitaonrails.com/2009/02/03/tradu-o-scrum-fl-cido"&gt;Akita&lt;/a&gt;, de que geralmente a adoção ocorre de cima para baixo, e isso pode ocultar ou dar menos importância a filosofia ágil e as boas práticas de desenvolvimento, dentro da equipe de desenvolvimento. O que o “James Shore” defina da seguinte forma:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="center"&gt;“&lt;a href="http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html"&gt;These psuedo-Agile teams are having dessert every night and skipping their vegetables&lt;/a&gt;”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;Portanto, apesar de seu chefe achar legal a adoção de Scrum, lembre-se que Scrum não é bala de prata e de nada adianta um software, feito nas cochas, sem nenhuma prática ágil de desenvolvimento. Se tudo é feito as pressas e com milhões de Bugs e débito técnico, seu projeto está fadado ao fracasso.&lt;/p&gt;&lt;p align="justify"&gt;Nota 1 – Leitura recomendada: &lt;a href="http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches"&gt;Scrum e XP direto das Trincheiras&lt;/a&gt;; &lt;a href="http://www.amazon.com/Art-Agile-Development-James-Shore/dp/0596527675/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1242105735&amp;amp;sr=1-1"&gt;The Art of Agile Development&lt;/a&gt;; &lt;a href="http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1242105793&amp;amp;sr=1-1"&gt;Extreme Programming Explained:&lt;/a&gt; &lt;a href="http://www.aspercom.com.br/ead/course/view.php?id=15"&gt;Curso de Scrum com Rodrigo Yoshima&lt;/a&gt;;&lt;/p&gt;  &lt;p align="justify"&gt;Nota 2 - Definições de SCRUM (Processo x Metodologia x Framework x Só de Gestão x De Software .. Eu pouco me importo com a &lt;a href="http://pt.wikipedia.org/wiki/Etimologia"&gt;etimologia&lt;/a&gt;, importo me com a filosofia ágil) Confira a variedade de definições:&lt;/p&gt;  &lt;p align="justify"&gt;Embora a &lt;a href="http://pt.wikipedia.org/wiki/Scrum"&gt;wikipedia venha com esta definição de Scrum&lt;/a&gt; “&lt;b&gt;Scrum&lt;/b&gt; é um método ágil para &lt;a href="http://pt.wikipedia.org/wiki/Gerenciamento_de_Projetos"&gt;Gerenciamento de Projetos&lt;/a&gt;.”, gostaria de lembrar que Scrum foi feito para desenvolvimento de Software (Milfont me chamou atenção disso! foi mal, só copiei a definição do wiki :-P  )&lt;/p&gt;  &lt;p align="justify"&gt;“&lt;a href="http://www.scrumalliance.org/pages/what_is_scrum"&gt;Scrum is an agile software development framework&lt;/a&gt;.” definido por &lt;a href="http://www.scrumalliance.org/pages/what_is_scrum"&gt;Scrum Alliance&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;“Scrum is an agile process for software development” definido por &lt;a href="http://www.mountaingoatsoftware.com/scrum/"&gt;Mountain Goat&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.ibm.com/developerworks/rational/library/feb05/krebs/"&gt;“Scrum is an agile* software-management process&lt;/a&gt;” definido por &lt;a href="http://www.ibm.com/developerworks/rational/library/feb05/krebs/"&gt;IBM&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-3308834152784040066?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hU4t3v02PQacLvGp3k2TrIhPDNw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hU4t3v02PQacLvGp3k2TrIhPDNw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hU4t3v02PQacLvGp3k2TrIhPDNw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hU4t3v02PQacLvGp3k2TrIhPDNw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/N8sC3gxuvX0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/3308834152784040066/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/05/sou-agil-sim-olha-o-prazo-curto.html#comment-form" title="3 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3308834152784040066?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3308834152784040066?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/N8sC3gxuvX0/sou-agil-sim-olha-o-prazo-curto.html" title="O &quot;manifesto ágil&quot; adverte: Adotar Scrum sem as práticas ágeis de desenvolvimento de software faz mal a saúde do projeto." /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/05/sou-agil-sim-olha-o-prazo-curto.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMDQn08fCp7ImA9WxVaFUQ.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-7578193398969773411</id><published>2009-04-12T20:45:00.000-07:00</published><updated>2009-04-12T20:47:53.374-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-12T20:47:53.374-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linq to Sql" /><title>10 Dicas de como turbinar sua aplicação (Linq to Sql</title><content type="html">Segue um bom post com 10 dicas de como turbinar sua aplicação que usa Linq to Sql.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sidarok.com/web/blog/content/2008/05/02/10-tips-to-improve-your-linq-to-sql-application-performance.html"&gt;10 Tips to Improve your LINQ to SQL Application Performance&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-7578193398969773411?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7We6n7o9RMa0Cm398RmayTDp4Kc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7We6n7o9RMa0Cm398RmayTDp4Kc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7We6n7o9RMa0Cm398RmayTDp4Kc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7We6n7o9RMa0Cm398RmayTDp4Kc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/bjdiy6C_GyI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/7578193398969773411/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/04/10-dicas-de-como-turbinar-sua-aplicacao.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7578193398969773411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7578193398969773411?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/bjdiy6C_GyI/10-dicas-de-como-turbinar-sua-aplicacao.html" title="10 Dicas de como turbinar sua aplicação (Linq to Sql" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/04/10-dicas-de-como-turbinar-sua-aplicacao.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEMQXY5fSp7ImA9WxVaFkg.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-3022849318923782063</id><published>2009-04-09T21:56:00.000-07:00</published><updated>2009-04-13T13:14:40.825-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-13T13:14:40.825-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linq to Sql" /><title>DataContext - Unico por aplicação, varios...?</title><content type="html">&lt;div style="text-align: justify;"&gt;        Tenho acompanhado em vários foruns uma dúvida comum, sobre se devemos criar um único DataContext por aplicação ou vários, ou por DAO... Enfim, DataContext é um cara um pouco mal compreendido.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Vamos por partes (como diria o Dexter):&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; font-weight: bold; "&gt;DataContext por DAO&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;          Neste cenário temos toda uma arquitetura definida de modo que as classes de DAO herdam de AbstractDAO que por sua vez implementa IDAO, que define os métodos de CRUD de uma entidade. A idéia é que todo DAO já herde o CRUD de forma automática e fácil. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Na classe abstrata também é definido como o DataContext é obtido, ou seja temos isolado o acesso ao Linq apenas dentro das classes de DAO. Não vou descrever detalhadamente, ou questionar solução pois não é o foco deste post. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;          O ponto chave em questão é que temos um DataContext por DAO. E neste cenário podemos ter transações que alterem o estado de um DataContext enquanto outro não ficou ciente das alterações. Isto acontecendo na mesma requisição web, trará inconsistencias indesejadas. Isso porque o DataContext implementa o padrão "&lt;a href="http://martinfowler.com/eaaCatalog/identityMap.html"&gt;Identity Map&lt;/a&gt;", assim uma cópia dos objetos identificados pela "Key" é guardado em cache, não sendo realizada uma nova consulta Sql enquanto a instância do DataContext estiver viva.  Ou seja, para a maioria das aplicações, não é uma boa solução.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;DataContext único&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;         Acho que este cenário é o mais utilizado. Nele temos apenas uma instância do DataContext por aplicação e isso é garantido usando o padrão Singleton. Para um cenário de uma aplicação "DeskTop pura", já resolve tranquilamente.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;        Nesta solução temos uma baixa complexidade, e não temos problemas com transações que passem por vários métodos que possuam sua própria instancia de DataContext. Não teremos DataContexts com estados diferentes na mesma época, causando inconsistências. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;       Entretanto, "DC" (intimos já) não são thread safe. E se sua solução tiver possibilidade de uma outra aplicação disputando o mesmo Banco de Dados, aí definitivamente você terá um problema dos bons. Pois o DataContext, como bom DataMapper possui um espelho do seu banco de dados e ficará constantemente desatualizado. Outro ponto complicado é que se você setar as propriedades "&lt;a href="http://msdn.microsoft.com/pt-br/library/system.data.linq.datacontext.objecttrackingenabled.aspx"&gt;ObjectTrackingEnabled&lt;/a&gt;" e "&lt;a href="http://msdn.microsoft.com/pt-br/library/system.data.linq.datacontext.deferredloadingenabled.aspx"&gt;DeferredLoadingEnabled&lt;/a&gt;" pensando em uma operação específica, ela terá impacto em todas as outras operações.&lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Fazendo um simples teste para entender como o DataContext funciona - &lt;a href="http://martinfowler.com/eaaCatalog/dataMapper.html"&gt;DataMapper&lt;/a&gt; (Vendo com os próprios olhos):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1.Crie uma simples aplicação (só pra testar) com o singleton do DataContext, como o código  ao lado usando o BD NorthWind e tabela Categorias:&lt;/div&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;public class DataContextFactory&lt;br /&gt;{&lt;br /&gt;//Instancia única&lt;br /&gt;private static DataContext _dataContext;&lt;br /&gt;&lt;br /&gt;//Método que devolve a instância única&lt;br /&gt;public DataContext GetContext()&lt;br /&gt;{&lt;br /&gt;   if(_dataContext == null)&lt;br /&gt;   _dataContext = new DataContext(Settings.Default.NorthwindConnectionString);&lt;br /&gt;&lt;br /&gt;return _dataContext;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;2.Crie uma classe de DAO e implemente um simple GetAll()&lt;/div&gt;&lt;br /&gt;&lt;pre name="code" class="java"&gt;&lt;br /&gt;public class CategoriaDAO&lt;br /&gt;  {&lt;br /&gt;      //Retorna todas as categorias&lt;br /&gt;      public IList&lt;category&gt; getAll()&lt;br /&gt;      {&lt;br /&gt;          DataContext DataContext = DataContextFactory.GetContext();&lt;br /&gt;          return DataContext.GetTable&lt;category&gt;().ToList&lt;category&gt;();&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;/category&gt;&lt;/category&gt;&lt;/category&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;3.  Popule a página verifique os resultados&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VhcQPqpvAe0/Sd7oBvv63SI/AAAAAAAAADE/4MIg-r-fEWg/s1600-h/CategoriasWeb02.jpg"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 360px; height: 141px;" src="http://1.bp.blogspot.com/_VhcQPqpvAe0/Sd7oBvv63SI/AAAAAAAAADE/4MIg-r-fEWg/s320/CategoriasWeb02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5322946926293474594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;4. Altere um registro no Banco&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VhcQPqpvAe0/Sd7oBUiNbfI/AAAAAAAAAC0/YMMMOxBYuHM/s1600-h/CategoriasDB02.jpg"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 146px;" src="http://3.bp.blogspot.com/_VhcQPqpvAe0/Sd7oBUiNbfI/AAAAAAAAAC0/YMMMOxBYuHM/s320/CategoriasDB02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5322946918988213746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. Refresh na página e... nada mudou. Pois é. DataContext desatualizado.&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic; font-weight: bold; "&gt;DataContext e UnitWork&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Uma boa forma de utilizar Linq to Sql é utilizando o DataContext conforme o padrão &lt;a href="http://martinfowler.com/eaaCatalog/unitOfWork.html"&gt;Unit of Work&lt;/a&gt;, de modo que o ciclo de vida do DataContext será apenas enquanto durar a "business transaction", que pode afetar o banco de dados. De fato, até o &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.linq.datacontext.aspx"&gt;MSDN indica a utilização de DataContext por "unit of work".&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;É facil de identificar o quanto este padrão é indicado, pela capacidade de monitoramento  das alterações feitas a qualquer objeto que tenha  carregado. O DataContext sabe o que mudou (deletado, inserido, atualizado), nos possibilitando o famoso "submitChanges()".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;MSDN&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 15px; "&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;blockquote&gt;&lt;span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;In general, a DataContext instance is designed to last for one "unit of work" however your application defines that term&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Segundo Martin Folwler &lt;blockquote&gt;A Unit of Work keeps track of everything you do during a business transaction  that can affect the database. When you're done, it figures out everything that  needs to be done to alter the database as a result of your work.&lt;/blockquote&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Uma boa implementação desse padrão é colocar o DataContext no contexto da aplicação, ou seja, para aplicações web, terá duração da requisição. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Espero que tenha ajudado!! No próximo Post irei demonstrar formas de como implementar este padrão para aplicações Web ou  DeskTop.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-3022849318923782063?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/px0t8_fm-SmDFDus5TE5C1fIBn0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/px0t8_fm-SmDFDus5TE5C1fIBn0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/px0t8_fm-SmDFDus5TE5C1fIBn0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/px0t8_fm-SmDFDus5TE5C1fIBn0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/Nko1JZ9v-9s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/3022849318923782063/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/04/datacontext-unico-por-aplicacao-varios.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3022849318923782063?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3022849318923782063?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/Nko1JZ9v-9s/datacontext-unico-por-aplicacao-varios.html" title="DataContext - Unico por aplicação, varios...?" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_VhcQPqpvAe0/Sd7oBvv63SI/AAAAAAAAADE/4MIg-r-fEWg/s72-c/CategoriasWeb02.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/04/datacontext-unico-por-aplicacao-varios.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMNQHw5eyp7ImA9WxVbFUs.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-4399992943547953378</id><published>2009-03-31T21:22:00.001-07:00</published><updated>2009-03-31T22:41:31.223-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-31T22:41:31.223-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>Value Type x Reference Type and Methods</title><content type="html">Nós sempre estudamos isso e com o passar do tempo caí um pouco no esquecimento.&lt;div&gt;&lt;span style="font-weight:bold;"&gt;Definições&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Value Types&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Possuem seus valores armazenado diretamente nas variáveis (na pilha).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Reference types&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Possuem apenas o endereço na pilha, que aponta para o valor armazenado no "Heap".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ou seja quando criamos um objeto para o compilador estamos fazendo:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://4.bp.blogspot.com/_VhcQPqpvAe0/SdLzqFRnwRI/AAAAAAAAACk/TQV5_lQ5hms/s320/ValueTypeReference.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 183px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5319582014174118162" /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Métodos&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;Em C# e Java todo parâmetro é passado por valor. Assim se passarmos um "value type" estaremos passando uma cópia dele. E se passarmos um objeto estamos passando uma cópia da variável que armazena apenas o endereço para o objeto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Isso justifica as seguintes informações:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;"Reference variable to another instance merely creates a second copy of the reference"&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;"Reference types provide a great deal of flexibility, and they offer excellent performance when passing them to methods."&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;?ref?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;E quanto ao método methodHowDo(ref Animal){...}, ele passa o ponteiro por referência e não uma cópia dela.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Té+&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-4399992943547953378?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CYCJSG1LImJxMBP67ECKL4AiWqY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CYCJSG1LImJxMBP67ECKL4AiWqY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CYCJSG1LImJxMBP67ECKL4AiWqY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CYCJSG1LImJxMBP67ECKL4AiWqY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/xueiGGJI8_Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/4399992943547953378/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/value-type-x-reference-type-and-methods.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/4399992943547953378?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/4399992943547953378?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/xueiGGJI8_Y/value-type-x-reference-type-and-methods.html" title="Value Type x Reference Type and Methods" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_VhcQPqpvAe0/SdLzqFRnwRI/AAAAAAAAACk/TQV5_lQ5hms/s72-c/ValueTypeReference.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/value-type-x-reference-type-and-methods.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QHQ3c6cCp7ImA9WxVUGUs.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-7066170823802480094</id><published>2009-03-25T00:02:00.000-07:00</published><updated>2009-03-25T00:15:32.918-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-25T00:15:32.918-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IIS 7" /><category scheme="http://www.blogger.com/atom/ns#" term="WCF" /><title>Habilitando serviços no IIS 7.0</title><content type="html">&lt;p&gt;        Para quem estava todo animado desenvolvendo um serviço com WCFe ao tentar consumí-lo no seu Windows Vista ou Windows Server e recebeu a nada amistosa mensagem &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="color:#004080;"&gt;&lt;strong&gt;&lt;em&gt;“The remote server returned an unexpected response: (405) Method not allowed”  &lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;        A possível causa para o problema é que  o  IIS não esteja com os devidos mapeamentos para serviços, ou seja “Application Extension Mapping” para arquivos *.svc.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Solução&lt;/strong&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Se você instalou o IIS depois que o Windows Comunication Foundation foi instalado, você deve executar o seguinte comando:&lt;br /&gt;%WINDIR%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe –r &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Abra o Gerenciado dos Serviços de Informações da Internet (o velho Gerenciado do IIS - command prompt “&lt;em&gt;inetmgr&lt;/em&gt;” &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Expanda a lista de sites e clique em “Default Web Site” &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dê um click duplo em “Mapeamentos de Manipulador” (“Handler mappings”) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Certifique-se que realmente os mapeamentos para os arquivos *.svc não existem no seu IIS, caso não existam, prossiga com os seguintes passos:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;Click “Adicionar Manipulador Gerenciador” &lt;/li&gt;&lt;li&gt;No campo “Caminho da solicitação”, preencha com “*.svc” &lt;/li&gt;&lt;li&gt;No campo “Tipo”, preencha com “System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” &lt;/li&gt;&lt;li&gt;No campo nome, preencha com “vc-Integrated” &lt;/li&gt;&lt;li&gt;Click “OK” &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VhcQPqpvAe0/ScnYhMnxm4I/AAAAAAAAAB8/4WMJiF1TLCQ/s1600-h/VistaCOMSVC02.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 202px;" src="http://1.bp.blogspot.com/_VhcQPqpvAe0/ScnYhMnxm4I/AAAAAAAAAB8/4WMJiF1TLCQ/s320/VistaCOMSVC02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5317018899922918274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/$VistaCOMSVC01[13].jpg" style="text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;ol&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Click “Adicionar Mapeamento de Script ” &lt;/li&gt;&lt;li&gt;No campo “Caminho da solicitação”, preencha com “*.svc” &lt;/li&gt;&lt;li&gt;No campo “Executável”, preencha com “%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll” &lt;/li&gt;&lt;li&gt;No campo nome, preencha com “svc-ISAPI-2.0” &lt;/li&gt;&lt;li&gt;Click “OK” &lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VhcQPqpvAe0/ScnYg8pBI1I/AAAAAAAAAB0/T6lZhtbRLQU/s1600-h/VistaCOMSVC01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 202px;" src="http://4.bp.blogspot.com/_VhcQPqpvAe0/ScnYg8pBI1I/AAAAAAAAAB0/T6lZhtbRLQU/s320/VistaCOMSVC01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5317018895633163090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Boa Sorte e espero ter ajudado!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-7066170823802480094?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s8lDpeKS3RbzjyrrxXhI2Nfdzyo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s8lDpeKS3RbzjyrrxXhI2Nfdzyo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s8lDpeKS3RbzjyrrxXhI2Nfdzyo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s8lDpeKS3RbzjyrrxXhI2Nfdzyo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/uxUy4hNYRpc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/7066170823802480094/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/para-quem-estava-todo-animado.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7066170823802480094?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/7066170823802480094?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/uxUy4hNYRpc/para-quem-estava-todo-animado.html" title="Habilitando serviços no IIS 7.0" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_VhcQPqpvAe0/ScnYhMnxm4I/AAAAAAAAAB8/4WMJiF1TLCQ/s72-c/VistaCOMSVC02.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/para-quem-estava-todo-animado.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cMSHk9fCp7ImA9WxVUFk0.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-563857834625219797</id><published>2009-03-20T21:10:00.000-07:00</published><updated>2009-03-20T21:18:09.764-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-20T21:18:09.764-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Vista" /><category scheme="http://www.blogger.com/atom/ns#" term="IIS 7" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Configurando o Visual Studio 2008 com IIS 7.0</title><content type="html">Alguns desenvolvedores, (inclusive eu numa máquina virtual) passaram por alguns problemas pra configurar o Visual Studio 2008 com o IIS 7.0 no Windows Vista.&lt;br /&gt;&lt;br /&gt;A dica é dá uma olhada neste dois artigos, bem úteis:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://learn.iis.net/page.aspx/387/using-visual-studio-2008-with-iis-70/"&gt;Mike Volodarsky (en)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.marcosdellantonio.net/2008/08/10/visual-studio-2008-e-iis-70/"&gt;Marcos Dell' Antonio (pt)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Té+&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-563857834625219797?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_UDXLRQganrY7vAYEVXMpZr_AxU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_UDXLRQganrY7vAYEVXMpZr_AxU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_UDXLRQganrY7vAYEVXMpZr_AxU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_UDXLRQganrY7vAYEVXMpZr_AxU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/Btob10a-T1A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/563857834625219797/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/configurando-o-visual-studio-2008-com.html#comment-form" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/563857834625219797?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/563857834625219797?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/Btob10a-T1A/configurando-o-visual-studio-2008-com.html" title="Configurando o Visual Studio 2008 com IIS 7.0" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/configurando-o-visual-studio-2008-com.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4GSH49eip7ImA9WxVUFU0.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-901106502950882419</id><published>2009-03-19T16:52:00.000-07:00</published><updated>2009-03-19T17:12:09.062-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-19T17:12:09.062-07:00</app:edited><title>Lançado o Internet Explorer 8</title><content type="html">Lançado o IE 8. Vamos ver se o IE vai continuar firme no mercado. &lt;div&gt;Os destaques do novo Browser da MS são :&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;WebSlices&lt;/li&gt;&lt;li&gt;Tab Groups&lt;/li&gt;&lt;li&gt;Botão de compatibilidade&lt;/li&gt;&lt;li&gt;Acelerador&lt;/li&gt;&lt;li&gt;Navegação privada&lt;/li&gt;&lt;li&gt;Caixa de busca avançada&lt;/li&gt;&lt;li&gt;Barra de endereços inteligente&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Entretanto segundo testes realizados entre os 5 browsers mais utilizados, o IE ficou em ultimo lugar! &lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://idgnow.uol.com.br/internet/999/12/31/ie-8-confira-7-funcoes-que-se-destacam-no-novo-browser-da-microsoft/paginador/pagina_2"&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;fonte IDGNOW&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.microsoft.com/brasil/windows/internet-explorer/default.aspx"&gt;Download em &lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-901106502950882419?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Eu-DI-DuPojqUARANuuRbyixohM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Eu-DI-DuPojqUARANuuRbyixohM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Eu-DI-DuPojqUARANuuRbyixohM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Eu-DI-DuPojqUARANuuRbyixohM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/KxE0um2AKvo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/901106502950882419/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/lancado-o-ie-8.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/901106502950882419?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/901106502950882419?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/KxE0um2AKvo/lancado-o-ie-8.html" title="Lançado o Internet Explorer 8" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/lancado-o-ie-8.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AGR3kyeip7ImA9WxVUEUU.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-1573843287462809741</id><published>2009-03-15T20:04:00.001-07:00</published><updated>2009-03-15T22:35:26.792-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-15T22:35:26.792-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linq to Sql" /><title>Linq to Sql suporta Enumeradores</title><content type="html">&lt;p align="justify"&gt;       Os “&lt;a href="http://msdn.microsoft.com/en-us/library/sbbt4032(VS.71).aspx"&gt;enumeradores&lt;/a&gt;” são bastante úteis aos desenvolvedores, evitando uma checagem do tipo string (coisa como &lt;strong&gt;if(tipo == “TEXT”)&lt;/strong&gt;)  , sucetível a erros e sem nenhum formalismo semantico nas nossas classes. Mais sobre a utilização avançada de enumeradores ver &lt;a href="http://bacellar.org/blog/?p=81"&gt;neste bom post&lt;/a&gt;, ou sobre como popular combobox com enumeradores &lt;a href="http://imasters.uol.com.br/artigo/8711/populando_um_combobox_com_enumeradores"&gt;aqui&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;O &lt;strong&gt;&lt;em&gt;Linq to Sql &lt;/em&gt;&lt;/strong&gt;por sua vez suporta o uso de enumeradores de forma simples, como descrito abaixo:&lt;/p&gt;  &lt;p&gt;public enum ItemType  &lt;br /&gt;   {   &lt;br /&gt;       Text = 0,   &lt;br /&gt;       Image = 1   &lt;br /&gt;   }&lt;/p&gt;  &lt;p align="justify"&gt;[Table]  &lt;br /&gt;public class Item     {   &lt;br /&gt;   private ItemType _type;&lt;/p&gt;  &lt;p&gt;[Column]  &lt;br /&gt;public ItemType Type   &lt;br /&gt;{   &lt;br /&gt;        get { return _type;}   &lt;br /&gt;        set { _type = value;}   &lt;br /&gt;} &lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Vantágens:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ao construirmos o objeto do tipo “Item” setamos suas propriedades que pro caso do “Type” será sempre consistente com o &lt;strong&gt;enum &lt;/strong&gt;definido na aplicação;&lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;O linq to Sql automáticamente trará os objetos do tipo “&lt;strong&gt;Item” &lt;/strong&gt;com seus enumeradores &lt;strong&gt;“Type”&lt;/strong&gt; setados;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;strong&gt;Observações&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;O &lt;strong&gt;enum&lt;/strong&gt; é Value Type;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Os enumeradores podem ainda suportar os tipos (byte / Byte, sbyte / SByte, short / Short, ushort / UShort, int / Integer, uint / UInteger, long Long, ulong / ULong).  Entretanto, não suporta String assim não teremos no banco Flags descritivas como “TXT” ou “IMG”, mas 0,1;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-1573843287462809741?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IZSENeW87sRVRfFvpaAJn5UIq2A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IZSENeW87sRVRfFvpaAJn5UIq2A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IZSENeW87sRVRfFvpaAJn5UIq2A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IZSENeW87sRVRfFvpaAJn5UIq2A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/SzHLSUP8XDQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/1573843287462809741/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/linq-to-sql-suporta-enumeradores.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/1573843287462809741?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/1573843287462809741?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/SzHLSUP8XDQ/linq-to-sql-suporta-enumeradores.html" title="Linq to Sql suporta Enumeradores" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/linq-to-sql-suporta-enumeradores.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QFRn0-cSp7ImA9WxVVFk4.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-2494814453254313167</id><published>2009-03-09T15:45:00.000-07:00</published><updated>2009-03-09T15:55:17.359-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-09T15:55:17.359-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="javascript" /><category scheme="http://www.blogger.com/atom/ns#" term="ajax" /><title>Técnicas JavaScript e Ajax pra aumentar experiência do usuário</title><content type="html">&lt;div align="justify"&gt;        Como falei no post anterior sobre Ajax a web está cada vez mais dinâmica e a utilização de novos conceitos e tecnologias tem aumentado consideravelmente a experiência do usuário.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;       Para que os desenvolvedores/designers não repitam com a "Web 2.0" e interface ricas, o mesmo erro do surgimento das animações gráficas em Flash, onde uma simples caixa de texto voava e soltava raios, atrapalhando mais do que ajudando.  Este artigo: &lt;a title="70 New, Useful AJAX And JavaScript Techniques" href="http://www.smashingmagazine.com/2009/03/08/70-new-useful-ajax-and-javascript-techniques/" rel="bookmark"&gt;70 New, Useful AJAX And JavaScript Techniques&lt;/a&gt;, apresenta 70 novas e úteis técnicas JavaScript e AJAX , que são da mais alta qualidade e são mais ou menos fácil de configurar.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-2494814453254313167?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eHT3aheNBBUFrbsJWh0Bu_BKwUk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eHT3aheNBBUFrbsJWh0Bu_BKwUk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eHT3aheNBBUFrbsJWh0Bu_BKwUk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eHT3aheNBBUFrbsJWh0Bu_BKwUk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/tilpFXoAlXg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/2494814453254313167/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/tecnicas-javascript-e-ajax-pra-aumentar.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2494814453254313167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2494814453254313167?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/tilpFXoAlXg/tecnicas-javascript-e-ajax-pra-aumentar.html" title="Técnicas JavaScript e Ajax pra aumentar experiência do usuário" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/tecnicas-javascript-e-ajax-pra-aumentar.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUECRHo-eSp7ImA9WxVVFUk.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-2221615693738716472</id><published>2009-03-08T12:24:00.001-07:00</published><updated>2009-03-08T13:21:05.451-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T13:21:05.451-07:00</app:edited><title>AJAX - Parte I</title><content type="html">O poder do &lt;a href="http://pt.wikipedia.org/wiki/AJAX_(programa%C3%A7%C3%A3o)"&gt;Ajax (Asynchronous Javascript And XML)&lt;/a&gt; trouxe uma grande inovação para os nossos sistemas e na Web de um modo geral, confundindo-se à onda Web 2.0 e apesar de não ser uma nova tecnologia é uma mistura de tecnologias já conhecidas, tendo em seu modelo:&lt;br /&gt;- Apresentação baseada em padrões, usando XHTML e CSS;&lt;br /&gt;- Exposição e interação dinâmica usando o DOM;&lt;br /&gt;- Intercâmbio e manipulação de dados usando XML e XSLT;&lt;br /&gt;- Recuperação assíncrona de dados usando o objeto XMLHttpRequest;&lt;br /&gt;- e JavaScript unindo todas elas em conjunto.&lt;br /&gt;&lt;br /&gt;Entretanto a adoção mais comum dessa forma de desenvolver páginas e sites com comunicações assíncronas tem se resumido apenas a "adotar controles/componentes visuais" que usam internamente Ajax ao popular os dados, ou seja chamam de forma assíncrona o servidor e atualizam somente parte da página, sem PostBack.&lt;br /&gt;&lt;br /&gt;Sei que esta forma de trabalhar é rápida, simples bastando apenas aprender como os controles funcionam (me refiro a &lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples/"&gt;Ajax Control Toolkit&lt;/a&gt;), mas convido-os a uma imersão neste novo mundo por duas simples razões:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Algumas vezes precisamos de algumas características de IHC que o usuário quer e o controle não vai dar conta;&lt;/li&gt;&lt;li&gt;Existem várias formas de se fazer Neston, e precisamos ao menos conhecê-las. Além do mais usar Web service não quer dizer que minha solução é SOA.&lt;/li&gt;&lt;/ul&gt;Trilha proposta:&lt;br /&gt;1. Como sobreviver com conexões assíncronas na unha. Eu domino o XMLHttpRequest&lt;br /&gt;2. Problemas de encode&lt;br /&gt;3. Decisões sobre formato de dados&lt;br /&gt;4. APIs Ajax - Atlas/Asp.Net Ajax/JQuery&lt;br /&gt;5. Serviços REST&lt;br /&gt;6. WCF e JSON, Astoria&lt;br /&gt;7. SOA - Soa não é somente usar web services&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-2221615693738716472?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/B1LPmvLmyifKj-jBMWuScjfnynQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B1LPmvLmyifKj-jBMWuScjfnynQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/B1LPmvLmyifKj-jBMWuScjfnynQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B1LPmvLmyifKj-jBMWuScjfnynQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/4D4OG4BO1wU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/2221615693738716472/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/ajax-parte-i.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2221615693738716472?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2221615693738716472?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/4D4OG4BO1wU/ajax-parte-i.html" title="AJAX - Parte I" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/ajax-parte-i.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8HRnk7eip7ImA9WxVVEk4.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-1371619932488709815</id><published>2009-03-04T16:58:00.000-08:00</published><updated>2009-03-04T21:27:17.702-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-04T21:27:17.702-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linq to Sql" /><title>Linq to Sql (REST IN PEACE?)</title><content type="html">&lt;div align="justify"&gt;Um dos lançamentos mais promissores do ano passado, que merecia até um maior alarde por parte da comunidade de TI, é o Linq. Basta imaginarmos uma linguagem de consulta única para fontes de dados, seja esta fonte um XML (linq to XML), banco de dados relacional (Linq to Sql), Entidades, TXT, Subversion, CVS, Diretórios... é simplesmente fantástico.&lt;br /&gt;&lt;br /&gt;Outra novidade foi o Linq to Sql (motivo do post) que após utilização e testes sobre o mesmo ainda o considero muito aquém de frameworks de persistência/ORM, como o NHibernate (aliás nem o considero como uma ferramenta ORM) , basta destacar alguns pontos como :&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Suporte somente a Sql server;&lt;/li&gt;&lt;li&gt;Não implementa totalmente "Persistence Ignorance", já que pra trabalharmos com lazy load, temos que utilizar tipo específicos do framework, como EntitySet e EntityRef. Desta forma teremos nossas entidades com forte acoplamento a tecnologia de persistência;&lt;/li&gt;&lt;li&gt;Não é tão flexível ao trabalhar com Herança;&lt;/li&gt;&lt;li&gt;Problemas de serialização, quando uma entidade possui navegabilidade dupla (tipo 1 -N por exemplo);&lt;/li&gt;&lt;li&gt;Não dá suporte a &lt;a href="http://martinfowler.com/bliki/ValueObject.html"&gt;Value Objects&lt;/a&gt;, já que trabalha como um data mapper do tipo: 1 tabela = 1 entidade;&lt;/li&gt;&lt;li&gt;Linq to Sql não sabe nada da existência de ADO.Net Data Services;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;E embora tenha demorado a postar sobre este assunto por motivos de tempo (tinha uma entrega pra fazer). Informo a todos os apaixonados pelo Linq to Sql que a MS não planeja fazer muito mais sobre o L2S (&lt;a href="http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx"&gt;LINQ to SQL and LINQ to Entities Roadmap&lt;/a&gt;), na verdade acho q só irão apenas manter (esquecer), até pq o Entity Framework surge com força total.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Destaco o seguinte trecho do comunicado da equipe da MS:&lt;/em&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;span&gt;"We’re making significant investments in the Entity Framework such that as of .NET 4.0 the Entity Framework will be our recommended data access solution for LINQ to relational scenarios. We are listening to customers regarding LINQ to SQL and will continue to evolve the product based on feedback we receive from the community as well." &lt;/span&gt;&lt;span style="font-size:+0;"&gt;&lt;span style="font-size:0;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style="font-size:0;"&gt;(&lt;/span&gt;&lt;/em&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx"&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;)&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;Pelos motivos citados acima, dá pra ver que não considero o Linq to Sql o meu "TOP ONE" para persistencia, mas a MS falha em simplesmente abandonar o projeto, pois sabemos que cliente sérios fizeram a adoção do L2S, e concordo que o Linq to Sql tinha muita beleza na sua simplicidade, precisando apenas de amadurecimento. Enfim, que venha o Entity Framework!!!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-1371619932488709815?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7yZ4V8m7iLGFjY0571NbbiT2_Ms/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7yZ4V8m7iLGFjY0571NbbiT2_Ms/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7yZ4V8m7iLGFjY0571NbbiT2_Ms/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7yZ4V8m7iLGFjY0571NbbiT2_Ms/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/QQ9Bvq5KEKE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/1371619932488709815/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/linq-to-sql-rest-in-peace.html#comment-form" title="1 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/1371619932488709815?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/1371619932488709815?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/QQ9Bvq5KEKE/linq-to-sql-rest-in-peace.html" title="Linq to Sql (REST IN PEACE?)" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/linq-to-sql-rest-in-peace.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UGQH0zeCp7ImA9WxVVEUw.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-3892597607647085362</id><published>2009-03-03T12:28:00.000-08:00</published><updated>2009-03-03T13:20:21.380-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-03T13:20:21.380-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="desenvolvimento ágil" /><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><title>Sou ágil? (Prazo curto)</title><content type="html">&lt;span style="font-family:georgia;"&gt;Todos já sabem os benefícios do desenvolvimento ágil, coisas como:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;Desenvolvimento em cascata; &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;Ciclos enormes, com demora nos feedbacks do cliente;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;Equipe de desenvolvimento coçando esperando os requisitos serem totalmente fechados&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;Pessoal dos requisitos longe dos desenvolvedores;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;Cliente distante, que não sabe o que quer, e só descobre daqui a seis meses;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:georgia;"&gt;Estatísticas como as que 80% do que o cliente pediu será inútil pra ele ou menos importante;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:georgia;"&gt;e outros mais são resolvidos, eliminados ou abrandados.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:georgia;"&gt;Entretanto, a agilidade nas empresas na maioria das vezes nasce sem coesão nas práticas adotadas. Não gosto de processos capengas que usam toda a rigidez no levantamento de requisitos, mas com sprints de desenvolvimento apertados, sem práticas de modelagem ágeis, sem testes integrados ao desenvolvimento (testes executáveis), artefatos executáveis, nada de ágil exceto pelo fato de entregar coisas em prazos apertados.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-3892597607647085362?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Iz20RGEMrbUlE2W0OoLVBPk9VLo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Iz20RGEMrbUlE2W0OoLVBPk9VLo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Iz20RGEMrbUlE2W0OoLVBPk9VLo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Iz20RGEMrbUlE2W0OoLVBPk9VLo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/E7jdJCMwbKc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/3892597607647085362/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/03/sou-agil-ou-trabalho-sob-demanda.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3892597607647085362?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3892597607647085362?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/E7jdJCMwbKc/sou-agil-ou-trabalho-sob-demanda.html" title="Sou ágil? (Prazo curto)" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/03/sou-agil-ou-trabalho-sob-demanda.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIMQX4_fip7ImA9WxVQFkw.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-1066525985337995599</id><published>2009-02-02T13:28:00.000-08:00</published><updated>2009-02-02T13:36:20.046-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-02T13:36:20.046-08:00</app:edited><title>IE 8 Release Candidate</title><content type="html">A Microsoft anunciou na semana passada o &lt;a href="http://www.microsoft.com/windows/internet-explorer/beta/"&gt;lançamento da versão release candidate do IE 8.0&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vamos conferir se a Microsoft virá com uma boa versão, segurança é uma promessa assim como maior velocidade e interface mais limpa, além de ferramenta para desenvolvedores.&lt;br /&gt;&lt;br /&gt;Lembrando apenas que é bom que cumpra essas promessas já que o IE atingiu baixa histórica com participação de 67,6% em janeiro, diz estudo:&lt;br /&gt;IE atinge baixa histórica com participação de 67,6% em janeiro, segundo estudo:&lt;br /&gt;&lt;a href="http://idgnow.uol.com.br/internet/2009/02/02/ie-atinge-baixa-historica-com-participacao-de-67-6-em-janeiro-diz-estudo/"&gt;fonte IDG Now&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-1066525985337995599?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j19OsyLJ34IQ0NtwGovaN1by4aI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j19OsyLJ34IQ0NtwGovaN1by4aI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/j19OsyLJ34IQ0NtwGovaN1by4aI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j19OsyLJ34IQ0NtwGovaN1by4aI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/qvgb7SlFsKE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/1066525985337995599/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/02/ie-8-release-candidate.html#comment-form" title="2 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/1066525985337995599?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/1066525985337995599?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/qvgb7SlFsKE/ie-8-release-candidate.html" title="IE 8 Release Candidate" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/02/ie-8-release-candidate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEACRn45cSp7ImA9WxVVFEo.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-3589737878371772851</id><published>2009-02-02T08:19:00.000-08:00</published><updated>2009-03-07T17:46:07.029-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-07T17:46:07.029-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Encode" /><title>Problemas de encode</title><content type="html">Esta semana passei por alguns problemas relacionados a encode então segue uma breve dica de como contornei o problema.&lt;br /&gt;&lt;span style="color:#666666;"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color:#333333;"&gt;O cenário era o seguinte:&lt;/span&gt; &lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Tinha uma client fazendo requisições via JavaScript, usando o velho XmlHttpRequest para a parte servidor em Java (servlets apenas), usando o TomCat 6. Foi utilzado o método encodeURIComponent do JavaScript para fazer o encode da URI que passava vários parâmetros.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ffffff;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#333333;"&gt;Problema:&lt;/span&gt;&lt;/em&gt; &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;O encode que queria usar era UTF-8 mas a aplicação java (servlets) em ambiente de teste estava tendo um comportamento diferente do esperado, provavelmente ISO....&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color:#333333;"&gt;Solução:&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;1. No servlet foi setado o encode da seguinte forma:&lt;br /&gt;&lt;br /&gt;resp.setContentType("text/html; charset=UTF-8;pageEncoding=UTF-8");&lt;br /&gt;req.setCharacterEncoding("UTF-8");&lt;br /&gt;&lt;br /&gt;2. Setar no arquivo de configuração server.xml do TomCat em $\Apache Software Foundation\Tomcat 6.0\conf\server.xml&lt;br /&gt;&lt;br /&gt;connector port="8008" protocol="AJP/1.3" uriencoding="UTF-8" usebodyencodingforuri="true" redirectport="8443"&lt;br /&gt;&lt;br /&gt;e&lt;br /&gt;&lt;br /&gt;&lt;--A "Connector" represents an endpoint by which requests are received --&gt;&lt;br /&gt;connector port="8008" protocol="HTTP/1.1" uriencoding="UTF-8" usebodyencodingforuri="true" redirectport="8443" connectiontimeout="20000"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Depois disso deu tudo certo.!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-3589737878371772851?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S8YCrwrC0F5balbNg0Ec5qBD74Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S8YCrwrC0F5balbNg0Ec5qBD74Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/S8YCrwrC0F5balbNg0Ec5qBD74Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S8YCrwrC0F5balbNg0Ec5qBD74Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/mlnrpWUvn2E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/3589737878371772851/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/02/problemas-de-encode.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3589737878371772851?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/3589737878371772851?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/mlnrpWUvn2E/problemas-de-encode.html" title="Problemas de encode" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/02/problemas-de-encode.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUARXo-fyp7ImA9WxVQEkU.&quot;"><id>tag:blogger.com,1999:blog-9042907069022757566.post-2942502626576731874</id><published>2009-01-07T16:28:00.000-08:00</published><updated>2009-01-29T20:04:04.457-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-29T20:04:04.457-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Arquitetura" /><category scheme="http://www.blogger.com/atom/ns#" term="Frameworks" /><title>MS Dependência</title><content type="html">&lt;span style="font-family:trebuchet ms;"&gt;Nem preciso falar que cada vez mais rápido temos novas tecnologias e conceitos no mercado de desenvolvimento de software, mas o mais incrível da comunidade .Net, não toda ela claro, mas a grande maioria sofre da MS dependência.&lt;br /&gt;&lt;br /&gt;Assim, muitos insistem em modelar seus sistemas orientados a tabela, não saber do que se trata um "Domain Model", &lt;a href="http://www.blogger.com/www.domaindrivendesign.org/"&gt;DDD&lt;/a&gt; (Não é Discagem Direta a Distância), injeção de dependência, &lt;a href="http://martinfowler.com/articles/injection.html"&gt;IOC&lt;/a&gt;. Enfim, a MS simplesmente não falou nada disso ainda. O resultado disso é que a arquitetura (veja &lt;a href="http://fragmental.com.br/wiki/index.php?title=Evitando_VOs_e_BOs"&gt;evitando BOLOVO&lt;/a&gt; do mestre "shoes") BOLOVO digna de coisas horríveis como EJB 2 estão a todo vapor no mundo .Net, ou frameworks caseiros que pegam as entidades anêmicas e quebram em sql, numa camada de persistência construida com muito "control+C" e "control+v".&lt;br /&gt;&lt;br /&gt;Quantas vezes não já escutei coisas como prefiro usar ADO.NET puro pq gosto de ter o controle da persistência e não contar com frameworks gerando sqls e deleções em cascata. Sem falar das validações antes de inserir algo, coisa simples de fazer com qualquer framework que preste, ou uma boa arquitetura.&lt;br /&gt;&lt;br /&gt;Concordo que não existe bala de prata, (pois até existem os casos dessa abordagem ser a melhor pra situação), mas existem conceitos de ouro, que já não deveriam nem mais serem citados como:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;Desenvolvimento OO, orientado a interface (se puder injeção de dependencia)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;Com baixo acoplamento e alta coesão;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;Sem código duplicado e muita divisão de responsabilidade;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:trebuchet ms;"&gt;etc...&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:trebuchet ms;"&gt;Portanto, além de lembrá-los de coisas simples, como o fato de que objetos encapsulam dados e comportamenos, e que não é a toa que existe associações, agregação e composição na UML mas que existe um mundo lá fora, coisas como NHibernate, Spring.Net, Windson Castle e outros projetos...&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:trebuchet ms;"&gt;Pra esses que não conseguem ver graça nessas novidades, saibam que a Microsoft está de olho e que o Linq to Sql é apenas o começo para o que vem por aí.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9042907069022757566-2942502626576731874?l=www.alcateiadigital.info' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/FxefRu0TqbCSvKiHeGeVxP-aAOc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FxefRu0TqbCSvKiHeGeVxP-aAOc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/FxefRu0TqbCSvKiHeGeVxP-aAOc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/FxefRu0TqbCSvKiHeGeVxP-aAOc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlcatiaDigital/~4/strPgMMa67I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.alcateiadigital.info/feeds/2942502626576731874/comments/default" title="Postar comentários" /><link rel="replies" type="text/html" href="http://www.alcateiadigital.info/2009/01/ms-dependncia.html#comment-form" title="0 Comentários" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2942502626576731874?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9042907069022757566/posts/default/2942502626576731874?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AlcatiaDigital/~3/strPgMMa67I/ms-dependncia.html" title="MS Dependência" /><author><name>Lobo Junior</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.alcateiadigital.info/2009/01/ms-dependncia.html</feedburner:origLink></entry></feed>

