bem, acho que esqueci de avisar, mas no caso estou usando EJB 2.0 e as interfaces tem acesso local ao bean.
bem, no caso nao usamos um bean que retorne so o que preciso pq estamos fazendo uma aplica��o gigantesca, com mais de 224 entities e depreenderia muito tempo de desenvolvimento (que nao temos) para fazer isso
Robson Luis Ferreira wrote:
Mesmo sendo a mesma m�quina, os m�todos s�o
invocados remotamente. Isso gera uma perda de
performance. J� estudou RMI ? O princ�pio � o mesmo.
Ali�s muitos containers utilizam essa API. Vc pode
executar seu client na mesma m�quina onde est� seu
server, mas todas as requisi��es passam por essa
camada. Ok ! Quanto a justificativa, uma que posso
citar no momento � que o c�digo abaixo est� um tanto
dif�cil de se ler, comparando-se a alternativa de se
ter um bean que fa�a essa chamada e retorne somente o
que vc necessita para sua itera��o. Concorda ?
[]'s
Robson Luis Ferreira
--- marcel <[EMAIL PROTECTED]> escreveu: <HR>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
mas o Design pattern de value object foi desenvolvido
para solucionar problemas
de "remote invocations" como mostra o "Core Design
Patterns. best practices
and Design Strategies"<br>
e como eu disse, eu estou usando somente uma
maquina<br>
<br>
Robson Luis Ferreira wrote:<br>
<blockquote type="cite"
cite="[EMAIL PROTECTED]">
<pre wrap=""> Analisando melhor, um ponto de
perda de
performance seria o fato de vc não utilizar a
pattern
Value Object (ou Data Transfer Object, é
só questão de
nome). Procure mais informações a
respeito.
--- Robson Luis Ferreira <a
class="moz-txt-link-rfc2396E"
href="mailto:[EMAIL PROTECTED]"><[EMAIL PROTECTED]></a>
escreveu: > </pre>
<blockquote type="cite">
<pre wrap=""> Creio que perda de performance
não, se pensar em
outras soluções com os mesmos hardwares.
Mas, perda
de
modularidade, reutilização de
código, tempo e
dinheiro, existe !!
[]'s
Robson Luis Ferreira
--- marcel <a class="moz-txt-link-rfc2396E"
href="mailto:[EMAIL PROTECTED]"><[EMAIL PROTECTED]></a>
escreveu: > Uso
um
JSP chamando diretamente um Entity da mesma
</pre>
<blockquote type="cite">
<pre wrap="">maquina da seguinte forma.
Isso tem problemas de performance ?
tenho o seguinto trecho de codigo JSP :
...
<tr>
<td width="33%" height="30"
</pre>
</blockquote>
<pre wrap="">bgcolor="#96A8C7">
</pre>
<blockquote type="cite">
<pre wrap="">&nbsp;
<select name="selgrupo" id="selgrupo"
</pre>
</blockquote>
</blockquote>
<pre wrap=""><!---->onChange=<a
class="moz-txt-link-rfc2396E"
href="javascript:document.frmProdutos.submit();">"javascript:document.frmProdutos.submit();"</a>>
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap=""> <option
value="0">Selecione</option>
<%
GruposprodutosHome claGruposprodutosHome =
(GruposprodutosHome)
</pre>
</blockquote>
</blockquote>
<pre
wrap=""><!---->ServiceLocator.getInstance().getLocalHome("Gruposprodutos");
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap=""> Collection colGruposprodutos =
claGruposprodutosHome.findAll();
java.util.Iterator itGruposprodutos =
colGruposprodutos.iterator();
while (itGruposprodutos.hasNext()) {
Gruposprodutos claGruposprodutos =
(Gruposprodutos) itGruposprodutos.next();
if (intGrupo ==
claGruposprodutos.getIdGrupoproduto().intValue())
</pre>
</blockquote>
<pre wrap="">{
</pre>
<blockquote type="cite">
<pre wrap=""> out.println("<option
</pre>
</blockquote>
</blockquote>
<pre
wrap=""><!---->value='"+claGruposprodutos.getIdGrupoproduto().intValue()+"'
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap="">
</pre>
</blockquote>
</blockquote>
<pre
wrap=""><!---->selected>"+claGruposprodutos.getVchnome()+"</option>");
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap=""> } else {
out.println("<option
</pre>
</blockquote>
</blockquote>
<pre
wrap=""><!---->value='"+claGruposprodutos.getIdGrupoproduto().intValue()+"'>"+claGruposprodutos.getVchnome()+"</option>");
</pre>
<blockquote type="cite">
<blockquote type="cite">
<pre wrap=""> }
}
%>
</select>
</td>
...
que usa o EJB:
(HOME INTERFACE)
package br.com.nmbrazil.ghost.ejb.almoxarifado;
import javax.ejb.*;
import java.util.*;
public interface GruposprodutosHome extends
javax.ejb.EJBLocalHome {
public Gruposprodutos create(Integer
idGrupoproduto) throws CreateException;
public Collection findAll() throws
FinderException;
public Gruposprodutos findByPrimaryKey(Integer
idGrupoproduto) throws FinderException;
}
(LOCAL INTERFACE)
package br.com.nmbrazil.ghost.ejb.almoxarifado;
import javax.ejb.*;
import java.util.*;
public interface Gruposprodutos extends
javax.ejb.EJBLocalObject {
public Integer getIdGrupoproduto();
public void setVchnome(String vchnome);
public String getVchnome();
public void setIdCtaconticmdebito(Integer
idCtaconticmdebito);
public Integer getIdCtaconticmdebito();
public void setIdCtaconticmcredito(Integer
idCtaconticmcredito);
public Integer getIdCtaconticmcredito();
public void
</pre>
</blockquote>
<pre wrap="">setIdCtacontmercadoriadebito(Integer </pre>
<blockquote type="cite">
<pre wrap="">idCtacontmercadoriadebito);
public Integer getIdCtacontmercadoriadebito();
public void
</pre>
</blockquote>
<pre wrap="">setIdCtacontfornecedordebito(Integer </pre>
<blockquote type="cite">
<pre wrap="">idCtacontfornecedordebito);
public Integer getIdCtacontfornecedordebito();
public void setIdCtacontfretedebito(Integer
idCtacontfretedebito);
public Integer getIdCtacontfretedebito();
public void
</pre>
</blockquote>
<pre wrap="">setIdCtacontmercadoriacredito(Integer
</pre>
<blockquote type="cite">
<pre wrap="">idCtacontmercadoriacredito);
public Integer getIdCtacontmercadoriacredito();
public void
</pre>
</blockquote>
<pre wrap="">setIdCtacontfornecedorcredito(Integer
</pre>
<blockquote type="cite">
<pre wrap="">idCtacontfornecedorcredito);
public Integer getIdCtacontfornecedorcredito();
public void setIdCtacontfretecredito(Integer
idCtacontfretecredito);
public Integer getIdCtacontfretecredito();
}
(BEAN)
package br.com.nmbrazil.ghost.ejb.almoxarifado;
import javax.ejb.*;
abstract public class GruposprodutosBean
</pre>
</blockquote>
<pre wrap="">implements
</pre>
<blockquote type="cite">
<pre wrap="">EntityBean {
EntityContext entityContext;
public java.lang.Integer
ejbCreate(java.lang.Integer idGrupoproduto) throws CreateException {
setIdGrupoproduto(idGrupoproduto);
return null;
}
public void ejbPostCreate(java.lang.Integer
idGrupoproduto) throws CreateException {
/**@todo Complete this method*/
}
public void ejbRemove() throws RemoveException {
/**@todo Complete this method*/
}
public abstract void
setIdGrupoproduto(java.lang.Integer
</pre>
</blockquote>
<pre wrap="">idGrupoproduto);
</pre>
<blockquote type="cite">
<pre wrap=""> public abstract void
setVchnome(java.lang.String
vchnome);
public abstract void
setIdCtaconticmdebito(java.lang.Integer idCtaconticmdebito);
public abstract void
setIdCtaconticmcredito(java.lang.Integer idCtaconticmcredito);
public abstract void
setIdCtacontmercadoriadebito(java.lang.Integer idCtacontmercadoriadebito);
public abstract void
setIdCtacontfornecedordebito(java.lang.Integer idCtacontfornecedordebito);
public abstract void
setIdCtacontfretedebito(java.lang.Integer idCtacontfretedebito);
public abstract void
setIdCtacontmercadoriacredito(java.lang.Integer idCtacontmercadoriacredito);
public abstract void
setIdCtacontfornecedorcredito(java.lang.Integer idCtacontfornecedorcredito);
public abstract void
setIdCtacontfretecredito(java.lang.Integer idCtacontfretecredito);
public abstract java.lang.Integer
getIdGrupoproduto();
public abstract java.lang.String getVchnome();
public abstract java.lang.Integer
getIdCtaconticmdebito();
public abstract java.lang.Integer
getIdCtaconticmcredito();
public abstract java.lang.Integer
getIdCtacontmercadoriadebito();
public abstract java.lang.Integer
getIdCtacontfornecedordebito();
public abstract java.lang.Integer
getIdCtacontfretedebito();
public abstract java.lang.Integer
getIdCtacontmercadoriacredito();
public abstract java.lang.Integer
getIdCtacontfornecedorcredito();
public abstract java.lang.Integer
getIdCtacontfretecredito();
public void ejbLoad() {
</pre>
</blockquote>
</blockquote>
<pre wrap=""><!---->=== message truncated ===
_______________________________________________________________________
Yahoo! Acesso Grátis
Internet rápida, grátis e fácil.
Faça o download do discador agora mesmo.
<a class="moz-txt-link-freetext"
href="http://br.acesso.yahoo.com/">http://br.acesso.yahoo.com/</a>
---------------------------------------------------------------------
Para cancelar a subscrição, envie
mensagem para: <a class="moz-txt-link-abbreviated"
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
Para comandos adicionais, envie mensagem para: <a
class="moz-txt-link-abbreviated"
href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
</pre>
</blockquote>
<br>
</body>
</html>
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]
_______________________________________________________________________
Yahoo! Acesso Gr�tis
Internet r�pida, gr�tis e f�cil. Fa�a o download do discador agora mesmo.
http://br.acesso.yahoo.com/
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
--------------------------------------------------------------------- Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED] Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
