Applilcation Server sem EJB  XML
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Autor Mensagem
Luca
Moderador
[Avatar]

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/
[Email] [WWW]
jeancz
Thread.start()
[Avatar]

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
[WWW] [MSN]
Luca
Moderador
[Avatar]

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/
[Email] [WWW]
jeancz
Thread.start()
[Avatar]

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
[WWW] [MSN]
Luca
Moderador
[Avatar]

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/
[Email] [WWW]
Tchello
GUJ Master
[Avatar]

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!
Luca
Moderador
[Avatar]

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/
[Email] [WWW]
 
Índice dos Fóruns » Java Enterprise Edition (Java EE)
Ir para:   
Powered by JForum 2.1.8 © JForum Team