Meus dois centavos...
Com o TopLink voc� pode usar Dynamic EJB-QL nos seus EJBs CMPs e seu c�digo ser� mais port�vel que usar a implementa��o espec�fica, por exemplo, do JBOSS ou Websphere, pelo simples motivo que estes dois servidores de aplica��es implementam suas pr�prias formas de fazer o Dynamic EJB-QL. Ao usar o TopLink voc� ter� seus CMPs com suporte a Dynamic EJB-QL que poder�o rodar em QUALQUER servidor de aplica��es e QUALQUER banco de dados sem ter que mexer no seu c�digo.
Agora, tudo tem um pre�o, � claro... e voc� vai ter que considerar isso na sua avalia��o. As observa��es do Michael (Santos) foram perfeitas. Ali�s, como tem "Maiko", "Michael", e "Maykel" nessa thread !! :-))))
Maiores informa��es sobre o TopLink em:
http://otn.oracle.com/products/ias/toplink/content.html
[]s
Maiko
Michael Santos <[EMAIL PROTECTED]> wrote:
----- Original Message -----
From: "Maykel Tres" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Subject: Re: [enterprise-list] ORDER BY no Entity
> Ola Michael,
>
> Na resposta abaixo voc� tocou num ponto que estou extremamente preocupado.
A
> utiliza��o de DAO para acesso a dados visto que eu utilizo CMP para a
> persist�ncia dos meus objetos.
> Eu estou preocupado porque tenho que tomar a decis�o de utilizar ou n�o
EJB
> QL.
> Gostaria de saber a sua opini�o a respeito do assunto.
Bem, esta decisao vai depender muito do escopo do seu projeto e de questoes
de portabilidade.
Acredito que, no seu caso, existam duas sugestoes plausiveis:
- Utilizar BMP com o uso de algum framework/ferramenta de mapeamento O/R
(OJB [http://jakarta.apache.org/ojb/index.html], JDO, TopLink etc.)
- Combinar o uso de CMP com DAOs para situacoes onde EJB-QL nao for
suficiente.
> Achei a id�ia de utilizar DAO muito boa, mas surge uma d�vida cruel. Eu
devo
> fazer consultas bem elaboradas(grandes) ou utilizo de v�rias pesquisas
> menores e junto todos os objetos em um session bean para organizar e
> classificar?
Voce tem que comparar suas opcoes na pratica para obter uma resposta a sua
pergunta:
- O uso de queries grandes, com joins, nested queries etc. pode realmente
oferecer melhor performance _se elas forem bem escritas_. Contudo, a
facilidade de manutencao vai para o espaco e fica mais dificil escrever
codigo SQL portavel...
- Fazer a logica do join nos sessions beans pode parecer mais elegante,
portavel e de melhor manutencao, mas pode ser _bem mais lento_ e se tornar
bastante ilegivel se voce nao tiver cuidado.
Recomendo que voce faca um proof-of-concept; escreva codigo para somente um
ou dois use-cases da sua aplicacao usando as duas estrategias, faca testes
de performance, avalie a legibilidade, facilidade de desenvolvimento,
portabilidade e outros aspectos que considera importantes e faca sua opcao.
> Essa pergunta serve no caso de EJB QL. E tamb�m tem a quest�o da troca de
> banco de dados. Em EJB QL eu n�o tenho essa preocupa��o.
Voce pode encapsular a criacao dos seus DAOs usando Abstract Factory e
acessando-os pela interface (ou classe abstrata, dependendo do seu caso),
trocando as classes de implementacao sem quebrar o resto do seu codigo fonte
visto que o processo de instanciar os objetos ficarah encapsulado. De uma
pesquisada na Internet sobre isso, talvez buscando por DAOFactory.
> Agrade�o a colabora��o.
De nada, soh peco que voce mande as questoes para a enterprise-list direto,
nao respondo as questoes individualmente (ae soh cobrando por hora ;-))
[]s
Michael Nascimento Santos
Sun Certified Programmer for the Java 2 Platform
Sun Certified Programmer for the Java 2 Platform 1.4
Moderador SouJava - www.soujava.org.br
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
Yahoo! GeoCities
Tudo para criar o seu site: ferramentas f�ceis de usar, espa�o de sobra e acess�rios.
