Fala Zanata, De uma olhada nesse link e tente entrar em contato com o pessoal de la. http://www.moredata.pt/noticias/ejb-no-iapmei.html
Abra�o. ----- Original Message ----- From: "j2ee" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Thursday, July 18, 2002 6:38 PM Subject: [java-list] [enterprise-list] EJB 2.0 CMP -> Performance Lenta / Deploy / Application Servers > Pessoal, > > Pe�o a aten��o de todos nesse momento e se poss�vel gostaria da indica��o > de alguma solu��o ou at� mesmo da indica��o de algum consultor que possa > sanar as seguintes d�vidas. > > Estou desenvolvendo uma aplica��o simples que ser� utilizada para testes > baseada na tecnologia J2EE e estou tendo alguns problemas de performance. > > A aplica��o possui apenas 04 EJBs, onde 01 deles � "Session Beans Stateful" > e 03 deles s�o "Entity Beans" utilizando o conceito de persist�ncia do EJB > 2.0 (CMP). Para n�o ficar muito confuso vamos dar nome aos "bois": > > - ClienteEJB (Entity) > - TipoClienteEJB (Entity) > - ClassificacaoEJB (Entity) > - FacadeEJB (Session - Stateful) > > O relacionamento entre as entidades � feita atrav�s de CMR com a seguinte > configura��o de multiplicidade: > > TipoClienteEJB -> ClassificacaoEJB (n:1) > ClienteEJB -> TipoClienteEJB (n:1) > > > O Fa�ade faz acesso a entidade ClienteEJB utilizando o m�todo > findTodosClientes() que retorna uma Collection contendo os "remotes" desssa > entidade para o Fa�ade. > > O Fa�ade por sua vez percorre essa Collection acessando elemento-a-elemento > (EJBLocalObject -> ClienteEJB) e faz acesso aos "getters" dessa entidade, > encapsulando os seus dados em inst�ncias de "Value Objects" que ser�o > enviadas para o Client atrav�s de um ArrayList. > > O servidor de aplica��o que estamos utilizando � o pr�prio "EJB Server" que > vem junto com o sdk1.3.1 do J2EE e o gerenciador de banco de dados utizado > � o Cloudscape. Fiz isso porque a documenta��o da Javasoft/Sun diz que se a > aplica��o for executada nesses servidores indica que a mesma est� dentro > das especifica��es e, sendo assim, poder� ser executada em qualquer > servidor de aplica��o (container EJB) que atender �s especifica��es da Sun. > > At� a� tudo bem. Segui todas as recomenda��es dos livros "J2EE Tutorial", > do "Mastering EJB II" e as recomenda��es da Sun, utilizando o mesmo padr�o > de codifica��o exposto pelo Blueprint "PetStore 1.3.1". > > A m�quina utilizada para testes n�o � muito "parruda", � um Pentium III com > apenas 256Mb de RAM, mas mesmo assim acho que a performance n�o deveria ser > t�o lenta. > > A aplica��o funciona perfeitamente e sem problemas, a n�o ser o problema da > performance. > > Com apenas algumas entidades (05 entidades para cada EJB) a coisa flui > normalmente, mas quando resolvi inserir 200 entidades para o EJB ClienteEJB > a coisa ficou "insuportavelmente" mais lenta. A lentid�o acontece quando o > Client acessa o Fa�ade e o mesmo pede para consultar todos os clientes. > > Acredit�vamos que os Entities ficariam "levantados" na mem�ria ap�s o seu > primeiro acesso, mas o que verificamos � que mesmo isso acontecendo o > acesso a essas entidades � muito lenta. > > Por exemplo: > > > Na primeira vez que fa�o a busca atrav�s do m�todo findTodosClientes(), > para cada entidade verificamos que o container faz o seguinte: > > - acessa o m�todo setEntityContext() > - acessa o m�todo ejbActivate() > - acessa os m�todos ejbLoad() e ejbStore() sequencialmente (uma vez > para cada "getter" que eu tenha em meu EJB) > > Ou seja, se o meu EJB possui 08 "fields", o container EJB far� o acesso de > 18 m�todos apenas para ler a entidade e deix�-la ativa em mem�ria. > > Nas pr�ximas vezes que tento acessar o mesmo m�todo, heis o que ele faz: > > - acessa os m�todos ejbLoad() e ejbStore() (uma vez para > cada "getter" que eu tenha em meu EJB) > > Ou seja, � muita coisa!!! > > O processo torna-se extremamente lento e dispendioso. Consome muito > processamento e mem�ria (Isso tudo no "olh�metro", n�o utilizei nenhuma > ferramenta para medi��o, apenas o Task Manager do Win2K). > > O trabalho que venho fazendo visa entender a tecnologia e saber se a mesma > � ou n�o interessante para futuros projetos de desenvolvimento da empresa > em que trabalho. Meus gerentes j� est�o ficando preocupados com os > resultados apresentados e estamos come�ando a ter uma outra vis�o sobre a > tecnologia. > > Portanto deixo as seguintes perguntas e acho que seria interessante a todos > da lista que conhecessem o cen�rio. > > > - Quando os campos CMP s�o carregados? Qual � o comportamento convencional? > > - Algu�m da lista desenvolveu ou conhece algum caso de sucesso de aplica��o > que utiliza EJB 2.0 (CMP) com alguns EJB que contenham algo em torno de > 10.000 ou mais entidades? Se sim, temos como v�-la funcionando? � > perform�tico? Funciona bem? Em que ambiente est� funcionando > (m�quina/software/rede)? > > - Algu�m j� fez a migra��o de alguma aplica��o feita em J2EE (utilizando > CMP) para outros servidores comerciais? > > * Tentei fazer para o JBoss 3.0, mas o mesmo exige a cria��o de arquivos > espec�ficos de deploy (jboss.xml) e isso demandaria tempo para o > aprendizado. Algu�m conhece alguma ferramenta que ajude a fazer isso? > Algu�m trabalha especificamente com esse servidor? > > * Tentei fazer o deploy no Borland Enterprise Server e achei (IMHO) > um "lixo". O suporte fugiu todas as vezes que precisei. Desisti dessa > ferramenta, ao menos que algu�m possa me dizer que a conhece e sabe quais > os detalhes de como ela funciona. > > * Temos como alvo o server da WebLogic (BEA), mas ainda n�o fiz a > tentativa por falta de tempo e por decis�o da ger�ncia. Mas temos em mente > a contrata��o da consultoria de algum profissional que possa nos apresentar > uma proposta de trabalho para: > # Instala��o do Servidor > # Treinamento r�pido > # Documenta��o b�sica de configura��o > # Apresenta��o de algum caso de sucesso contemplando o quadro > apresentado no 1o. item dessas quest�es. > > * Gostar�amos de utilizar o WebSphere (IBM), mas a vers�o atual ainda n�o > contempla o CMP do EJB2.0. > > - O problema de performance que estou tendo acontece apenas no "EJB > Server" do sdk1.3.1 do J2EE? Com outros servidores comerciais esse problema > estaria resolvido? > > > Tenho muito mais d�vidas, mas acho que se deix�-las todas aqui estarei > cansando o leitor da lista com um amontoado de palavras que n�o levar�o a > nada. > > Mas ajudaria muito se: > > - pud�ssemos discutir o assunto em grupo e deixar claro se a performance > das aplica��es geradas em J2EE s�o mesmo lentas; > - algum consultor pudesse entrar em contato atrav�s do meu e-mail > particular ([EMAIL PROTECTED]) e enviasse alguma proposta de > consultoria sobre o assunto; > > > Muito obrigado > > Zanata > > > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP > d�vidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list%40soujava.org.br > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- _______________________________________________________________________ Yahoo! Encontros O lugar certo para encontrar a sua alma g�mea. http://br.encontros.yahoo.com// ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
