O que usar no lugar de EJB para objetos distribuídos?

9 respostas
J

Queira saber qual outra tecnologia eu poderia usar no lugar de ejb para objetos distribuídos?

Tenho dois servidores que estão distantes fisicamente, e preciso de alguns componentes rodando num servidor, e será acessado por outro.

Mas já ouvi por aí que ejb não é bom… estou pesquisando e ainda não tenho conclusão a respeito…

Independente disso, o que eu poderia usar tipo como as interfaces Remote etc… para comunicar componentes distribuídos ?

Podem apenas sugerir pois aí eu iria fazer uma pesquisa de comparação, mas se tiverem exprieência e quiserem colocar a opinião pessoal, seria bem vindo.

9 Respostas

J

Spring.

Se precisar distribuir, pode usar Rest.

Nao recomendo o uso de transacoes distribuidas. Se possivel, evite.

J

julioviegas:
Spring.

Se precisar distribuir, pode usar Rest.

Nao recomendo o uso de transacoes distribuidas. Se possivel, evite.

Hum que mal lhe pergunte, o Spring tem tantos módulos lá, spring aop, secutiry, spring mvc, dao…

Qual parte do spring oferece essa possibilidade?

B

Spring não dá suporte a transações distribuídas, a não ser que se utilize um container SOA por trás (Weblogic).

J

Vc pode plugar atomikos inclusive em um jetty ou tomcat. Funciona muito bem.

Vc nao precisa de weblogic para ter transacoes distribuidas, apenas um provider JTS.

Eh necessario tb ver se seu banco de dados suporta transacoes distribuidas, e se ele estah configurado para tal.

J

JavaTux:
Hum que mal lhe pergunte, o Spring tem tantos módulos lá, spring aop, secutiry, spring mvc, dao…

Qual parte do spring oferece essa possibilidade?

Spring remoting.

Luca

Olá

Em princípio siga a primeira lei do Martin Fowler sobre arquitetura com objetos distribuídos:
[list]Don’t distribute your objects (PoEAA pág. 89)[/list]

Pense 353 vezes antes de violar esta lei. Prefira a troca pura e simples de mensagens.

Se for impossível não violar (coisa difícil de acreditar e mais difícil ainda de justificar), não distribua objetos para fazer RPC, isto é, chamada remota a métodos.

[]s
Luca

J

Luca:
Em princípio siga a primeira lei do Martin Fowler sobre arquitetura com objetos distribuídos:
[list]Don’t distribute your objects (PoEAA pág. 89)[/list]

Exatamente por isso que eu disse “se preciso”… :slight_smile:

Trabalho em uma empresa com um sistema de alta demanda e o unico tipo de distribuicao de processamento que fazemos eh load-balance. Eh o suficiente. Spring stateless com singletons eh uma arquitetura que escala muito bem em cada um dos servidores. Usamos tb 512mb de heap em cada JVM, o que diminui problemas de GC.

B

Vc pode plugar atomikos inclusive em um jetty ou tomcat. Funciona muito bem.

Vc nao precisa de weblogic para ter transacoes distribuidas, apenas um provider JTS.

Eh necessario tb ver se seu banco de dados suporta transacoes distribuidas, e se ele estah configurado para tal.Sim, entretanto isso tudo é alternativo. A arquitetura RPC sozinha não oferece o suporte. O Spring apenas possui adaptadores especiais para WebLogic, WebSphere e OC4J.

J

http://www.atomikos.com/Documentation/SpringIntegration

Cara, eh triste ainda ouvir esse tipo de pensamento relativo a software open source… Ele funciona tao bem ou melhor que WebSphere por exemplo, o qual tem uma pessima reputacao onde quer que seja citado. OC4J possui problemas de classloading, fora o fato de estar sendo descontinuado. Jah trabalhei com WAS e OC4J, nunca mais desejo trabalhar com eles. Eu nao vejo razao de gastar um centavo com solucoes proprietarias EE enquanto existem varias solucoes free open source de excelente qualidade e efetivamente simples.

Fora isso, como eu disse antes, transacoes distribuidas deve ser evitado. Trabalho em um ambiente de computacao em grid onde uma feature pode executar ateh 200 threads com possibilidade de distribuicao em varios nos de processamento, e nao usamos XA devido ao custo desnecessario de processamento embutido. Eh possivel desenhar seu software de modo a evitar XA.

Criado 22 de julho de 2009
Ultima resposta 23 de jul. de 2009
Respostas 9
Participantes 4