| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2009 13:32:25
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
jeancz wrote:O uso de EJB torna o sistema mais escalável, pois o servidor de aplicação que controla o processamento dos EJBs.
Abrindo um parênteses, um sistema escalável permite que manipular uma porção crescente de trabalho de forma uniforme. O uso de EJB em um servidor de aplicação, torna esse desenvolvimento transparente.
O uso de certas palavras na área de TI representam verdadeiras armadilhas. Escalabilidade e escalável são algumas delas mais comuns.
Agora você precisa explicar porque o uso de EJB torna o sistema mais escalável. E ainda terá a dura missão de dizer como imagina que seria manipular uma porção crescente de trabalho de forma uniforme e ainda com desenvolvimento transparente.
Nem imagino como possa sair da enrascada em que se colocou. Aconselho a não mais misturar termos perifosos.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2009 16:14:31
|
jeancz
Thread.start()
![[Avatar]](/images/avatar/23a6de9d1b696e1e7ddd06bb056745a2.jpg)
Membro desde: 15/07/2005 10:40:46
Mensagens: 47
Localização: Brasil
Offline
|
Luca wrote:Olá
jeancz wrote:O uso de EJB torna o sistema mais escalável, pois o servidor de aplicação que controla o processamento dos EJBs.
Abrindo um parênteses, um sistema escalável permite que manipular uma porção crescente de trabalho de forma uniforme. O uso de EJB em um servidor de aplicação, torna esse desenvolvimento transparente.
O uso de certas palavras na área de TI representam verdadeiras armadilhas. Escalabilidade e escalável são algumas delas mais comuns.
Agora você precisa explicar porque o uso de EJB torna o sistema mais escalável. E ainda terá a dura missão de dizer como imagina que seria manipular uma porção crescente de trabalho de forma uniforme e ainda com desenvolvimento transparente.
Nem imagino como possa sair da enrascada em que se colocou. Aconselho a não mais misturar termos perifosos.
[]s
Luca
É sempre bom poder discutir um pouco sobre algum termos com colegas da área.
Sempre nos deparamos com uma sopa de letrinhas, termos, siglas e as vezes é difícil entende-las. Uma maneira bem simples para definir escalabilidade é a capacidade que uma aplicação tem de se adaptar a diferentes cenários de uso. Uma exemplo bem fácil de entender, uma aplicação escalável poderia atender de 10 a 10.000 usuários simultâneos.
A pergunta que nos fazemos é, como o uso EJB contribui para deixar uma aplicação mais escalável??
Umas das maneiras de aumentar a capacidade de processamento e memória do nosso servidor de aplicação é adicionar mais máquinas criando um cluster. Como o servidor de aplicação gerencia a execução dos EJBs, ele passa a executar estes EJBs em qualquer uma dessas máquinas do cluster.
|
Jean C. Zimermann
Analista e Desenvolvedor de Software
Dicas/Programação/Artigos/Piadas - http://www.diariodecomputador.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2009 17:41:48
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
jeancz wrote: Uma exemplo bem fácil de entender, uma aplicação escalável poderia atender de 10 a 10.000 usuários simultâneos.
A pergunta que nos fazemos é, como o uso EJB contribui para deixar uma aplicação mais escalável??
Umas das maneiras de aumentar a capacidade de processamento e memória do nosso servidor de aplicação é adicionar mais máquinas criando um cluster. Como o servidor de aplicação gerencia a execução dos EJBs, ele passa a executar estes EJBs em qualquer uma dessas máquinas do cluster.
Conhece algum caso em isto tenha acontecido e onde a opção pelo uso de EJBs tenha contribuído de forma decisiva para se obter tão maravilhoso ambiente? Tem certeza de que o que contribuiu para a escalabilidade não foram outros fatores sem nada a ver com EJBs e principalmente sem nada a ver com o servidor de aplicação? Por exemplo: dizem que o uso de um bom cache faz muito mais efeito.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2009 18:02:23
|
jeancz
Thread.start()
![[Avatar]](/images/avatar/23a6de9d1b696e1e7ddd06bb056745a2.jpg)
Membro desde: 15/07/2005 10:40:46
Mensagens: 47
Localização: Brasil
Offline
|
Vários exemplos, mas como estou detectando certa hostilidade paro por aqui.
|
Jean C. Zimermann
Analista e Desenvolvedor de Software
Dicas/Programação/Artigos/Piadas - http://www.diariodecomputador.blogspot.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2009 18:43:47
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
jeancz wrote:Vários exemplos, mas como estou detectando certa hostilidade paro por aqui.
Nenhuma hostilidade e se você entendeu assim, peço desculpas. Só tento mostrar que a opção de uso de EJBs não tem nada a ver com escalabilidade. Aliás, muitas vezes tem a ver com dificuldades na escalabilidade.
Os EJBs a partir do 3.0 são ótimos, tem muita serventia, abreviam certos caminhos mas seu uso não representa nenhuma garantia de escalabilidade. Há que ter cuidado ao associar a palavra escalabilidade a alguma ação isolada porque para um site escalar é preciso um conjunto de ações. É claro que não é todo mundo que precisa da escalabilidade do Youtube ou do ebay. Aliás bem poucos sites precisam de escalabilidade. Mas para os que precisam, os exemplos do Youtube, ebay e outros são esclarecedores. Sugiro a leitura de alguns dos links abaixo:
http://highscalability.com/youtube-architecture
http://kylecordes.com/2007/07/12/youtube-scalability/
http://video.google.com/videoplay?docid=-6304964351441328559
http://gc.blog.br/2007/11/09/qcon-2007-randy-shoup-the-ebay-architecture/ (em português um resumo da palestra abaixo)
http://www.infoq.com/presentations/shoup-ebay-architectural-principles
http://www.infoq.com/articles/ebay-scalability-best-practices (ver por exemplo um erro muito comum no uso dos EJBs < 3.0: Best Practice #3: Avoid Distributed Transactions)
http://www.google.com/search?q=scalability+site:www.infoq.com
http://highscalability.com/
Mais dois:
http://www.infoq.com/articles/scalability-principles
http://www.infoq.com/articles/pritchett-latency
E ainda acrescento...
Sobre os EJBs anteriores ao 3.0 já escrevi aqui várias vezes que foram a maior idiotice que já vi em mais de 40 anos que vivo na área de desenvolvimento de sistemas. E o uso deles geralmente acarretava um enorme dispêndio de recursos. Sei de alguns projetos que infelizmente não posso descrevê-los aqui, que gastaram muitos milhões de reais em máquinas, sistemas, servidores e cujo resultado foi absolutamente fraco em relação ao que foi prometido. Na história do uso do Java nas grandes corporações os EJBs < 3.0 estão associados a todos os casos de fracassos. Mas se você perguntar à IBM, Oracle ou gente da antiga BEA, nenhum deles vai admitir que os servidores de aplicações que venderam como panacéia de todos os males fazem parte do fracasso.
Insisto, usar EJBs tem mais a ver com dificuldades do que com facilidades de escalabilidade. É melhor usar alguma coisa que impeça ou desestimule o programador de manter estados do que algo que é muito fácil escrever código difícil de escalar porque mantém estado.
[]s
Luca
This message was edited 2 times. Last update was at 01/08/2009 19:23:51
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2009 12:05:35
|
Tchello
GUJ Master
![[Avatar]](/images/avatar/901db33c84e81b1a30e59949bbcb112b.png)
Membro desde: 07/06/2008 14:41:04
Mensagens: 1693
Offline
|
Uau Luca, muito informativo esse post, favoritado!
Assim que chegar em casa começo a minha leitura nos tópicos citados.
Luca, aproveitando o assunto seria possível você dizer algo sobre Patterns com EJB3?
Fiz algumas pesquisas e o que encontrei foram testemunos de que mudam muitos conceitos quando se utiliza EJB3, confere?
Muito obrigado!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2009 12:43:55
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
Tchello wrote: ... seria possível você dizer algo sobre Patterns com EJB3?
Fiz algumas pesquisas e o que encontrei foram testemunos de que mudam muitos conceitos quando se utiliza EJB3, confere?
Sim, os conceitos mudaram e para melhor. Quanto aos padrões não acho que ninguém deva se preocupar com isto até ter problemas. Adotar um padrão porque leu por aí que alguém diz que são melhores acaba dificultando entendimento do caso de uso do padrão. É melhor sofrer um pouquinho tentando usar para depois refatorar.
Se quiser buscar padrões procure os mesmos de JPA no caso de usar EJBs para persistência e padrões de integração para os MDBs.
E os textos sobre EJB 3.0 já dão dicas de como usá-los.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
|
|