sábado, 15 de agosto de 2009

Preparando e Carregando

Uma das minhas maiores preocupações quando iniciei os meus sistemas com ADF, foi o fato de não se localizar especificamente onde deve-se fazer o preparo dos datasets antes de se entrar em uma pagina de dados;

Esse "preparo dos datasets" são usados como uma ambientalização do formulario que vem a sequir ;

Com struts + ADF-UIX tinhamos a chamada de um metodo "public void beforePrepareModel(DataActionContext ctx)" esse metodo era uma modificação da action original do ADF-Struts, que nos faziamos intervindo no seu life-cycle original e ganhando esse "gancho" que usavamos com o fim de organizar nosso ambiente de dados;

public void beforePrepareModel(DataActionContext ctx)
{
// TODO: Override this santoandrea.adf.controller.santoandreaDataForwardAction method
ccacServiceImpl ccSer = (ccacServiceImpl) this.getccacService(ctx);
ViewObject vCont = (ViewObject)ccSer.findViewObject("Tblcontratados");
vCont.setWhereClause(null);
vCont.setWhereClauseParams(null);
}


Otimo; e agora com o Faces ??


Essa foi a origem de uma longa lista de soluções; eu vou enumerar as principais delas

  1. No diagrama adf-task-flow podemos por um method-Call, qual aponta para um metodo em backing bean ou no proprio application module;
  2. Utilizando o metodo initializer de um task-flow
  3. como no jDev 10g, podemos interferir no life-clycle do ADF-Faces, montando um "gancho" para nosso trabalho;

Qual é a mais correta ?
Bom essa pergunta não se responde assim, cada caso é um caso e suas aplicações e desvantagens devem ser ponderadas

A opção 1, é a mais incentivada pela Oracle , por ser a mais documentada o proprio task-flow ja demonstra que existe uma passagem por uma rotina que abre as tabelas e preprara o ambiente;

A opção 2 , também é muito boa, eu não gosto dela particularmente, porque ela fica de alguma forma "escondida" dentro do task-flow e também seria nescessario 1 task-flow por tela que deveria receber esse tratamento;

A opção 3, foi a unica forma que eu encontrei para atualizar a tela (ou os registros) de acordo com uma mudança uma variavel de ambiente qual poderia ser mudada em qualquer momento pelo usuário até mesmo quando ele estava com uma tela de dados aberta; então os registros precisariam refletir essa alteração de ambiente;



Nos proximos posts, demonstrarei detalhadamente cada uma


Marcos Ortega
Analista de Sistemas
Campo Grande - MS
http://www.santoandrea.com.br

sexta-feira, 15 de maio de 2009

Obrigado Aino Andriessen

Depois de atualizar o meu tortoiseSVN para versão 1.6.2 , pra minha surpresa e decepção o plug-in do jDeveloper 11g do subversion começou a se perder e foi até finalmente não reconhecer mais os arquivos de controle de versão dos meus projetos !

 Muito bem , depois de algum tempo de pesquisas postagem no forum da otn , encontrei esse artigo referente ao svn e jDev 10g, depois de ler-lo pensei , que seria apenas um caso de substituir o arquivo svnjavahl.jar, por um mais novo ( de versão mais nova ) , bem não foi bem assim , passei horas substituindo por arquivos baixados da pagina do projeto (http://subversion.tigris.org/)   mas nenhum deles deu certo, nenhum deles atualizava o svn, ele simplesmente não assumia as versões 1.6 e nenhuma outra, se mantinha na incompativel SvnKit 1.2

Até que fui sendo  vencido pela minha teimosia de atualizar acabei seguindo rigorosamente oque dizia o artigo e bingo ! 

Finalmente consegui atualizar;

Eis aqui os passos ( traduzidos da pagina )

1.  Tenha certeza de ter TortoiseSVN 1.5 instalado e desabilitado as atualizações automaticas ( seguramente para nao ter mais surpresas de incompatibilidade)

2.  Pare o  JDeveloper

3.  Download o  standalone svnkit 1.2.3 da pagina http://svnkit.com/

4.  descompacte-o

5.  renomeie svnkit-javahl.jar para svnjavahl.jar

6.  Troque os arquivos  svnkit.jar and (e o renomeado) svnjavahl.jar para o  JDeveloper subversion extension diretorio, [jdev install dir]\jdev\extensions\oracle.jdeveloper.subversion.10.1.3

7.  Done, start JDeveloper

8.  verifique -> preferences -> Versioning -> Subversion. It now shows the upgraded version  :


É isso ai !!

  Graças a esse artigo tenho agora meus projetos sendo versionados por dentro do jDev !

      Marcos Ortega
 Analista de Sistemas
  Campo Grande - MS
http://www.santoandrea.com.br

quinta-feira, 22 de janeiro de 2009

Conhecendo o jDeveloper

Oracle jDeveloper é uma IDE para desenvolvimento de aplicações java, feita pela Oracle, atualmente é a principal ferramenta adotada pela Oracle para desenvolvimento de aplicações quais deverão ( ou não ) utilizar todos os recursos de seus servidores de aplicação ( oracle IAS ou Oracle WebLogic)  e claro do seu banco de dados;

 Certamente, que um sistema desenvolvido dentro do  jDev não precisa ser instalado em uma das versões do oracleIAS, apenas ; eu mesmo tenho a maioria dos meus projetos instalados e rodando dentro de versões do Apache/Tomcat

  Também não a necessidade de se utilizar apenas os frameworks disponibilizados pela oracle, o jDev vai trabalhar com qualquer tipo de frameWork, ressalva para o meta-data (arquivos xml) que terão que ser manualmente alterados nesses casos, ou se você tiver sorte pode até encontrar algum plug-in para o jDev da seu framework preferido.

Temos dentro do jDeveloper todos os recursos que as melhores ide's de desenvolvimento tem;  ainda mais  alguns recursos inovadores e muito uteis;

Atualmente o jDeveloper está na versão 11g lançada no final do ano passado essa versão traz importantes inovações como por ex. ADF-FACES, que é a versão customizada da oracle do JavaServer faces. (depois falamos mais dela).

Mas por hora quero mostrar algumas ferramentas que vem embutidas dentro do jDev e que não temos similar em outras ide's java.

  • Servidor oc4j embutido ( jDev 10.1 )
  • Debuger com reconhecimento de classe alterada, ele atualiza a classe que vc altera apenas recompilando , não é nescessario reiniciar a aplicação em muitos casos
  • Versioning , não apenas svn ou cvs que são instalados como plug-ins , mas também a versão 11g traz pra nos um versioning muito bom que permite
    "andar-mos" pelas versões dos fontes.
  • Diagramas, é uma seção a parte do jDev. Os diagramas são excelentes para as documentações do projeto. entre eles os que eu mais uso são ( Diagrama UML, Diagrama De Classes, Diagrama de Casos de Uso e claro Diagrama de Entidades e Relacionamento ) a vantagem de ter os diagramas dentro do propio projeto é a retro-alimentação entre o projeto e as classes, no caso do diagrama de classes e do diagrama de entidades e relacionamentos o projeto se atualiza pela classe e vice-versa.
  • Deploy automático ( em casos de servidores de aplicação oracle )
 Temos outras inovações mas ja seria dentro dos frameworks, como por exemplo recursos de i18n, (internacionalização) que em tempo de desenvolvimento ja podemos ir tratando os arquivos .properties de dentro do object-inspector do componente que irá apresentar o texto.


Esse topico é pra dar uma visão geral da nossa ferramenta.
Atualmente eu estou iniciando meus trabalhos em 11g apenas, a maioria dos meus projetos estão em 10g ( Adf Uix / Adf Struts );

Para saber mais ;
   

Ola a todos

Estamos abrindo esse blog, porque acredito que no decorrer de 2009 vamos ter muitas  novidades no brasil, com relação ao jDeveloper. 
Tambem não encontrei nenhum outro blog brasileiro sobre essa ferramenta de desenvolvimento da Oracle, tão incrivel;