chamada e' remota mesmo utilizando a LocalHome ?
-----Mensagem original----- De: Robson Luis Ferreira [mailto:[EMAIL PROTECTED]] Enviada em: ter�a-feira, 3 de dezembro de 2002 17:52 Para: [EMAIL PROTECTED] Assunto: Re: [enterprise-list] questao de performance 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]
