se lo scopo è esporre un servizio allora usa i web service.
se invece lo scopo è semplicemente l'invocazione remota da un tuo client
java a un tuo server j2ee, allora usa gli ejb.
Ma qual'è la differenza sostanziale tra ejb e web service?
che sono sostanzialmente due cose diverse.
i web service rappresentano uno standard di interoperabilità, gli ejb
sono invece dei componenti server che implementano, fra le loro
specifiche, altri standard di interoperabilità.
Tecnologicamente:
ejb vengono invocati via jndi/rmi/corba
web service sono invocati via http
Operativamente:
Di solito i web service si usano per offrire servizi a dei client che
possono essere java o non java, utilizzano http che e' il protocollo piu'
usato e diffuso ad esempio sul web
Gli ejb sono componenti java che si usano prevalentemente per creare
applicazioni complesse e distribuite. In pratica sono pezzi di programma
piu' che servizi.
Poi ognuno puo' farne l'uso che vuole :-)
Nicola
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Grazie per la risposta dettagliata, quindi da quanto ho capito se uso
ejb, sia client che server devono essere scritti in java, a differenza
dei web service, nel quale si possono far dialogare due linguaggi di
programmazione differenti?
> Grazie per la risposta dettagliata, quindi da quanto ho capito se uso
> ejb, sia client che server devono essere scritti in java, a differenza
> dei web service, nel quale si possono far dialogare due linguaggi di
> programmazione differenti?
Si.
Ejb in pratica sono elementi di programmazione java. Di fatto delle classi
arricchite.
Per capirci se usi jee5 i webservice si implementano utilizzando gli ejb. In
pratica gli ejb fanno parte del linguaggio e , se vuoi, puoi anche invocarli
in remoto.
I webservice sono dei servizi a se stanti scritti in un qualsiasi linguaggio
accessibili via web e http in generale.