<?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>Roberto Furutani &#187; Oracle</title>
	<atom:link href="http://www.furutani.com.br/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.furutani.com.br</link>
	<description>O site de um computólogo curioso!</description>
	<lastBuildDate>Sat, 04 Sep 2010 13:41:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>IsNumber em Oracle PL/SQL</title>
		<link>http://www.furutani.com.br/2010/02/isnumber-em-oracle-plsql/</link>
		<comments>http://www.furutani.com.br/2010/02/isnumber-em-oracle-plsql/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 11:12:55 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=608</guid>
		<description><![CDATA[Olá Existem duas formas de verificar se uma string contém um número válido. A primeira forma é usando as funções translate, trim e length. Quando usadas em conjunto você obtém null se a string for número ou o comprimento da string sem espaços em branco. Veja abaixo: select length(trim(translate(&#039;minha_variavel&#039;, &#039; +-0123456789.&#039;, &#039; &#039;))) n1, length(trim(translate(&#039;123456789.9999&#039;, [...]]]></description>
			<content:encoded><![CDATA[<p>Olá</p>
<p>Existem duas formas de verificar se uma string contém um número válido. A primeira forma é usando as funções <strong>translate, trim e length</strong>. Quando usadas em conjunto você obtém <strong>null </strong>se a string for número ou o comprimento da string sem espaços em branco. Veja abaixo:</p>
<pre class="brush: php"> select

length(trim(translate(&#039;minha_variavel&#039;, &#039; +-0123456789.&#039;, &#039; &#039;))) n1,

length(trim(translate(&#039;123456789.9999&#039;, &#039; +-0123456789.&#039;, &#039; &#039;))) n2

from dual;
</pre>
<p>O resultado dessa query é:</p>
<p><strong>N1    N2</strong><br />
14    null</p>
<p>Outra forma é usando a função <strong>to_number()</strong>.  Caso a string passada contiver caracteres não numéricos é lançada uma exceção.</p>
<pre class="brush: php">

declare
n number;
s varchar2(10);
begin
s :=  &#039;1236&#039;;
n :=  to_number(s);
dbms_output.put_line(&#039;É número&#039;);
exception when others then
dbms_output.put_line(&#039;Não é número&#039;);
end;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2010/02/isnumber-em-oracle-plsql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução ao BPEL utilizando o Oracle SOA Suíte 10g</title>
		<link>http://www.furutani.com.br/2009/06/introducao-ao-bpel-utilizando-o-oracle-soa-suite-10g/</link>
		<comments>http://www.furutani.com.br/2009/06/introducao-ao-bpel-utilizando-o-oracle-soa-suite-10g/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 01:29:14 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=471</guid>
		<description><![CDATA[Olá! Para quem quer saber um pouco mais sobre BPEL e a ferramenta Oracle SOA Suite escrevi um artigo sobre eles. Disponibilizei o web service utilizado no artigo nesse endereço http://www.furutani.com.br/CalculadoraServices/services/Calculadora?wsdl Os fontes podem ser baixados clicando em e aqui. Espero que ajude. Até mais, Roberto]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Para quem quer saber um pouco mais sobre BPEL e a ferramenta Oracle SOA Suite escrevi um artigo sobre eles.</p>
<p><strong><span style="font-size: small;"><a href="http://www.furutani.com.br/a/Introducao-ao-BPEL-utilizando-o-Oracle-SOA-Suite-10g.pdf" title="Baixado: 1534 vezes. Tamanho: 4.53 MB">Introdução ao BPEL utilizando o Oracle SOA Suíte 10g</a> </span></strong><strong><span style="font-size: medium;"><a href="http://www.furutani.com.br/tutoriais/bpel/Introducao-ao-BPEL-utilizando-o-Oracle-SOA-Suite-10g.pdf"><em></em></a></span></strong></p>
<p>Disponibilizei o web service utilizado no artigo nesse endereço <a href="http://www.furutani.com.br/CalculadoraServices/services/Calculadora?wsdl" target="_blank">http://www.furutani.com.br/CalculadoraServices/services/Calculadora?wsdl</a></p>
<p>Os fontes podem ser baixados clicando em <a href="http://www.furutani.com.br/a/CalculadoraServices.war" title="Baixado: 295 vezes. Tamanho: 1.73 MB">CalculadoraServices.war</a>  e <a href="http://www.furutani.com.br/tutoriais/bpel/CalculadoraBPEL.zip" target="_blank">aqui</a>.</p>
<p>Espero que ajude.</p>
<p>Até mais,<br />
Roberto</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;"><a href="http://www.furutani.com.br/a/CalculadoraServices.war" title="Baixado: 295 vezes. Tamanho: 1.73 MB">CalculadoraServices.war</a> </div>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/06/introducao-ao-bpel-utilizando-o-oracle-soa-suite-10g/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quer passar objetos Java para procedure Oracle</title>
		<link>http://www.furutani.com.br/2009/05/quer-passar-objetos-java-para-procedure-oracle/</link>
		<comments>http://www.furutani.com.br/2009/05/quer-passar-objetos-java-para-procedure-oracle/#comments</comments>
		<pubDate>Sun, 31 May 2009 20:44:39 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=454</guid>
		<description><![CDATA[Olá Sabia que há a possibilidade de passar um objeto Java para dentro de uma procedure ou function do Oracle ? Dica do blog do André LS. Até mais, Roberto]]></description>
			<content:encoded><![CDATA[<p>Olá</p>
<p>Sabia que há a <a href="http://www.andrels.com/wp-pt_BR/?p=31" target="_blank">possibilidade de passar um objeto Java para dentro de uma procedure ou function do Oracle</a> ?</p>
<p>Dica do blog do <a href="http://www.andrels.com/" target="_blank">André LS</a>.</p>
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/05/quer-passar-objetos-java-para-procedure-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Java Stored Procedure</title>
		<link>http://www.furutani.com.br/2009/04/oracle-java-stored-procedure/</link>
		<comments>http://www.furutani.com.br/2009/04/oracle-java-stored-procedure/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 13:05:29 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=409</guid>
		<description><![CDATA[Olá! No banco de dados Oracle, além de guardar dados é possivel criar rotinas para manipulá-los. A linguagem default é o PL/SQL mas é possivel criar rotinas em Java. Teoricamente é possível usar todos os recursos da linguagem e de mais algumas tecnologias como Java Mail, JMS, fazer chamadas a EJBs. Acredito que só não seja [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!<br />
No banco de dados <a href="http://www.oracle.com">Oracle</a>, além de guardar dados é possivel criar rotinas para manipulá-los. A linguagem default é o <a href="http://pt.wikipedia.org/wiki/PL/SQL">PL/SQL</a> mas é possivel criar rotinas em <a href="http://www.java.com">Java</a>.<br />
Teoricamente é possível usar todos os recursos da linguagem e de mais algumas tecnologias como Java Mail, JMS, fazer chamadas a EJBs. Acredito que só não seja possível usar classes de interface gráfica (JFrame, JPanel e etc.).<br />
No caso do JavaMail é preciso que o objeto tenha um grant especial senão ele conseguirá enviar os emails.<br />
Abaixo um exemplo de classe que executa um update em uma tabela de paramêtros.</p>
<pre class="brush: java">
create or replace and compile java source named
Parametro as

import java.sql.*;
import oracle.jdbc.driver.*;

public class Parametro {
  public static java.lang.String
                            atualizarParam(java.lang.String codigo,
                                                java.lang.String valor)
                                                throws SQLException { 

    // Obtem um conexão com o banco de dados
    Connection conn = new OracleDriver().defaultConnection();

    String sql = &quot;UPDATE tab_param SET &quot; +
                    &quot;vlr_par = ? WHERE cod_param = ?&quot;;

    // Todos os parametros devem estar preenchidos
    if (codigo == null || valor == null){
       return &quot;Parametros nulo&quot;;
    }

    try {

      PreparedStatement pstmt = conn.prepareStatement(sql);
      pstmt.setString(1, valor);
      pstmt.setString(2, codigo);
      pstmt.executeUpdate();
      pstmt.close();
      conn.commit();

    } catch (SQLException e) {
        return e.getMessage();
    }

    return &quot;OK&quot;;
  }
}</pre>
<p>Como não é possível chamar a classe Java diretamente, preciamos criar uma função PL/SQL encarregada de invocar o método da classe Java.</p>
<pre class="brush: sql">
create or replace function fun_atualizar(codigo varchar2, valor varchar2)
  return varchar2 is
  LANGUAGE JAVA NAME &#039;Parametro.atualizarParam(java.lang.String, java.lang.String) return java.lang.String&#039;;</pre>
<p>Código para testar a função.</p>
<pre class="brush: sql">
declare
     retorno varchar2(500);
begin
     retorno := fun_atualizar(&#039;parametro&#039;,&#039;valor&#039;);

     dbms_output.put_line(retorno);

exception
     when others then
        dbms_output.put_line(&#039;Erro -&gt; &#039; || sqlerrm);
end;</pre>
<p>Caso ocorrer esse erro:</p>
<pre class="brush: sql">
ORA-29531: no method atualizarParam in class Parametro
</pre>
<p>Verifique se os tipo dos paramêtros na function atualizar estão corretos, por exemplo:<br />
- Se o nome das classes estão completos. Ao invés de String deve estar java.lang.String;<br />
- Se os tipos primitivos estão todas em minúsculas. No lugar de Int deve ser int ou FLOAT deve ser float.</p>
<p>Até mais</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/04/oracle-java-stored-procedure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Demonstração do ADF Faces 11g</title>
		<link>http://www.furutani.com.br/2009/02/demonstracao-do-adf-faces-11g/</link>
		<comments>http://www.furutani.com.br/2009/02/demonstracao-do-adf-faces-11g/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 02:07:01 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[jdeveloper]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/2009/02/demonstracao-do-adf-faces-11g/</guid>
		<description><![CDATA[Olá! Neste link você poderá ver um aplicativo de demostração do ADF Faces Rich Client. Até mais, Roberto]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Neste link você poderá ver um aplicativo de demostração do <a href="http://jdevadf.oracle.com/adf-richclient-demo/faces/components/index.jspx?_afPfm=-45d4273d">ADF Faces Rich Client</a>.</p>
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/02/demonstracao-do-adf-faces-11g/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Instalando aplicações ADF 11G no Tomcat</title>
		<link>http://www.furutani.com.br/2009/01/instalando-aplicacoes-adf-11g-no-tomcat/</link>
		<comments>http://www.furutani.com.br/2009/01/instalando-aplicacoes-adf-11g-no-tomcat/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 16:03:36 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[ADF 11G]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://www.furutani.com.br/?p=297</guid>
		<description><![CDATA[Olá, Uma dica para quem deseja instalar uma aplicação feita em ADF 11G no Tomcat 6.x ao invés do Weblogic é ler este post How to deploy a 11g ADF application on Tomcat 6.x. Ainda não tive oportunidade de testar. Se funciona pro Tomcat pode funcionar pro Jetty também. Até mais, Roberto]]></description>
			<content:encoded><![CDATA[<p>Olá,</p>
<p>Uma dica para quem deseja instalar uma aplicação feita em ADF 11G no<a href="http://tomcat.apache.org/"> Tomcat 6.x</a> ao invés do <a href="http://www.bea.com/">Weblogic </a>é ler este post<a title="Dana Singleterry's Weblog" href="http://blogs.oracle.com/dana/2009/01/how_to_deploy_a_11g_adf_applic_1.html"> How to deploy a 11g ADF application on Tomcat 6.x</a>. Ainda não tive oportunidade de testar.</p>
<p>Se funciona pro Tomcat pode funcionar pro <a href="http://www.mortbay.org/">Jetty</a> também.</p>
<p>Até mais,</p>
<p>Roberto</p>
<h2 id="archive-title"><strong><br />
</strong></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2009/01/instalando-aplicacoes-adf-11g-no-tomcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desenvolvendo uma aplicação CRUD com JDev 11G e ADF</title>
		<link>http://www.furutani.com.br/2008/10/desenvolvendo-uma-aplicacao-crud-com-jdev-11g-e-adf/</link>
		<comments>http://www.furutani.com.br/2008/10/desenvolvendo-uma-aplicacao-crud-com-jdev-11g-e-adf/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 17:57:23 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[jdeveloper]]></category>

		<guid isPermaLink="false">http://www.furutani.eti.br/wordpress/?p=150</guid>
		<description><![CDATA[Olá! Já instalei o JDev 11G (11.1.1.0.0) na minha máquina, um Core2 Duo com 2GB de RAM e está bem melhor que a versão tecnology preview 4. As principais melhorias e evoluções em relação a versão tecnology preview 4 que consegui analisar são: Uso do servidor Weblogic no lugar do OC4J; Correções de erros no [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Já instalei o JDev 11G (11.1.1.0.0) na minha máquina, um Core2 Duo com 2GB de RAM e está bem melhor que a versão tecnology preview 4.<br />
As principais melhorias e evoluções em relação a versão tecnology preview 4 que consegui analisar são:</p>
<ul>
<li>Uso do servidor Weblogic no lugar do OC4J;</li>
<li>Correções de erros no componente ADF Table;</li>
<li>Melhorias de performance;</li>
<li>Está consumindo menos memória;</li>
<li>Deploy da aplicação mais rápido;</li>
<li>O help agora abre em uma nova janela e não dentro da IDE;</li>
</ul>
<p>Pontos negativos que encontrei:</p>
<ul>
<li>O desenvolvimento ainda se prende muito ao WebLogic, não consegui ainda usar o JDev com JBoss ou Tomcat;</li>
<li>Não existe um instalador das libs do ADF para tomcat, jboss ou websphere, então você precisa caçando os jars para que aplicação funcione em outro servidor;</li>
<li>Ainda não existe nada que facilite a publicação no WebLogic de uma aplicação ADF Swing usando Java WebStart;</li>
<li>Ainda consome muita memória que o Eclipse (tá certo que o Eclipse não tem editor drg n´ drop JSF e é isso que pesa);</li>
<li>Não achei uma forma fácil de fazer uma chamada a uma stored procedure Oracle;</li>
<li>Ele gera muito XML (isso é bom a não ser que você adora XML);</li>
</ul>
<p>Agora vamos a parte prática. Fazer uma aplicação CRUD usando como base uma tabela é muito simples e não leva mais que 10 minutos. Quando você tiver um pouco mais de prática vai levar no máximo 6 minutos.<br />
Veja abaixo os passos para criar uma aplicação base-table.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g001.gif"><img class="aligncenter size-medium wp-image-127" title="jdeveloper11g001" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g001-300x204.gif" alt="" width="300" height="204" /></a></p>
<p style="text-align: center;">Abra o JDev e clique em New Application</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g002.gif"><img class="aligncenter size-medium wp-image-128" title="jdeveloper11g002" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g002-300x225.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Dê um nome para a aplicação, informe os prefixos dos pacotes e selecione o template Fusion Web Application (ADF). Clique em Next.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g003.gif"><img class="aligncenter size-medium wp-image-129" title="jdeveloper11g003" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g003-300x225.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Altere o diretório se quiser. Clique em Next.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g004.gif"><img class="aligncenter size-medium wp-image-130" title="jdeveloper11g004" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g004-300x225.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Altere o pacote ou os caminhos de diretório se desejar. Clique em Next.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g005.gif"><img class="aligncenter size-medium wp-image-130" title="jdeveloper11g005" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g005-300x225.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Aceite os valores defaults. Clique em Next.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g006.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g006-300x225.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Clique em Next.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g006.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g006.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Clique em Finish.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g007.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g007.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Tela de controle da aplicação.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g008.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g008.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Criando uma conexão com o banco de dados.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g009.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g009.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Informe os dados de usuário/senha, IP/porta e SID do banco de dados. Teste a conexão, se der sucesso clique em Ok. Se não revise os dados.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g010.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g010.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Agora vamos criar os objetos do projeto Model. Clique com o botão direito em cima do projeto Model, selecione ADF Business Components, no lado direto selecione Business Components from Tables.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g011.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g011.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Selecione a conexão que acabamos de criar.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g012.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g012.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Selecione a tabela que servirá de base para a aplicação. Clique em Next.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g013.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g013.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Clique em Finish.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g014.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g014.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Agora vamos criar uma página JSF em branco. Clique com o botão direito do mouse sobre o projeto ViewController, selecione New.  Clique em JSF e no lado direito selecione JSP page.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g015.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g015.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Dê um nome para o arquivo. Marque a opção Create as XML Document, não é obrigatório, mas eu prefiro o jspx.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g016.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g016.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">A página foi criada e o editor JSF carregado (aqui vai demorar um pouco para carregar o editor).</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g017.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g017.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Abra a aba Data Controls, selecione CountryCodeView1 e arraste para dentro da página JSP. No menu flutuante selecione Forms, ADF Form.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g018.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g018.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Marque a opção Include Navigation Controls e clique em Ok.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g019.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g019.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Agora vamos incluir no formulário os botões para inserir linhas, dar rollback e comitar . Na aba DataControls abra a árvore do CountryCodeView1 e arraste para o JSP CreateInsert (Abre um novo registro), Find (Abre o form em modo de busca), Execute (Executa a busca).</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g020.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g020.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Os botões Commit e Rollback são criados apartir das operações que estão abaixo de AppModuleDataControl, clique e arraste para dentro do JSP, um de cada vez.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g021.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g021.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Agora vamos rodar a aplicação, clique com o botão direito sobre o JSP e selecione Run (Ctrl + F11).</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g022.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g022.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Se tudo deu certo e nada deu errado, o browser será aberto com a página que nós criamos com o nosso formulário.</p>
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g023.gif"><img class="aligncenter size-medium wp-image-130" src="http://www.furutani.com.br/wp-content/uploads/2008/10/jdeveloper11g023.gif" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;">Exemplo de como o ADF mostra os erros de validação.</p>
<p>No dia-a-dia esses wizards ajudam muito, principalmente por que é entendiante ficar desenvolvendo CRUDs na mão. Em Struts normalmente eu criava 2 JSP (uma para listar e outro o formulário) e 4 actions (uma para obter a lista de entidades, outra para salvar os dados do formulário no banco, outro para buscar os dados de um registro para ser editado no formulário e por fim uma action para deletar registros. É claro que é necessário um estudo sobre performance de consulta e manutenção disso.<br />
Espero ter ajudado.<br />
Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2008/10/desenvolvendo-uma-aplicacao-crud-com-jdev-11g-e-adf/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Instalando o JDeveloper 11G</title>
		<link>http://www.furutani.com.br/2008/10/instalando-o-jdeveloper-11g/</link>
		<comments>http://www.furutani.com.br/2008/10/instalando-o-jdeveloper-11g/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 15:01:35 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[jdeveloper]]></category>

		<guid isPermaLink="false">http://www.furutani.eti.br/wordpress/?p=122</guid>
		<description><![CDATA[Olá! Fiz a instalação do JDeveloper 11G. A primeira vista a inclusão de instalador facilitou a vida de quem usa o protocolo NNF (Next, Next, Finish), eu ainda prefiro o arquivo zip que você descompacta e roda um bat. Talvez a inclusão de um instalador foi motivada pela troca da porcaria do OC4J por uma [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Olá!</p>
<p style="text-align: left;">Fiz a instalação do JDeveloper 11G. A primeira vista a inclusão de instalador facilitou a vida de quem usa o protocolo NNF (Next, Next, Finish), eu ainda prefiro o arquivo zip que você descompacta e roda um bat.</p>
<p style="text-align: left;">Talvez a inclusão de um instalador foi motivada pela troca da porcaria do OC4J por uma versão embbeded do WebLogic Application Server e por ter o JDK 6 embutido na distribuição.</p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_001-080214.gif"><img class="size-medium wp-image-108 aligncenter" title="ps_001-080214" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_001-080214-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_002-080220.gif"><img class="alignnone size-medium wp-image-121" title="ps_002-080220" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_002-080220-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_003-080230.gif"><img class="alignnone size-medium wp-image-120" title="ps_003-080230" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_003-080230-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_004-080237.gif"><img class="alignnone size-medium wp-image-119" title="ps_004-080237" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_004-080237-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_005-080246.gif"><img class="alignnone size-medium wp-image-118" title="ps_005-080246" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_005-080246-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_006-080256.gif"><img class="alignnone size-medium wp-image-117" title="ps_006-080256" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_006-080256-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_007-080304.gif"><img class="alignnone size-medium wp-image-116" title="ps_007-080304" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_007-080304-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_008-080610.gif"><img class="alignnone size-medium wp-image-115" title="ps_008-080610" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_008-080610-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_009-080720.gif"><img class="alignnone size-medium wp-image-114" title="ps_009-080720" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_009-080720-300x215.gif" alt="" width="300" height="215" /></a></p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_010-080755.gif"><img class="alignnone size-medium wp-image-113" title="ps_010-080755" src="http://www.furutani.com.br/wp-content/uploads/2008/10/ps_010-080755-300x232.gif" alt="" width="300" height="232" /></a></p>
<p style="text-align: left;">Esta versão está mais &#8220;leve&#8221; que a TP4, consigo trabalhar confortavelmente com um P4 com 1GB de RAM.</p>
<p style="text-align: left;">Até mais,<br />
Roberto</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2008/10/instalando-o-jdeveloper-11g/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Saiu a versão de produção JDeveloper 11g</title>
		<link>http://www.furutani.com.br/2008/10/saiu-a-versao-de-producao-jdeveloper-11g/</link>
		<comments>http://www.furutani.com.br/2008/10/saiu-a-versao-de-producao-jdeveloper-11g/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 10:46:28 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jdeveloper]]></category>

		<guid isPermaLink="false">http://www.furutani.eti.br/wordpress/?p=106</guid>
		<description><![CDATA[Olá! A Oracle liberou no dia 06/10/2008 a versão final do JDeveloper 11G. Link para download do JDeveloper 11G. Agora vamos testar. Até mais, Roberto]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>A Oracle liberou no dia 06/10/2008 a versão final do JDeveloper 11G.<br />
<a href="http://www.oracle.com/technology/software/products/jdev/htdocs/soft11.html" target="_blank">Link para download do JDeveloper 11G</a>.<br />
Agora vamos testar.</p>
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2008/10/saiu-a-versao-de-producao-jdeveloper-11g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDeveloper 11G &#8211; A primeira impressão</title>
		<link>http://www.furutani.com.br/2008/09/jdeveloper-11g-a-primeira-impressao/</link>
		<comments>http://www.furutani.com.br/2008/09/jdeveloper-11g-a-primeira-impressao/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 03:10:22 +0000</pubDate>
		<dc:creator>Roberto Furutani</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[jdeveloper]]></category>

		<guid isPermaLink="false">http://www.furutani.eti.br/wordpress/?p=99</guid>
		<description><![CDATA[Olá! A Oracle realmente me surpreendeu com o JDeveloper 11G, os novos componentes de tela baseados em AJAX são espetaculares e a criação de aplicações CRUD baseadas em tabelas com formulários master/detail para web ficou muito fácil e rápido. Estou testando a versão Preview 4, ainda não é a versão final mas está usável. Além [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Olá!</p>
<p style="text-align: left;">A <a title="http://www.oracle.com/" href="http://www.oracle.com/" target="_blank">Oracle</a> realmente me surpreendeu com o <a title="http://www.oracle.com/technology/products/jdev/11/index.html" href="http://www.oracle.com/technology/products/jdev/11/index.html" target="_blank"><strong>JDeveloper 11G</strong></a>, os novos componentes de tela baseados em AJAX são espetaculares e a criação de aplicações CRUD baseadas em tabelas com formulários master/detail para web ficou muito fácil e rápido.<br />
Estou testando a versão Preview 4, ainda não é a versão final mas está usável.</p>
<p style="text-align: left;">Além de poder desenvolver código Java &#8211; EJB3, JPA, Swing, Webservices, Servlets, o JDeveloper oferece ferramentas para projetar diagramas UML e MER, escrever scripts SQL e migrar aplicativos feitos em Oracle Forms para ADF com <a href="http://www.oracle.com/technology/products/jheadstart/jfg11preview.pdf" target="_blank">FORMS2ADF</a>. Eu não era muito fã do JDeveloper por ser uma IDE proprietária e na primeira vez que eu usei ele não achei muito legal.<br />
Mas nem tudo são flores, o JDeveloper come muita memória em média de 500MB em um micro core 2 duo 1,67 MHz com 2Gb de ram a performance é satisfatório e temos colocar mais uns 200MB para o servidor OC4J. Alias o OC4J é outra coisa que a Oracle precisa melhorar, quem sabe com a aquisição da BEA ele não embutem um Weblogic no JDeveloper daqui um tempo.<br />
Outra desvantagem, é que para usar confortavelmente é recomendado usar um monitor grande de 19&#8243; no mínimo por que tem muitas janelinhas ao redor da janela principal, se você tiver um monitor pequeno vai ser um abre-e-fecha constante.</p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_08-sep-23-2121.gif"><img class="aligncenter size-full wp-image-102" title="screenhunter_08-sep-23-2121" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_08-sep-23-2121.gif" alt="" width="500" height="302" /></a></p>
<p style="text-align: center;">Figura 1 &#8211; Visão geral do ambiente de desenvolvimento do JDeveloper 11G.</p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_11-sep-23-2130.gif"><img class="size-medium wp-image-101 aligncenter" title="screenhunter_11-sep-23-2130" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_11-sep-23-2130-300x200.gif" alt="" width="300" height="200" /></a></p>
<p style="text-align: center;">Figura 2 &#8211; Tela do JDeveloper 11G.</p>
<p style="text-align: left;">
<p style="text-align: left;">O desenvolvimento usando o ADF 11G simplificou muito o desenvolvimento de aplicações comerciais. O ADF 11G faz muito uso de AJAX como vocês podem ver nos screen shots abaixos.</p>
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_09-sep-23-2126.gif"><img class="aligncenter size-full wp-image-100" title="screenhunter_09-sep-23-2126" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_09-sep-23-2126.gif" alt="" width="479" height="194" /></a></p>
<p style="text-align: center;">Figura 3 &#8211; Mensagem de erro do validador do ADF.</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_06-sep-23-2115.gif"><img class="aligncenter size-full wp-image-97" title="screenhunter_06-sep-23-2115" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_06-sep-23-2115.gif" alt="" width="499" height="428" /></a></p>
<p style="text-align: center;">Figura 4 &#8211; Exemplo de um LOV &#8211; List of Values, essa tela é exibida quando clicamos na lupa ao lado do campo Usuário.</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_07-sep-23-2115.gif"><img class="aligncenter size-full wp-image-98" title="screenhunter_07-sep-23-2115" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_07-sep-23-2115.gif" alt="" width="408" height="398" /></a></p>
<p style="text-align: center;">Figura 5 &#8211; Lista de mensagens de erros do validador do ADF.</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_05-sep-23-2115.gif"><img class="aligncenter size-full wp-image-96" title="screenhunter_05-sep-23-2115" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_05-sep-23-2115.gif" alt="" width="500" height="266" /></a></p>
<p style="text-align: center;">Figura 6 &#8211; Calendário, um dos componentes do ADF.</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_04-sep-23-2114.gif"><img class="aligncenter size-full wp-image-95" title="screenhunter_04-sep-23-2114" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_04-sep-23-2114.gif" alt="" width="386" height="613" /></a></p>
<p style="text-align: center;">Figura 7 &#8211; Tela de pesquisa e seleção, é um LOV mais avançado que anterior.</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_02-sep-23-2113.gif"><img class="aligncenter size-full wp-image-93" title="screenhunter_02-sep-23-2113" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_02-sep-23-2113.gif" alt="" width="500" height="114" /></a></p>
<p style="text-align: center;">Figura 8 &#8211; Tela gerada com base em uma tabela.</p>
<p style="text-align: center;">
<p><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_01-sep-23-2112.gif"><img class="aligncenter size-full wp-image-92" title="screenhunter_01-sep-23-2112" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_01-sep-23-2112.gif" alt="" width="500" height="258" /></a></p>
<p style="text-align: center;">Figura 9 &#8211; Tabela criada com input texts para filtro e botões de ordenação. O recurso de internacionalização i18n das mensagens dos componentes do ADF pode ser conferida na mensagem &#8220;Classificar por Ordem Crescente&#8221;.</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_03-sep-23-2113.gif"><img class="aligncenter size-full wp-image-94" title="screenhunter_03-sep-23-2113" src="http://www.furutani.com.br/wp-content/uploads/2008/09/screenhunter_03-sep-23-2113.gif" alt="" width="500" height="115" /></a></p>
<p style="text-align: center;">Figura 10 &#8211; Componente select  populado via AJAX produzido automaticamente.</p>
<p style="text-align: left;">Tudo o que foi criado, os formulários, as listas de valores &#8211; LOVs, os botões, as tabelas, foram feitos sem escrever uma linha de código. Os desenvolvedores mais conservadores podem torcer o nariz para essas ferramentas drag n&#8217; drop, mas são ferramentas que facilitam e aceleram o desenvolvimento, agora como vai ser manutenção do código e a performance da mesma ainda não descobri.</p>
<p style="text-align: left;">É claro que é possível fazer tudo na mão usando, mas se for para fazer tudo na mão com Dojo, Rich Faces ou qualquer outro framework da moda é melhor o Eclipse mesmo, que na minha opinião ainda possuí o melhor e mais inteligente editor de código que o JDeveloper 11G.</p>
<p>Todas as novas funcionalidades estão listadas nesse <a href="http://www.oracle.com/technology/products/jdev/collateral/papers/11/newfeatures/index.html" target="_blank">link</a>.<br />
Espero que a Oracle lance logo a versão final desta IDE.</p>
<p>Até mais,<br />
Roberto</p>
]]></content:encoded>
			<wfw:commentRss>http://www.furutani.com.br/2008/09/jdeveloper-11g-a-primeira-impressao/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
