| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2009 20:29:24
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Vale a pena usar um application server sem usar EJB?
Por exemplo usar o app server só para controle de transações e criação de pool de conexões com o banco de dados? Ou seja, gostaria de saber os casos que seriam interessantes usar um application server ao invés de um servlet container.
|
www.bau-de-dev.com |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2009 21:10:09
|
julioviegas
Debugger
Membro desde: 14/08/2008 07:50:52
Mensagens: 70
Offline
|
Jedi_FeniX wrote:Vale a pena usar um application server sem usar EJB?
Por exemplo usar o app server só para controle de transações e criação de pool de conexões com o banco de dados? Ou seja, gostaria de saber os casos que seriam interessantes usar um application server ao invés de um servlet container.
Sim. Procure por Spring Framework, ele eh sua resposta... Com ele vc possui controle de transacoes e suporte a pool de conexoes de banco de dados independente de container.
|
Att,
JV -- julioviegas.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/07/2009 23:15:06
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Então seria interessante ter jboss + spring + hibernate, mesmo se não for usar ejb?
This message was edited 1 time. Last update was at 30/07/2009 13:21:48
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2009 13:23:17
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Qual o ganho que eu tenho escolhendo um application server em vez de um servlet container? Por exemplo passar a desenvolver no jboss ao invés de um tomcat?
Pergunto isso porque estou começando agora nos applications servers e queria entender melhor eles e o porque de usar eles.
Fiz algumas pesquisas no google, mas o conceito ainda não está muito claro.
This message was edited 1 time. Last update was at 30/07/2009 13:24:11
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2009 14:00:36
|
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á
Não sei porque você criou o mesmo tópico de novo. Acabou recebendo a mesma resposta que eu dei com a sugestão de usar Spring e/ou Hibernate
Mas se a sua dúvida é sobre o que um servidor do tipo JBoss faz a mais do que o Tomcat (ou o Jetty) então vou dizer algumas coisas para explicar (ou não):
- O JBoss usa um servlet conteiner que pode ser o tomcat ---> para servir servlets (e JSPs)
- O tomcat (ou o Jetty) não serve para aplicações que usam EJBs porque como disse antes, são apenas servlet conteiners.
Se você não vai usar EJBs, pode se contentar com o tomcat (ou o Jetty). Para transações tanto o tomcat como o Jetty não ajudam em nada. Quem pode ajudar nisto é o Hibernate e/ou o Spring.
Para complicar sua cabeça vou dizer que se pode usar o JBoss (ou o Glassfish ou outro similar) mesmo quando não se usa EJBs. Porque alguém faria isto? Porque o JBoss ou o Glassfish incluem facilidades de administração e clusterização que podem ser muito úteis.
Um conselho: esqueça o que o servidor de aplicação poderá fazer por você quanto ao controle de transações porque na verdade mesmo o JBoss não faz nada sozinho. Estude Hibernate e JPA antes de pensar em controlar transações seja lá como for. Depois veja como o Spring pode ajudar nisto. E vale a pena estudar EJBs 3.0 (nem passe perto dos antigos EJBs 2.x que foram a maior bobagem que já conheci em 40 anos que vivo na informática)
[]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) 30/07/2009 14:32:22
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Postei o tópico aqui porque achei que aqui fosse o local certo, só esqueci de postar no antigo que mudei para cá... hehehe.... , peço desculpas por isso....
JPA eu sei tanto que já uso, só que eu crio as minhas DAOs com o EntityManager dentro delas e desta maneira estou "confundido as coisas", ou seja, o DAO que está responsável por pegar um entitymanager, abrir a transação, dá um commit, fazer a persistencia ou a busca e fechar a transação.
Isso funciona muito bem, usando o tomcat e wicket mas queria aumentar mais o desacoplamento das minhas classes por isso comecei a pesquisar sobre application server, que me falaram que ele faria isso (controle de transações).
E no outro tópico eu coloquei que já usava JPA....
This message was edited 2 times. Last update was at 30/07/2009 14:37:15
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2009 14:53:39
|
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á
Jedi_FeniX wrote:...e application server, que me falaram que ele faria isso (controle de transações)....
Então... não faz mas contém as classes que os EJBs usa para fazer. E é você quem escreve os EJBs.
Mesma coisa com o Spring.
[]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) 30/07/2009 14:54:52
|
thiagoks
Thread.start()
Membro desde: 14/02/2008 20:41:25
Mensagens: 38
Offline
|
Existem vários Transaction Managers que você pode colocar no Tomcat/Jetty. No momento lembro dois JOTM e do Bitronix, mas lembro que existem outros. Só dar uma procurada que você acha.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2009 15:41:06
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Muito obrigado pelas respostas elas estão ajudando muito.
Pelo que vi vale mais apenas usar EJB se for usar em um sistema distribuído, um dos motivos das minhas dúvidas.
Comecei a ler sobre EJB a um tempo atrás mas vi que se tem muito mais trabalho e muito mais codificação, mas vi que um app server te dá algumas facilidades, como o luca falou em um post anterior, mas só que a minha aplicação não chegaria a usar mais de um pc para reallizar as suas tarefas.
E por isso criei o tópico.... para tentar esclarecer estas dúvidas.
Agora gostaria de esclarecer algumas coisas o Spring também é um container?
thiagoks valeu pela dica, mas por enquanto vou focar no Spring....
This message was edited 1 time. Last update was at 30/07/2009 15:42:14
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2009 18:42:34
|
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á
EJBs 3.0 não são tão complicados como os anteriores (que se você aprendeu alguma coisa é bom esquecer) e podem ser usados em uma aplicação não distribuída. Aliás, pouquíssimas aplicações necessitam ser distribuídas. É muito raro precisar distribuir uma aplicação mas por aí você encontra um monte de aplicações que foram desenvolvidas de modo distribuído sem nenhuma necessidade.
O Spring é uma espécie de framework. É pouco mais do que uma API. E você nem precisa usar tudo que ele oferece. Pode ir aprendendo aos poucos.
[]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) 30/07/2009 19:28:29
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
Então seu eu quiser fazer uma aplicação de "médio porte" seria interessante usar EJB? Qual conselho você daria de quando usar EJB?
E em relação ao Spring eu vi que ele faz injecção de dependência, se na minha classe DAO eu tenho um atributo do tipo EntityManager o Spring "coloca"uma instância do Entity Manager detro do DAO, mas de qualquer maneira o DAO ainda "fica dependente", qual o ganho que eu tenho?
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2009 19:36:11
|
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á
A vantagem de aprender EJBs 3.0 é que não é só de persistência que ele trata. Mas se é só persistência seu problema então JPA (e/ou hibernate) dão conta. E ambos servem para aplicações de pequeno, médio e grande porte.
O Spring dá várias vantagens. Leia a documentação que é melhor do que minha eventual resposta. Se fosse só pela injeção de dependência há outras APIs mais simples. Mas você já falou em transações.
[]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) 30/07/2009 19:48:54
|
Jedi_FeniX
Virtual Machine Man
![[Avatar]](/images/avatar/06ab8d9df63b836129099247301c038b.jpg)
Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline
|
É pelo visto tenho que mudar o meu conceito em relação ao EJB..... hauhauahua......
Valeu cara pela ajuda!
Vou estudar mais sobre o assunto e por enquanto vou ficar com o Spring para fazer este controle.
|
www.bau-de-dev.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2009 07:31:38
|
thiagoks
Thread.start()
Membro desde: 14/02/2008 20:41:25
Mensagens: 38
Offline
|
Oi Jedi_FeniX, você pode utilizar um transaction manager junto com o Spring sem problemas. Só vai precisar mudar algumas configurações no seu xml. Depois dê uma olhada no capítulo sobre transações na documentação do Spring.
Se você for utilizar mais de um banco de dados ou outros elementos (mensageria) aí você vai ser obrigado a colocar isso no container, senão é mais simples ficar com as transações do hibernate / jdbc mesmo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/08/2009 10:52:43
|
jeancz
Thread.start()
![[Avatar]](/images/avatar/23a6de9d1b696e1e7ddd06bb056745a2.jpg)
Membro desde: 15/07/2005 10:40:46
Mensagens: 47
Localização: Brasil
Offline
|
O uso de EJB não é restrito somente a sistemas distribuídos.
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.
Não sei se ajudei a entender ou compliquei mais... hehehe
This message was edited 1 time. Last update was at 01/08/2009 10:53:10
|
Jean C. Zimermann
Analista e Desenvolvedor de Software
Dicas/Programação/Artigos/Piadas - http://www.diariodecomputador.blogspot.com |
|
|
 |
|
|