<?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>PauloMotta.pro &#187; Desenvolvimento</title>
	<atom:link href="http://www.paulomotta.pro.br/category/desenvolvimento/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paulomotta.pro.br</link>
	<description>&#34;Qualquer tecnologia suficientemente avançada é indistinguível da mágica&#34; - Arthur C. Clarke</description>
	<lastBuildDate>Fri, 30 Jul 2010 00:59:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ah! O COBOL</title>
		<link>http://www.paulomotta.pro.br/2010/06/30/ah-o-cobol/</link>
		<comments>http://www.paulomotta.pro.br/2010/06/30/ah-o-cobol/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 14:09:14 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Tendências]]></category>
		<category><![CDATA[ARQUITETURA]]></category>
		<category><![CDATA[DISTRIBUIÇÃO]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Integração]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>
		<category><![CDATA[SISTEMA]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=612</guid>
		<description><![CDATA[Essa semana um aluno me perguntou por email se eu conhecia algum editor para trabalhar com COBOL, não lembrei de imediato, mas depois de um tempo me veio a mente um evento que participei da empresa Micro Focus (de quem não estou ganhando nada para falar aqui&#8230;) apresentando um produto que permitia integrar programas COBOL [...]]]></description>
			<content:encoded><![CDATA[<p>Essa semana um aluno me perguntou por email se eu conhecia algum editor para trabalhar com COBOL, não lembrei de imediato, mas depois de um tempo me veio a mente um evento que participei da empresa <a href="http://www.microfocus.com" target="_blank">Micro Focus</a> (de quem não estou ganhando nada para falar aqui&#8230;) apresentando um <a href="http://www.microfocus.com/products/micro-focus-developer/index.aspx" target="_blank">produto</a> que permitia integrar programas COBOL com aplicações Java e .Net, inclusive rodar o programa em baixa plataforma.</p>
<p>Eu nunca usei o produto, até porque nem tenho programas em COBOL, mas é uma alternativa interessante para quem precisa manter aqueles programas do legado e quer mais facilidades. Lembro que nos meus tempos de EDS havia um grande buzz em torno do conceito de Application Modernization (modernização de aplicações) foram inclusive considerados produtos que permitiam avalizar o fluxo de chamadas entre módulos de programas COBOL para poder identificar o que eram regras de negócio e o que precisava realmente ser abandonado.</p>
<p>O fato que ninguém quer assumir é que não dá para jogar fora programas com 30 anos de execução, que você SABE que funcionam pelo simples fato de estarem rodando há tanto tempo. Tentar reescrever muitas vezes é a receita para o desastre porque você terá que revalidar as novas aplicações e garantir que está tudo certo, mas não temos hoje nenhum método ou ferramenta de teste que garanta 100% de cobertura de testes, mesmo que tal ferramenta existisse, seria impossível garantir que todos os casos de teste foram pensados. Ao longo dos 30 anos de existência aqueles programas COBOL foram testados, corrigidos, modificados e isso é uma coisa que só com o tempo para garantir a estabilidade.</p>
<p>A própria IBM investiu em um caminho contraditório, disponibilizou para mainframe (plataforma Z/OS) o Websphere e o Java de forma que você pode dentro do seu programa COBOL (que funciona há 30 anos) fazer uma chamada para um novo componente EJB feito em Java, pode também encapsular seu módulo COBOL em um EJB e expor para o mundo via WebService. Aí você pensa &#8220;duvido! isso não funciona!&#8221; mas nesse caso eu posso dizer que funciona porque trabalhei em um projeto assim na EDS, aliás meu último projeto por lá. O único inconveniente (não sei como está agora) é que a própria IBM não tinha muita experiência nesse tipo de integração então algumas dúvidas ficavam muito perdidas. Uma das coisas que foi legal de descobrir futucando manuais,  experimentando e lendo código fonte de outras plataformas é que essa integração (do Enterprise COBOL 4.3 ou superior) com o Java é feita via JNI (Java Native Inteface) então quando você quer referenciar no COBOL uma classe Java precisa fazer isso usando &#8220;/&#8221; como separador de pacotes ao invés de &#8220;.&#8221; para ficar mais claro:</p>
<blockquote><p>java/lang/String ao invés de java.lang.String</p></blockquote>
<p>Mas fora isso funcionava bem direitinho.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2010/06/30/ah-o-cobol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quando o sistema falha</title>
		<link>http://www.paulomotta.pro.br/2010/06/24/quando-o-sistema-falha/</link>
		<comments>http://www.paulomotta.pro.br/2010/06/24/quando-o-sistema-falha/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 11:57:41 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[DISTRIBUIÇÃO]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[REQUISITO]]></category>
		<category><![CDATA[SISTEMA]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=595</guid>
		<description><![CDATA[Uma coisa que as pessoas esquecem é que os sistemas não são a prova de falhas, podem existir processos a prova de falhas, mas não sistemas. Um sistema é composto de várias partes, incluindo o equipamento então pode acontecer de falhar. A primeira coisa que temos que ter em mente é que antes dos sistemas [...]]]></description>
			<content:encoded><![CDATA[<p>Uma coisa que as pessoas esquecem é que os sistemas não são a prova de falhas, podem existir <em>processos</em> a prova de falhas, mas não sistemas. Um sistema é composto de várias partes, incluindo o equipamento então pode acontecer de falhar. A primeira coisa que temos que ter em mente é que antes dos sistemas tudo era feito manualmente, sem exceção, então um extrato bancário levava muitos dias, e não alguns minutos.</p>
<p>Mas resolvi falar disso hoje, porque ontem eu fui tentar tirar dinheiro em um caixa eletrônico da rede 24horas (aqueles vermelhos) e passei por um grande problema. Quando escolhi o saque e informei o valor o sistema começou a proceder a operação de saque, que é composta de várias etapas. Quando a maquineta foi colocar o dinheiro para fora, travou tudo e reiniciou. Me vi naquela situação esdrúxula assistindo ao Windows XP reiniciar (não estou dizendo que seja culpa do sistema dessa vez.)</p>
<p>Uma das moças que trabalham na loja disse &#8220;Ah essa máquina aí toda hora faz isso&#8221; foi quando me ocorreu, e claro gerou um bate-boca com o responsável do horário, porque não colocam um cartaz dizendo que a máquina está ruim e porque não ligam para a operadora (Tecban) para ir dar manutenção? Mas o rapaz só me disse &#8220;nós não somos responsáveis por isso não, o senhor tem é que ligar aí para o 0800&#8243; não me convence de qualquer forma, porque se tem um equipamento dentro da loja, e sabe-se que não está bom, acredito que seja responsabilidade deles SIM colocar um aviso.</p>
<p>Em todo caso liguei para a Tecban e fui bem atendido, a moça foi muito solicita (e eu preocupado porque a bateria do celular já estava apitando) e me explicou que quando isso acontece existem duas situações:</p>
<ol>
<li>O equipamento NÃO consegue fazer a atualização na sua conta, nesse caso, quando a máquina volta a transação é cancelada</li>
<li>O equipamento consegue fazer a atualização debitando o valor, mas não liberando o dinheiro, nesse caso o banco recebe no seu relatório a informação que houve a falha e volta o saldo da sua conta, em todo caso acho que é uma boa tirar um extrato e ligar para a operadora da máquina para poder um protocolo de atendimento</li>
</ol>
<p>Achei interessante porque inclusive ao final da ligação ela falou que iria desligar o equipamento remotamente, ou seja, bastava alguém ter ligado antes de mim para evitar muita dor de cabeça.</p>
<p>Quando o sistema falhar (neste caso foi o equipamento + sistema) tenha sempre a mão um processo que contorna a situação, isso pode ser descrito até nos casos de uso porque tem a ver com processo de negócio, principalmente quando envolve coisas que precisam de garantias como operações financeiras.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2010/06/24/quando-o-sistema-falha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netbeans 6.9</title>
		<link>http://www.paulomotta.pro.br/2010/06/17/netbeans-6-9/</link>
		<comments>http://www.paulomotta.pro.br/2010/06/17/netbeans-6-9/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 12:09:19 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[ICEFaces]]></category>
		<category><![CDATA[Impacto]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Netbeans]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>
		<category><![CDATA[Risco]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=576</guid>
		<description><![CDATA[Saiu o Netbeans 6.9 com uma série de facilidades novas inclusive edição visual de JavaFX, uma alternativa para criar aplicações RIA (Rich Internet Applications.) Ainda não baixei e nem experimentei, aliás ainda estou usando a versão 6.7, eu sou um pouco averso a sair baixando e instalando novas versões antes de testar tudo que precisa [...]]]></description>
			<content:encoded><![CDATA[<p>Saiu o <a href="http://netbeans.org/" target="_blank">Netbeans</a> 6.9 com uma série de facilidades novas inclusive edição visual de JavaFX, uma alternativa para criar aplicações RIA (<em>Rich Internet Applications</em>.) Ainda não baixei e nem experimentei, aliás ainda estou usando a versão 6.7, eu sou um pouco averso a sair baixando e instalando novas versões antes de testar tudo que precisa ser feito, já aconteceu comigo de atualizar e uma outra funcionalidade quebrar porque dependia de alguma característica da versão anterior.</p>
<p>Quando vamos atualizar uma biblioteca, um produto, um sistema, precisamos antes fazer um teste nas funcionalidades para garantir que tudo vai ficar correto. Exemplo, o ICEFaces 1.8.x funciona corretamente com o Netbeans 6.7, mas devido as mudanças estruturais da versão 6.8 não havia plug-in nem suporte, ou seja, migrou vai ter que codificar como se fosse um editor de texto simples, então enquanto não fizer todos os testes não dá para atualizar porque a produção de sistemas depende desses fatores para ser produtiva.</p>
<p>Outro exemplo, a versão ICEFaces 2.0 já está disponível, mas não sei se tudo no sistema funciona com essa nova versão, então não dá para simplesmente instalar a versão nova, é necessário, entre outras coisas, ler os comentários do release feitos pelo fornecedor para entender o impacto da mudança no seu sistema. Ah sim, e saber se a versão nova vai funcionar (ou quando vai funcionar) com a sua IDE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2010/06/17/netbeans-6-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experimentando as extensões de Lua</title>
		<link>http://www.paulomotta.pro.br/2010/06/16/experimentando-as-extensoes-de-lua/</link>
		<comments>http://www.paulomotta.pro.br/2010/06/16/experimentando-as-extensoes-de-lua/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 17:28:14 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[LINGUAGEM]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=574</guid>
		<description><![CDATA[O interessante das linguagens de hoje é como permitem que o próprio usuário crie suas extensões ampliando a aplicabilidade da linguagem. Estou criando uma API feita em Lua para simplificar o acesso a uma biblioteca feita em C, de uma maneira geral C e Lua já se falam bem, mas você pode fornecer mais facilidades [...]]]></description>
			<content:encoded><![CDATA[<p>O interessante das linguagens de hoje é como permitem que o próprio usuário crie suas extensões ampliando a aplicabilidade da linguagem. Estou criando uma API feita em Lua para simplificar o acesso a uma biblioteca feita em C, de uma maneira geral C e Lua já se falam bem, mas você pode fornecer mais facilidades para o seu usuário.</p>
<p>O problema que eu sempre esbarro é ter umas ideias malucas para as quais eu não acho exemplos aí tenho que ficar experimentando até fazer funcionar. Vou colocar aqui depois um exemplo de como usar as metatables de Lua para criar seus próprios objetos. Já existe muito material espalhado na rede, mas estou tentando juntar muita coisa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2010/06/16/experimentando-as-extensoes-de-lua/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaDB</title>
		<link>http://www.paulomotta.pro.br/2010/06/07/javadb/</link>
		<comments>http://www.paulomotta.pro.br/2010/06/07/javadb/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 02:48:13 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/?p=552</guid>
		<description><![CDATA[Há algum tempo eu fiz escrevi falando que o JavaDB me lembrava um pouco da época que programavamos com clipper e dbf porque os bancos de dados criados com JavaDB podem ser embutidos em nossas aplicações, porém existe uma situação em que esse banco de dados se mostra excepcional, o estudo.
Principalmente em situações em sala [...]]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo eu fiz escrevi falando que o JavaDB me lembrava um pouco da época que programavamos com clipper e dbf porque os bancos de dados criados com JavaDB podem ser embutidos em nossas aplicações, porém existe uma situação em que esse banco de dados se mostra excepcional, o estudo.</p>
<p>Principalmente em situações em sala de aula podemos lançar mão desse recurso como uma alternativa quando não é possível instalar outros bancos de dados ou até mesmo quando os alunos vão criar suas aplicações em casa para entregar em seus trabalhos.</p>
<p>A grande vantagem é que quando usamos o Netbeans (pelo menos na versão mais completa) esse banco de dados já vem instalado e configurado, inclusive com algumas tabelas já prontas e carregadas o que facilita muito nossa vida. Se estivermos trabalhando com JPA os trabalhos podem ser feitos dessa forma e posteriormente apenas o arquivo de configuração ser modificado para um banco de dados mais robusto.</p>
<p>Além disso, esse banco tem funcionalidades mais completas que o access.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2010/06/07/javadb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
