Newsgroup: it.comp.java
Titolo: come chiamare un metodo su un ejb installato su un server diverso da quello della web applicazione?

salve a tutti . Studio java da autodidatta dopo aver seguito un corso su 
servlet e jsp.
Ho seguito i vari tutorial della sun e di netbean per realizzare ejb 3.0 e 
applicazioni web che utiizzano tali ejb.
non Riesco a capire la seguente situazione :
Se in un ejb o in una applicazione ho bisogno di invocare un metodo di un 
ejb su un altro server , come faccio a referenziarlo?
 sui tutorial fanno sempre fare il lookup su JNDi relativamente al ejb 
presente sullo stesso server dell'appilicazione web .
Ma se per esempio ho un ejb situato su: 
www.miosito.org
 sul quale � 
installato per esempio glassfish , come faccio a referenzarlo su una 
applicazione o un ejb installati su 
www.pippo.it
 ?
Stesso problema se creo un client che deve girare su una VM qualsiasi su un 
qualsiasi pc .
spero in una vostra risposta .graize a tutti per l'attenzione.
ps : ho gia provato a ricercare in rete ma non trovo nulla .
grazie
Mauro

 applicazione o un ejb installati su 
www.pippo.it
 ?
andando a fare una lookup sul jndi di 
www.pippo.it
. cerca riferimenti su 
come creare un jndi context che punti ad un determinato indirizzo.
fermo restando che la soluzione da prendere in considerazione (anche se 
non la migliore a prescindere) ï¿œ quella di annotarli come web service.

 non la migliore a prescindere) � quella di annotarli come web service.
Non e' sempre vero. Per quanto spesso sia utile utilizzare i webservice.
I webservice itilizzano un protocollo di trasmissione basato su http e porta
80. Inoltre tutto viene convertito in xml alla trasmissione e riconvertito
alla ricezione
Il client puo' anche no nessere java
una comunicazione pura ejb usa JNP e utilizza altre porte e necessita un
client java.
E' vero che spessissimo il webservice e' comodo, ma ci sono dei casi di
appilicazioni disttribuite in cui si puo' pensare di utilizzare ejb remoti.
Nicola
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Non e' sempre vero. Per quanto spesso sia utile utilizzare i webservice.
che è più o meno quello che ho scritto io...

 applicazione o un ejb installati 
suwww.pippo.it
?
Qui c'e' una soluzione con xml e annotazioni:
https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html#cross-appserverremoteref
Invece per qualcosa di programmatico devi usare un InitialContext
costruito correttamente.

 ha scritto nel messaggio 
news:93Z32Z133Z230Y1...@usenet.libero.it...


 Ma se per esempio ho un ejb situato su:www.miosito.orgsul quale �


 mauro
dovrebbe essere na cosa simile il client
occhio che potrebbe essere roba dialettale di jboss
P.S.
Se quoti SOTTO al testo di quello precedente ci eviti di leggere "all'insu"
:)
public class Client
{
	public static void main(String[] args) throws Exception
	{
		//InitialContext ctx = new InitialContext();
		InitialContext ctx = getInitialContext();
		Calculator calculator = (Calculator) ctx.lookup("CalculatorBean/remote");
		System.out.println("1 + 1 = " + calculator.add(1, 1));
		System.out.println("1 - 1 = " + calculator.subtract(1, 1));
	}
	public static InitialContext getInitialContext()
	throws NamingException
	{
		Properties props = new Properties();
		props.put(Context.INITIAL_CONTEXT_FACTORY,
				"org.jnp.interfaces.NamingContextFactory");
		props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
		props.put(Context.PROVIDER_URL, "jnp://
192.168.1.95:1099
");
 
		return new InitialContext(props);


 ha scritto nel messaggio 
news:217Z133Z78Z119Y...@usenet.libero.it...


 ha scritto nel messaggio
