Instalando aplicações ADF 11G no Tomcat
22/janeiro/2009 - Java, Oracle
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
Desenvolvendo uma aplicação CRUD com JDev 11G e ADF
14/outubro/2008 - Java, Oracle
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 componente ADF Table;
- Melhorias de performance;
- Está consumindo menos memória;
- Deploy da aplicação mais rápido;
- O help agora abre em uma nova janela e não dentro da IDE;
Pontos negativos que encontrei:
- O desenvolvimento ainda se prende muito ao WebLogic, não consegui ainda usar o JDev com JBoss ou Tomcat;
- 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;
- Ainda não existe nada que facilite a publicação no WebLogic de uma aplicação ADF Swing usando Java WebStart;
- 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);
- Não achei uma forma fácil de fazer uma chamada a uma stored procedure Oracle;
- Ele gera muito XML (isso é bom a não ser que você adora XML);
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.
Veja abaixo os passos para criar uma aplicação base-table.
Abra o JDev e clique em New Application
Dê um nome para a aplicação, informe os prefixos dos pacotes e selecione o template Fusion Web Application (ADF). Clique em Next.
Altere o diretório se quiser. Clique em Next.
Altere o pacote ou os caminhos de diretório se desejar. Clique em Next.
Aceite os valores defaults. Clique em Next.
Clique em Next.
Clique em Finish.
Tela de controle da aplicação.
Criando uma conexão com o banco de dados.
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.
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.
Selecione a conexão que acabamos de criar.
Selecione a tabela que servirá de base para a aplicação. Clique em Next.
Clique em Finish.
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.
Dê um nome para o arquivo. Marque a opção Create as XML Document, não é obrigatório, mas eu prefiro o jspx.
A página foi criada e o editor JSF carregado (aqui vai demorar um pouco para carregar o editor).
Abra a aba Data Controls, selecione CountryCodeView1 e arraste para dentro da página JSP. No menu flutuante selecione Forms, ADF Form.
Marque a opção Include Navigation Controls e clique em Ok.
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).
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.
Agora vamos rodar a aplicação, clique com o botão direito sobre o JSP e selecione Run (Ctrl + F11).
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.
Exemplo de como o ADF mostra os erros de validação.
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.
Espero ter ajudado.
Até mais,
Roberto
Instalando o JDeveloper 11G
08/outubro/2008 - Oracle
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 versão embbeded do WebLogic Application Server e por ter o JDK 6 embutido na distribuição.
Esta versão está mais “leve” que a TP4, consigo trabalhar confortavelmente com um P4 com 1GB de RAM.
Até mais,
Roberto
Saiu a versão de produção JDeveloper 11g
08/outubro/2008 - Geral, Oracle
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
JDeveloper 11G – A primeira impressão
24/setembro/2008 - Java, Oracle
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 de poder desenvolver código Java – 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 FORMS2ADF. 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.
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.
Outra desvantagem, é que para usar confortavelmente é recomendado usar um monitor grande de 19″ 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.
Figura 1 – Visão geral do ambiente de desenvolvimento do JDeveloper 11G.
Figura 2 – Tela do JDeveloper 11G.
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.
Figura 3 – Mensagem de erro do validador do ADF.
Figura 4 – Exemplo de um LOV – List of Values, essa tela é exibida quando clicamos na lupa ao lado do campo Usuário.
Figura 5 – Lista de mensagens de erros do validador do ADF.
Figura 6 – Calendário, um dos componentes do ADF.
Figura 7 – Tela de pesquisa e seleção, é um LOV mais avançado que anterior.
Figura 8 – Tela gerada com base em uma tabela.
Figura 9 – 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 “Classificar por Ordem Crescente”.
Figura 10 – Componente select populado via AJAX produzido automaticamente.
Tudo o que foi criado, os formulários, as listas de valores – 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’ 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.
É 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.
Todas as novas funcionalidades estão listadas nesse link.
Espero que a Oracle lance logo a versão final desta IDE.
Até mais,
Roberto












































