EJB coisa de outro planeta

eu criaria uma camada de negócio, jogaria tudo que é de negócio nessa camada…

Sim e onde ficaria esta camada?? Apenas mais um JAR? Tanto na lib da app web, como na lib da app desktop? Humm não sei se era isto que eu estava querendo.
E neste caso eu teria que ir atualizando cada cliente, caso mude alguma regra de negocio que nao afete a visão!!!??

Afinal qual o proposito geral do EJB? Não é fazer aplicações distribuidas?
Eu esta imaginando nos clientes fazerem chamadas remotas as regras de negocios que estao no EJB.
Pois terei tanto cliente dentro de uma LAN, como tambem vendedores de rua, tanto web quanto desktop, e quem sabe ate com smartphones/palm’s.

[quote=fredferrao]Sim e onde ficaria esta camada?? Apenas mais um JAR? Tanto na lib da app web, como na lib da app desktop? Humm não sei se era isto que eu estava querendo.
E neste caso eu teria que ir atualizando cada cliente, caso mude alguma regra de negocio que nao afete a visão!!!??

Afinal qual o proposito geral do EJB? Não é fazer aplicações distribuidas?
Eu esta imaginando nos clientes fazerem chamadas remotas as regras de negocios que estao no EJB.
Pois terei tanto cliente dentro de uma LAN, como tambem vendedores de rua, tanto web quanto desktop, e quem sabe ate com smartphones/palm’s.

[/quote]

que tal usar http? Qualquer faz chamadas via http em 3 linhas de código.

[quote=fredferrao]Sim e onde ficaria esta camada?? Apenas mais um JAR? Tanto na lib da app web, como na lib da app desktop? Humm não sei se era isto que eu estava querendo.
E neste caso eu teria que ir atualizando cada cliente, caso mude alguma regra de negocio que nao afete a visão!!!??

Afinal qual o proposito geral do EJB? Não é fazer aplicações distribuidas?
Eu esta imaginando nos clientes fazerem chamadas remotas as regras de negocios que estao no EJB.
Pois terei tanto cliente dentro de uma LAN, como tambem vendedores de rua, tanto web quanto desktop, e quem sabe ate com smartphones/palm’s.

[/quote]
Voce pode disponibilizar a camada de negócios, por exemplo, com webservices (que tal restful?) que serão consumidos pelos clientes. Assim eles poderiam ser acessados facilmente pelos seus clientes (e por qualquer browser).

Posso listar aqui um mooonte de soluções melhores do que EJB pro seu caso.

Tome muito cuidado antes de tomar uma decisão dessas. Muita gente na década passada tomou a decisão de utilizar EJB e se arrependeu amargamente. Hoje em dia é menos traumático, devido ao EJB3 ser melhor que o EJB 2.1, mas ainda assim adiciona muita complexidade desnecessária, além do fato de ser necessário utilizar um servidor de aplicações.

Eu vejo muito trauma do pessoal com relação a EJB, não são os traumas do 2.1 não?

EJB 3, nao me parece esse monstro do lago ness não! Posso estar enganado mas essa foi a primeira visão que tive do mesmo!

[quote=fredferrao]Sim e onde ficaria esta camada?? Apenas mais um JAR? Tanto na lib da app web, como na lib da app desktop? Humm não sei se era isto que eu estava querendo.
E neste caso eu teria que ir atualizando cada cliente, caso mude alguma regra de negocio que nao afete a visão!!!??

Afinal qual o proposito geral do EJB? Não é fazer aplicações distribuidas?
Eu esta imaginando nos clientes fazerem chamadas remotas as regras de negocios que estao no EJB.
Pois terei tanto cliente dentro de uma LAN, como tambem vendedores de rua, tanto web quanto desktop, e quem sabe ate com smartphones/palm’s. [/quote]

Vc pode disponibilizar os serviços utilizando o spring debaixo de web server de sua preferencia, assim vc terá tanto acesso via TPC como HTTP sem problemas.

[quote=fredferrao]Eu vejo muito trauma do pessoal com relação a EJB, não são os traumas do 2.1 não?

EJB 3, nao me parece esse monstro do lago ness não! Posso estar enganado mas essa foi a primeira visão que tive do mesmo![/quote]

Eu acho que vc está certo…o problema é que quando vc pensa sobre o que vc realmente precisa vc conclui que existe soluções bem mais leves, simples e potencialmente bem mais rápidsa (desenvolvimento e uso de recursos).

Outro ponto que também percebo é que muita gente aplica EJB 3 sem concluir se os recursos disponibilizados pela tecnologia serão realmente utilizados.

Se a idéia for apenas oferecer oportunidade diferenciada de acesso (TPC, HTTP), ORM e transações acredito que o projeto fique um pouco superdimencionado, porque EJBs é bem mais que isso.

flws

[quote=fredferrao]Eu vejo muito trauma do pessoal com relação a EJB, não são os traumas do 2.1 não?

EJB 3, nao me parece esse monstro do lago ness não! Posso estar enganado mas essa foi a primeira visão que tive do mesmo![/quote]

Algumas melhorias ocorreram mas o monstro continua la, debaixo de muitas camadas de água.

De uma olhada no VRapor 3, eles parecem tem um suporte legal pra web, http.

hahahah…boa essa heim!!!

flws

Eu vou começar a fazer um ERPzinho, posso chamar assim quem sabe vire um ERPzao, vou começar pela automação comercial com NF-e, SPED, PDV, e vou adicionando modulos, produção, crm e etc., o que da pra ter visao em Web blz, o que nao ficar viavel vai pra Swing, e ainda temos os mobiles.

Então vejam que podemos ter varios tipos de clientes, Web, Desktop J2SE, e os mobiles J2ME.

WebServices seriam uma opção, mas ws pros clientes da lan??? Nao sei!

Entao temos um core de negocios, e varios tipos de clientes acessando o mesmo. Na minha visao essa era justamente um caso para EJB, pelo que conheco.

Mas pra nao fugir muito do tópico vamos la, uma pergunta que sempre fazem, qual o proposito do EJB afinal de contas?? Para quais casos ele é indicado? E quais ferramentas/features ele oferece para tal?

Se a galera poder dar uma contribuida legal com essas questoes, por que com elas respondidas sim, poderiamos entao realmente dizer que estamos querendo matar formiga com AK-47, ou que EJB é muito complexo para tal.

fred, a ideia basica do EJB eh distribuir seus objetos.

por exemplo, imagine que sua aplicacao fornece tres beans diferentes (A, B e C). voce percebe que as requisicoes para o bean A sao muito mais numerosas que pros beans B e C e resolve, ao inves de fazer um cluster para otimizar sua aplicacao como um todo, distribuir seus objetos e colocar o bean A em um servidor separado dos beans B e C. acontece que esta solucao ao meu ver (e de fontes importantes na comunidade OO, como Martin Fowler) nao vale a pena. no caso, seria melhor colocar sua aplicacao em cluster.

para simplesmente deixar sua logica de negocios separada das outras camadas voce tem opcoes bem mais leves que EJB, como ja citamos. o EJB provem outras coisas como injecao de dependencia (bem primaria), transacoes, etc, mas para isto existem opcoes mais simples e completas, como o Spring (que nao precisa rodar num servidor de aplicacoes).

recomendo estudar melhor EJB antes de optar utilizar em qualquer aplicacao que seja.

ja trabalhei em projetos SAP/Netweaver que envolviam EJB2 e EJB3, é verdade que para essa plataforma tem mta coisa em EJB2, os caras da sap ja tao trampando no java frankstein deles para migrar para ejb3…mas basicamente mta, mas mta coisa msm que envolve logica de negocios para vc fazer uma app java/netweaver envolve EJB…

graças a deus que me livrei de sap…e no momento estou começando um projeto ejb3…e como falaram ai, é mto facil usar ejb3, não vejo motivo para deixar de usar ou de reclamar dele…a não ser claro por questões de performance em alguns casos…

mas no geral, acredito que ejb3 esta sendo bem usado por ai e os principais motivos sao a facilidade de aprendizado e sua robustez…

mas é claro…isso é só minha opinião… :wink:

abraços

E cada vez complica mais :lol:

Vem um e diz pra fugir igual diabo da cruz, ja outros dizem que “não tem porque nao usar, EJB3 é muito easy” :?: :?:

É vou ter que dar uma estuda mais a fundo no bixo.

Sobre o que alguns disseram de “vai ter que ter um app server”, acho que nao é problema, pois de qualquer forma vai ter que ter por causa da parte web.

Salvo engano o ERP compiere que é desktop usa EJB!

[quote=fredferrao]E cada vez complica mais :lol:

Vem um e diz pra fugir igual diabo da cruz, ja outros dizem que “não tem porque nao usar, EJB3 é muito easy” :?: :?:

É vou ter que dar uma estuda mais a fundo no bixo.

Sobre o que alguns disseram de “vai ter que ter um app server”, acho que nao é problema, pois de qualquer forma vai ter que ter por causa da parte web.

Salvo engano o ERP compiere que é desktop usa EJB![/quote]

sim o compiere e o adempiere usam ejb dentro do jboss…la empresa que eu trampava…eu implantei esse erp pra eles…demorava um pouquinho pra subir a app…mas depois funcionava de buenas…

como relação ao que falamos ai…a melhor maneira e vc fazer um teste…instala um glassfish na sua maquina, brinca com uns ejbs e depois vc ja vai ter uma opiniao sobre eles… :wink:

[quote=fredferrao]E cada vez complica mais :lol:

Vem um e diz pra fugir igual diabo da cruz, ja outros dizem que “não tem porque nao usar, EJB3 é muito easy” :?: :?:

É vou ter que dar uma estuda mais a fundo no bixo.

Sobre o que alguns disseram de “vai ter que ter um app server”, acho que nao é problema, pois de qualquer forma vai ter que ter por causa da parte web.

Salvo engano o ERP compiere que é desktop usa EJB![/quote]
Rs… eu recomendo que estude mesmo… na minha opinião, pelo que vc falou das necessidades eu com certeza não utilizaria.

Sobre o servidor, na verdade voce nao precisa de um app server pra parte web. Se nao utilizar EJB vc pode usar Tomcat, Jetty, etc. Se for utilizar vai precisar de um servidor que possua um container EJB (glassfish, weblogic, jboss, etc).

App Server não é feito pra rodar aplicações web.

Sim, sim, container que seja. Falo isto porque sempre usei o Glassfish pra tudo, entao quer seja somente web ou com EJB junto, vai ser o glassfish mesmo.

É acho que é o melhor jeito de conhecer e mensurar o bixo, vou fazer isto.