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

<channel>
	<title>Fernando Zanatta</title>
	<atom:link href="http://www.fernandozanatta.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fernandozanatta.com</link>
	<description>java+oracle+.net+php+pmi = projects+projects+projects+success!</description>
	<lastBuildDate>Tue, 10 Jan 2012 16:04:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Agile Software Development &#8211; Do right things, Do things right, Do things fast</title>
		<link>http://www.fernandozanatta.com/agile-software-development-do-right-things-do-things-right-do-things-fast/</link>
		<comments>http://www.fernandozanatta.com/agile-software-development-do-right-things-do-things-right-do-things-fast/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 16:00:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=132</guid>
		<description><![CDATA[I really liked Michael&#8217;s article.
Take a look guys and don&#8217;t forget, Do right things, Do things right, Do things fast

See the article here
See ya!
]]></description>
			<content:encoded><![CDATA[<p>I really liked <a href="http://twitter.com/mdubakov">Michael</a>&#8217;s article.</p>
<p>Take a look guys and don&#8217;t forget, Do right things, Do things right, Do things fast</p>
<p><img src="http://habrastorage.org/storage1/1c6c2281/cf615e32/137de808/3521828b.jpg" alt="" /></p>
<p><a href="http://targetprocess.com/rightthing.html">See the article here</a></p>
<p>See ya!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/agile-software-development-do-right-things-do-things-right-do-things-fast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Certisign &#8211; serviço ruim &#8211; renovação não presta</title>
		<link>http://www.fernandozanatta.com/certisign-servico-ruim-renovacao-nao-presta/</link>
		<comments>http://www.fernandozanatta.com/certisign-servico-ruim-renovacao-nao-presta/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 11:08:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=128</guid>
		<description><![CDATA[O suporte é razoavelmente bom, como toda empresa há funcionários bons e ruins, é claro.. que quando você fala que esta dando erro de Javascript na página e o procedimento necessário não pode prosseguir, e o amigo do suporte me fala que é erro do JAVA, você perde a fé em Deus devido ao suporte [...]]]></description>
			<content:encoded><![CDATA[<p>O suporte é razoavelmente bom, como toda empresa há funcionários bons e ruins, é claro.. que quando você fala que esta dando erro de Javascript na página e o procedimento necessário não pode prosseguir, e o amigo do suporte me fala que é erro do JAVA, você perde a fé em Deus devido ao suporte ser nível 2 (creio que o suporte nível 2 seja o pessoal com a parte técnica mais apurada).</p>
<p>Mas o que me incomoda, é o USO IRREVOGÁVEL do Internet Explorer 8 para que o procedimento de renovação de certificado digital funcione.</p>
<p>TEM QUE ser o 8, se você não tem você não faz, simples assim.</p>
<p>E o pior, é que mesmo com o IE 8 como pedem, você faz várias alterações na configuração do mesmo, e depois, mesmo assim, você não consegue fazer a renovação devido a um erro DESCONHECIDO! (ERRO 300) pela própria equipe técnica, que lhe dizem que seu pedido foi feito mas não tem como você pagar (claro que se você não paga é a mesma coisa que não fazer o procedimento) porque o boleto não é gerado.</p>
<p>Passei um dia INTEIRO e comecei outro da mesma forma, no telefone com a certisign.</p>
<p>Claro, o problema não é do suporte, afinal de contas apenas uma pessoa me disse a atrocidade do JAVA, mas o problema é a parte técnica, neste momento vemos que de duas, uma:</p>
<p>1. ou não temos profissionais qualificados tecnicamente para exercer tais funções perante o sistema</p>
<p>2. ou a certisign não tem condições de prestar este tipo de serviço (digo não tem COMPETÊNCIA para tal).</p>
<p>Eu pessoalmente fico com a opção número 2, afinal tenho plena certeza que poderiam ter um sistema que pudesse ser usado para fazer esta renovação, sem necessariamente precisar ficar preso a uma VERSÃO DE BROWSER!</p>
<p>Obs. disseram que o IE 9 pode ser usado pois HÁ CASOS (ridículo isso) em que o IE 9 funcionou perfeitamente. Claro, deixam claro que o IE 9 não é o padrão deles, mas que posso tentar sem problema algum.</p>
<p>Se fosse para começar o dia assim seria melhor eu nem sair da cama.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/certisign-servico-ruim-renovacao-nao-presta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon EC2 is fantastic</title>
		<link>http://www.fernandozanatta.com/amazon-ec2-is-fantastic/</link>
		<comments>http://www.fernandozanatta.com/amazon-ec2-is-fantastic/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 12:50:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=126</guid>
		<description><![CDATA[Do you know amazon EC2?
You are one of this guys that thinks about &#8220;cloud&#8221; all the time?
Whell.. I got say that at last 1-2 years before the &#8220;cloud&#8221; computing appears, amazon was thinking about &#8220;Elastic&#8221; and doing it.
Amazon Ec2 servers, can scale your project in minutes, automatically based on parameters that you can define, and [...]]]></description>
			<content:encoded><![CDATA[<p>Do you know amazon EC2?</p>
<p>You are one of this guys that thinks about &#8220;cloud&#8221; all the time?</p>
<p>Whell.. I got say that at last 1-2 years before the &#8220;cloud&#8221; computing appears, amazon was thinking about &#8220;Elastic&#8221; and doing it.</p>
<p>Amazon Ec2 servers, can scale your project in minutes, automatically based on parameters that you can define, and scale it by code, using amazon Ec2 API.</p>
<p>If you think I&#8217;m getting some money from amazon to talk about it, I&#8217;m sorry, but I&#8217;m not.</p>
<p>The question is that I already worked into a project with amazon EC2 as our servers, and the result is fantastic.</p>
<p>It&#8217;s really fast to scale, in minutes we could have more than 20 instances up, with hard CPU or Memory, just the way we wants.</p>
<p>We has a script that checked the parameters, and based on this parameters, he started and stoped instances.</p>
<p>If you never gave a chance to amazon EC2, I guess you should start thinking about it&#8230; it&#8217;s cheap!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/amazon-ec2-is-fantastic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TOP 10 linux folders by size</title>
		<link>http://www.fernandozanatta.com/top-10-linux-folders-by-size/</link>
		<comments>http://www.fernandozanatta.com/top-10-linux-folders-by-size/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 12:19:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=123</guid>
		<description><![CDATA[I never needed it before, but here is a good example of how list the top 10 linux folder by size.
I used it to check why one of my test servers was losing HD space so fast
# du -a /var &#124; sort -n -r &#124; head -n 10
The example will show the top 10 linux [...]]]></description>
			<content:encoded><![CDATA[<p>I never needed it before, but here is a good example of how list the top 10 linux folder by size.</p>
<p>I used it to check why one of my test servers was losing HD space so fast</p>
<p># du -a /var | sort -n -r | head -n 10</p>
<p>The example will show the top 10 linux folders by size inside /var folder</p>
<p>you can replace /var by / if you want but this will take a long time to be processed.</p>
<p>See ya!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/top-10-linux-folders-by-size/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Io Exception: the network adapter could not establish the connection</title>
		<link>http://www.fernandozanatta.com/io-exception-the-network-adapter-could-not-establish-the-connection/</link>
		<comments>http://www.fernandozanatta.com/io-exception-the-network-adapter-could-not-establish-the-connection/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 13:57:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=111</guid>
		<description><![CDATA[Sometimes I got some errors while trying to setup an database to get access through a network which has a very complex firewall and so I have to start &#8220;messing&#8221; around the listeners and other oracle network configuration that when I get it solved I have problems to make my Enterprise Manager to work, even [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I got some errors while trying to setup an database to get access through a network which has a very complex firewall and so I have to start &#8220;messing&#8221; around the listeners and other oracle network configuration that when I get it solved I have problems to make my Enterprise Manager to work, even restarting it after the modifications.</p>
<p>If you wants to make problems like that to disappears, here&#8217;s how to do (always works to me)</p>
<p>Change the default entries on the file ORACLE_HOME/hostname_sid/sysman/emd/<strong>targets.xml</strong><strong> </strong>and ORACLE_HOME/hostname_sid/sysman/config/<strong>emoms.properties</strong></p>
<p>Make the modifications you guess is necessary, like ports, oracle_home, SID, etc&#8230;</p>
<p>Now start the emctl again, and yeapp it will be working =]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/io-exception-the-network-adapter-could-not-establish-the-connection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How view tape content (sql database) on Windows</title>
		<link>http://www.fernandozanatta.com/how-view-tape-content-sql-database-on-windows/</link>
		<comments>http://www.fernandozanatta.com/how-view-tape-content-sql-database-on-windows/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 18:11:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=108</guid>
		<description><![CDATA[If you need to view content from a Tape to check the current data stored on it (old backups) or .bak files, you can follow the tutorial above:

Open SQL Server Enterprise Manager (EM or Enterprise Manager)
Open Console Root
Open MIcrosoft Sql Servers
Open Sql Server Group
Open (local)
Open Databases
Right click on your database and select All Tasks and [...]]]></description>
			<content:encoded><![CDATA[<h3>If you need to view content from a Tape to check the current data stored on it (old backups) or .bak files, you can follow the tutorial above:</h3>
<ol>
<li>Open SQL Server Enterprise Manager (EM or Enterprise Manager)</li>
<li>Open Console Root</li>
<li>Open MIcrosoft Sql Servers</li>
<li>Open Sql Server Group</li>
<li>Open (local)</li>
<li>Open Databases</li>
<li><strong>Right click on your database</strong> and select <strong>All Tasks</strong> and than <strong>Backup Database</strong></li>
<li>Now will open a new window (Sql Server Backup) and you will see an option named Destination, with:<br />
Tape or Disk.</li>
<li>Select Tape and select your tape and click Contents.
<p>*this action takes good minutes, like 10, 15 minutes</li>
</ol>
<p>Thanks guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/how-view-tape-content-sql-database-on-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>high availability SQL Server database backup tutorial</title>
		<link>http://www.fernandozanatta.com/high-availability-sql-server-database-backup-tutorial/</link>
		<comments>http://www.fernandozanatta.com/high-availability-sql-server-database-backup-tutorial/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 17:54:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=105</guid>
		<description><![CDATA[Hello guys!
Today I&#8217;m here with a simple but very powerful tool to backup high availability SQL Server databases, that almost ever can be shut down to perform an backup.
I work with oracle, but we have a huge sql server database that we are responsible about disk usage, so I decided to post this help to [...]]]></description>
			<content:encoded><![CDATA[<p>Hello guys!</p>
<p>Today I&#8217;m here with a simple but very powerful tool to backup high availability SQL Server databases, that almost ever can be shut down to perform an backup.</p>
<p>I work with oracle, but we have a huge sql server database that we are responsible about disk usage, so I decided to post this help to SQL Database buddies too.</p>
<p>If you need a quick backup (takes like 5 minutes to backup a 20gb+ database) and your database can&#8217;t be shut down, this is one option&#8230;.</p>
<p>Those commands are SQL Commands, I run then on SQL Analyser.</p>
<p>USING TAPE<br />
BACKUP DATABASE [MydataBase] TO Tape0 WITH NOINIT,NOWNLOAD,NAME = N&#8217;Bkp_MydatabseFull&#8217;,stats=10,NOFORMAT</p>
<p>USING DISK (pendrive by example)<br />
BACKUP DATABASE [MydataBase] TO DISK = N&#8217;F:\MyBkpFolder\MydataBase.bak&#8217; WITH NOFORMAT,INIT</p>
<p>You can use both too if necessary, but I just know the usage to same kind of target (DISK or Tape) by example.</p>
<p>BACKUP DATABASE [MydataBase] TO DISK = N&#8217;F:\MyBkpFolder\MydataBase.bak&#8217;, DISK = N&#8217;D:\MyBkpFolder\MydataBase.bak&#8217; WITH NOFORMAT,INIT</p>
<p>I&#8217;ll upload soon more two tutorials that will be:</p>
<p>How get content of a Tape on windows (worked to me on Windows Server 2003) and how to move Disk backups to Tape</p>
<p>I hope it be useful to somebody</p>
<p>By the way, to know a few  parameters and more examples visit http://msdn.microsoft.com/en-us/library/ms186865.aspx (great resource)</p>
<p>See ya!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/high-availability-sql-server-database-backup-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PMI &#8211; Managing remote teams</title>
		<link>http://www.fernandozanatta.com/pmi-remote-management/</link>
		<comments>http://www.fernandozanatta.com/pmi-remote-management/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 20:04:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[MANAGEMENT]]></category>
		<category><![CDATA[PMI]]></category>
		<category><![CDATA[REMOTE]]></category>
		<category><![CDATA[RISK ANALYSIS]]></category>
		<category><![CDATA[RISK MANAGEMENT]]></category>
		<category><![CDATA[TEAM]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=87</guid>
		<description><![CDATA[Remote management is something really complex, trust me.
I&#8217;ve experience of 3 years taking care of remote projects and in EVERY project I got surprises that I really tough I was ready to work out.
A few years ago I always tough that the major problem I had working with remote teams was communication. But do a [...]]]></description>
			<content:encoded><![CDATA[<p>Remote management is something really complex, trust me.</p>
<p>I&#8217;ve experience of 3 years taking care of remote projects and in <strong>EVERY</strong> project I got surprises that I really tough I was ready to work out.</p>
<p>A few years ago I always tough that the major problem I had working with remote teams was communication. But do a good time that we have being seeing a huge difference at communication, now is very cheap to use the phone, and the VOIP has a great performance (not like in the beginning), and the communication got easy, and I guess there is no excuse anymore to an &#8220;communication fail&#8221;.</p>
<p>Now, I&#8217;m sure that the second item in my list, got the first place, and it&#8217;s VERY hard to deal with it, the <strong>HUMAN FACTOR!</strong></p>
<p>You must know that there&#8217;s lots and lots of developers in the market today, and you need to know how to &#8220;setup&#8221; a remote team, it&#8217;s pretty important that you choose with caution each member of your team, and even choosing the most perfects PERSON/DEVELOPER you will deal with huge problems, and to each HUGE problem, you MUST be ready to face it, because trust me, at last 1 of those items will happens to you:</p>
<ol>
<li>The &#8220;guy&#8221; disappears during a time</li>
<li>The &#8220;guy&#8221; don&#8217;t follow the diagrams</li>
<li>The &#8220;guy&#8221; will ask for money</li>
<li>The &#8220;guy&#8221; will take more time to get something done</li>
<li>The &#8220;guy&#8221; will miss important details</li>
</ol>
<p>I guess that any of this problems happens in any project, and you must be ready to work with it. I got confess that I already did 1 or 2 items of this list in a 2 projects I worked on as developer when I was starting my <strong>HOME-OFFICE</strong> projects, like 7 years ago.</p>
<p><strong>The reasons to a person to bring you all this problems are:</strong></p>
<ol>
<li>The guy get many works around the world and don&#8217;t have how to finish all the jobs in the same time, so he will leave you for a time to finish other stuff, he will do a little bit, will leave, and will ask you more money to keep moving (it&#8217;s like of a pressure, or you pay or I leave, but he doesn&#8217;t tell it to you).</li>
<li>The guy has soo much job to do, that he doesn&#8217;t pay attention to details, to finish asap, get paid and get other projects.</li>
<li>The guy tells you he&#8217;s the MACGYVER of what you need, he goes fine at the tests, he really knows what to do, but by some reason, he takes lot&#8217;s of time to get stuff done.</li>
<li>The guy really needs the job, so he offers you a low price or a low amount of hours, well, be ready to see your guy to ask you for more money or to disappears.</li>
<li>The guy already works in his city/country in an office, and got your job too. If you have a quick job, like 1-2 weeks MAX, okay he will take care, but if it&#8217;s more than 2 weeks, be ready to face a demotivated guy, which will not be motivated to arrive from his work and to do yours.</li>
</ol>
<p>Of course, please..<strong> ALL THIS THINGS ARE RELATIVE, YOU CAN BE LUCK AND FIND PERFECT GUYS THAT WILL NOT GET ANY PROBLEM TO YOU, AND I KNOW MANY GUYS THAT DON&#8217;T DO IT, BUT</strong> you must face the truth.</p>
<p><strong>Imagine this scenario:</strong></p>
<p>You have a project, an small system that will track trucks on the road to check out if the drivers are doing the right route and to manager the truck &#8220;life-time&#8221; to avoid delivering spoiled products of a food company.</p>
<p>You got 6 months to build it from scratch, and you got setup the team, you will need like 6 guys to build it with you, so the first thing you do is to hire a guy you trust with solid skills (analyst and developer) to help you with scope and to pick up your &#8220;children&#8217;s&#8221; to work in the project.</p>
<p>Let&#8217;s be honest, a project with 6 guys is very small but you must know that 6 guys will not work equals, and that some of this guys, at last 30-35% of this guys will bring you a problem, some of those problems I reported above.</p>
<p>So what you do?</p>
<p>EVER wait for something to happen, PMBOK tells you to make your <strong>RISK MANAGEMENT</strong>, so do it and include the items I described and do a <strong>TRACK TASKS</strong> very well document, and you will have less headache.</p>
<p>That&#8217;s what I do today. I always did the risk analysis but not exactly to human factors, and now it&#8217;s saving my life and my projects, because by example when a dev can&#8217;t work with me anymore (or he&#8217;s trying to pressure me to get something) I have other guy to put in his place and I have a very detailed document with what the guy who leaves did and still has to do.</p>
<p>For sure that hiring a new person in a project has problems too, like by example, the person can take some time to understand the project and to cost more money that just saying &#8220;yes&#8221; to a pressure from the guy you fired, but in this case, the guy you hired will be working oriented in the tasks, and you will have everything well documented to him.</p>
<p>I&#8217;m very sure that other professionals maybe will not agree with me, but this what I do and this is what works like a charm to me today.</p>
<p>Hope listening something from you guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/pmi-remote-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LAYOUT FEBRABAN V2 e V3</title>
		<link>http://www.fernandozanatta.com/layout-febraban-v2-e-v3/</link>
		<comments>http://www.fernandozanatta.com/layout-febraban-v2-e-v3/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 13:33:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=69</guid>
		<description><![CDATA[Olá amigos da area de Telecom !
Passei uma semana complicada pois precisei gerar as faturas telefonicas que hoje são enviadas com um layout proprio nosso, e que cada operadora de telefonia tem o &#8220;poder&#8221; de disponibilizar sua conta detalhada da maneira que lhe bem entender.
Enfim&#8230;. precisei disponibilziar a conta detalhada no formato FEBRABAN na qual [...]]]></description>
			<content:encoded><![CDATA[<p>Olá amigos da area de Telecom !</p>
<p>Passei uma semana complicada pois precisei gerar as faturas telefonicas que hoje são enviadas com um layout proprio nosso, e que cada operadora de telefonia tem o &#8220;poder&#8221; de disponibilizar sua conta detalhada da maneira que lhe bem entender.</p>
<p>Enfim&#8230;. precisei disponibilziar a conta detalhada no formato FEBRABAN na qual eu não sabia de sua existência.</p>
<p>O formato FEBRABAN é um layout proposto pela Federação Brasileira de Bancos para unificar as contas de telefonia, e assim facilitar a vida do setor responsável em cuidar destes custos (quando digo cuidar não é pagar a fatura, e sim averiguar onde existem erros, quais setores gastam mais, quais tipos de ligação devem ser evitadas, etc&#8230;.).</p>
<p>Para nos pessoas físicas e empresas de pequeno porte é uma bobagem, mas e empresas de médio e grande porte? Talvez você nunca parou para pensar MAS existem empresas que gastam facilmente de R$ 10.000,00 a R$80.000,00 mil reais de telefonia facilmente, e isso que não estou falando de empresas que existem no mercado hoje que gastam acima de R$500.000,00 ! (e não são poucas meu amigo) empresas estas disputadas a tiro entre as operadoras de telefonia.</p>
<p>Estou colocando aqui 2 layouts da FEBRABAN para faturas de TELECOM que existem hoje no mercado mas que você não vai achar por ai.</p>
<p>A mais fácil é o FEBRABAN V3R0 que tem inclusive no site da FEBRABAN, mas o layout FEBRABAN V2 este sim é raro e é ainda o mais utilizado no mercado de TELECOM.</p>
<p>Vale lembrar a preguiça das operadoras pois a versão 3 ja esta disponivel a MUITO TEMPO mas ninguem migrou as versões ainda!</p>
<p>É isso meus amigos, um abraço a todos e ate a próxima !</p>
<p><a href="../wp-content/uploads/2011/08/manual_febraban.pdf">LAYOUT FEBRABAN V2</a></p>
<p><a href="http://www.fernandozanatta.com/wp-content/uploads/2011/08/Layout_Padrão_V3R0-20100917.xls">LAYOUT FEBRABAN V3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/layout-febraban-v2-e-v3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gateway de Pagamento Cielo ASP.net C#</title>
		<link>http://www.fernandozanatta.com/gateway-de-pagamento-cielo-asp-net-c/</link>
		<comments>http://www.fernandozanatta.com/gateway-de-pagamento-cielo-asp-net-c/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 16:42:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://www.fernandozanatta.com/?p=45</guid>
		<description><![CDATA[Olá Amigos,
Estive envolvido com uma situação fora do comum do meu dia-a-dia.
Faltando menos de 6 dias para que a Cielo não processase mais pedidos que não utilizassem o gateway proprio deles, me foi passado que eu deveria migrar os gateways de uma aplicação financeira de Moset para a Cielo, em .Net com C#.
A cielo manda [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Amigos,</p>
<p>Estive envolvido com uma situação fora do comum do meu dia-a-dia.<br />
Faltando menos de 6 dias para que a Cielo não processase mais pedidos que não utilizassem o gateway proprio deles, me foi passado que eu deveria migrar os gateways de uma aplicação financeira de Moset para a Cielo, em .Net com C#.</p>
<p>A cielo manda uma loja de exemplo usando PHP e Java, mas não é o meu caso e isso complicou minha vida.</p>
<p>Enfim, não teria nenhum problema para fazer a alteração se fosse PHP, mas não utiliza-se PHP nesta aplicação e nem adianta querer fazer o PHP rodar no IIS (que sei que roda perfeitamente) pois a empresa responsável pelo servidor (nós mesmos) possui várias outras aplicações que rodam neste mesmo ambiente, e que como não sabemos com facilidade (sem demandar muito tempo para descobrir) o impacto em qualquer modificação na configuração do IIS.</p>
<p>Não teria nenhum problema se:</p>
<p>1. Fosse PHP (minha especialidade) mas não é.<br />
2. Fosse Java (meu dia-a-dia e minha futura especialidade ) mas não é.<br />
3. Fosse necessário apenas algumas alterações no código atual, mas não é.</p>
<p>Resumindo, é necessário fazer de novo, porque a comunicação antiga da Moset, não se dava via XML (pelo menos na minha situação) e logo todo o código produzido deveria ser jogado fora.</p>
<p>Foi apartir dai, que comecei então a desenvolver o novo código ontem, e após alguns testes e a algumas vasculhadas nas comunidades .Net que falavam sobre XML que eu cheguei ao código atual.</p>
<p>O código que estou postando, deixo claro, que não é o 100% ideal, e que irei aprimorar ele devidamente nos próximos dias, mas é oque tem para hoje, ja que amanhã é o último dia para homologar o sistema.</p>
<p>Quem quiser ajudar, mandar dicas, aprimorar o código, estamos aceitando, a ideia é de que tenhamos um código bacana aqui disponivel para todos. O meu final sera postado nos próximos dias.</p>
<pre class="brush:csharp">&lt;%@ Page language="C#" %&gt;

    &lt;%

        //globais

        string dadosPortadorNumero = "4551870000000183";
        string dadosPortadorVal = "201508";
        string dadosPortadorInd = "1";
        string dadosPortadorCodSeg = "973";
        string dadosPortadorNome = "";

        string dadosPedidoNumero = "1225554887884389";
        string dadosPedidoValor = "100000";
		string dadosPedidoMoeda = "986";
        string dadosPedidoData = "2011-06-27T17:23:19";
        string dadosPedidoDescricao = "";
		string dadosPedidoIdioma = "PT";

        string formaPagamentoBandeira = "visa";
        string formaPagamentoProduto = "1";
		string formaPagamentoParcelas = "1";

		string urlRetorno = "Return.aspx";
        string autorizar = "3";
        string capturar = "0";

		string tid;
		string status;
		string urlAutenticacao;

        string dadosEcNumero = "1006993069";
        string dadosEcChave = "25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3";

        string XMLDadosEc = "\n";
                XMLDadosEc += ("");
                XMLDadosEc += (dadosEcNumero);
                XMLDadosEc += ("\n");
                XMLDadosEc += ("");
                XMLDadosEc += (dadosEcChave);
                XMLDadosEc += ("\n");
                XMLDadosEc += ("\n");

        string XMLFormaPagamento = "
";
                XMLFormaPagamento += ("\n");
                XMLFormaPagamento += (formaPagamentoBandeira);
                XMLFormaPagamento += ("");
                XMLFormaPagamento += ("
\n");
                XMLFormaPagamento += (formaPagamentoProduto);
                XMLFormaPagamento += ("");
                XMLFormaPagamento += ("
\n");
                XMLFormaPagamento += (formaPagamentoParcelas);
                XMLFormaPagamento += ("");
                XMLFormaPagamento += ("\n");

        string XMLDadosPortador = "\n";
			    XMLDadosPortador += ("");
				XMLDadosPortador += (dadosPortadorNumero);
				XMLDadosPortador += ("\n");
				XMLDadosPortador += ("");
				XMLDadosPortador += (dadosPortadorVal);
				XMLDadosPortador += ("\n");
				XMLDadosPortador += ("");
				XMLDadosPortador += (dadosPortadorInd);
				XMLDadosPortador += ("\n");
				XMLDadosPortador += ("");
			    XMLDadosPortador += (dadosPortadorCodSeg);
                XMLDadosPortador += ("\n");
                XMLDadosPortador += ("\n");

			// Verifica se Nome do Portador foi informado                

        string XMLDadosPedido = "\n";
				XMLDadosPedido += ("");
                XMLDadosPedido += (dadosPedidoNumero);
				XMLDadosPedido += ("\n");
				XMLDadosPedido += ("");
				XMLDadosPedido += (dadosPedidoValor);
				XMLDadosPedido += ("\n");
				XMLDadosPedido += ("");
				XMLDadosPedido += (dadosPedidoMoeda);
				XMLDadosPedido += ("\n");
				XMLDadosPedido += ("");
				XMLDadosPedido += (dadosPedidoData);
				XMLDadosPedido += ("\n");
                XMLDadosPedido += ("");

        string XMLRetorno = "\n";
                XMLRetorno += (urlRetorno);
                XMLRetorno += ("");

        string XMLAutorizar = "\n";
                XMLAutorizar += (autorizar);
                XMLAutorizar += ("\n");

        string XMLCapturar = "\n";
                XMLCapturar += (capturar);
                XMLCapturar += ("");

        // requisição
        ASCIIEncoding encoding = new ASCIIEncoding();
        string postData = "mensagem=<!--?xml version=\"1.0\" encoding=\"ISO-8859-1\"?-->";
        postData += ("");
        postData += (XMLDadosEc);
        postData += (XMLDadosPortador);
        postData += (XMLDadosPedido);
        postData += (XMLFormaPagamento);
        postData += (XMLRetorno);
        postData += (XMLAutorizar);
        postData += (XMLCapturar);
        postData += ("");

        byte[] data = encoding.GetBytes(postData);

        // Prepare web request...
        System.Net.HttpWebRequest myRequest =
          (System.Net.HttpWebRequest)System.Net.WebRequest.Create("https://qasecommerce.cielo.com.br/servicos/ecommwsec.do");
        myRequest.Method = "POST";
        myRequest.ContentType = "application/x-www-form-urlencoded";
        myRequest.ContentLength = data.Length;
        System.IO.Stream newStream = myRequest.GetRequestStream();
        // Send the data.

        newStream.Write(data, 0, data.Length);
        newStream.Close();

        // getting to text
        System.Net.WebResponse response = myRequest.GetResponse();
        System.IO.Stream responseStream = response.GetResponseStream();

        System.Text.Encoding myencoding = System.Text.Encoding.Default;
        System.IO.StreamReader reader = new System.IO.StreamReader(responseStream, myencoding);

        Char[] charBuffer = new Char[256];
        int count = reader.Read(charBuffer, 0, charBuffer.Length);
        StringBuilder Dados = new StringBuilder();

        while (count &gt; 0)
        {
            Dados.Append(new String(charBuffer, 0, count));
            count = reader.Read(charBuffer, 0, charBuffer.Length);
        }

        Response.Write("<textarea>");
        Response.Write(Dados);
        Response.Write("</textarea>");

    %&gt;</pre>
<p>Todas as informações acima como cartão, código de segurança, chave, etc&#8230; esta na documentação da Cielo que pode ser baixada no link abaixo:</p>
<p>http://200.183.118.67/kit.ecommerce.cielo.zip</p>
<p><strong>Ajuda do amigo William Fabricio Werling</strong></p>
<p>Como muitos me perguntaram e eu não soube responder, aqui vai uma ajuda do nosso amigo William Fabricio Werling.</p>
<p>Para aqueles que por algum motivo o script não funciona (a pagina da cielo não poder ser acessada), da timeout, e etc&#8230; (problemas de conectividade com a cielo) a solução é esta:</p>
<p>httpWebRequest.Proxy = HttpWebRequest.GetSystemWebProxy();<br />
httpWebRequest.Proxy.Credentials = CredentialCache.DefaultCredentials;</p>
<p>agradeçam ao William !</p>
<p>Abraço a todos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fernandozanatta.com/gateway-de-pagamento-cielo-asp-net-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

