Ejb 3 interfaces

8 respostas
E

Pessoas qual a diferenção das inteface Local , Remote , WebServices no EJB3

Eu sei que:

Loca - e quando eu executo na mesma VM.
Remote - usa RMI ou seja executa em VMs diferentes , mais somente em JAVA
WebServices - Executa remoto em qualquer linguagem

Mais eu não consigo intender isto. na pratica,aonde eu usaria isto? alguem tem um exemplo das 3?

8 Respostas

gilmaslima

Vamos fazer quem nem Jack (vamos por partes):

EJB -> Local, é muito usado para acessos a base de dados (insert, update, delete, etc), chamar outros serviços(EJBs), é usado geralmente na mesma aplicação que irá utilizar o serviço EJB, é usado EJB pelas vantagens de controle de transação, injeção de dependencias e inversão de controle.

EJB -> Remoto, geralmente é usado para integrar outros sistemas em java que utilizam EJB, por exemplo vc tem um sistema que tem a funcionalidade de fazer cotação de moeda, e vc está desenvolvendo um outro sistema que precisa da mesma funcionalidade e vc integra os dois sistemas que estão em servidores de aplicação distintos(JVM), e tem as mesmas vantagens do EJB local.

Por baixo dos panos vc está utilizando RMI, que por traz usando sockets, mas a JNDI já facilita muito tudo isso pra vc, e o Servidor de aplicação já faz os lookups pra vc, basta configurar.

Webservices -> geralmente usado para integrar sistemas independente da linguagem, vc pode ter um serviço WS rodando em Java com um cliente em PHP por exemplo, e para se entenderem utilizam o XML.

Espero ter ajudado.

flw!

E

Entendi, se eu fazer um sistema WEB, pode ser tudo Loca?
tipow quando o cliente acessa do Browser isso não é uma chamada remota?

gilmaslima

erickfm8:
Entendi, se eu fazer um sistema WEB, pode ser tudo Loca?
tipow quando o cliente acessa do Browser isso não é uma chamada remota?

Mesmo Servidor de aplicação = mesma JVM = Local

E


Mesmo Servidor de aplicação = mesma JVM = Local

EU SEI

o que eu não sei é
quando o cliente acessa do Browser isso não é uma chamada remota?

eu não tenho nossão de quando o acesso é feito do browser se estou em outra vm

gilmaslima

Se a sua aplicação está no mesmo servidor é uma chamada local.

No EJB 3.1 da até pra vc empacotar tudo em um único .war q o servidor se encarrega do resto (no deploy).

E

“Se a sua aplicação está no mesmo servidor é uma chamada local.

Sim está, mais quando aguem acessa via internet pessei que fosse um chama remota

gilmaslima

É meio confuso mesmo, mas é só vc se perguntar:

Quem chama o Ejb?

O cliente(browser) que está navegando na aplicação?
Ou a plicação Web q chama o EJB?

flw!

E

é verdade…

Um cliente aciona o metodo que esta no MenagendBean que por si aciona um EJB,

mais tem como do browser eu acessar um ejb né?
meu action do commandLink por exemplo chamar um metodo direto do EJB isso é possivel?

ou então ter um ejb no ManagedBean e no .xhtml por exemplo fazer…

pessoaManagendBean.pessoaEjb.metodoEjb

assim eu estaria acessando um ejb do browser.

Criado 16 de junho de 2011
Ultima resposta 16 de jun. de 2011
Respostas 8
Participantes 2