ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Eshop | Java | Tools | Web | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

RMI IN PRATICA
RMI in pratica
RMI e i browser
L’intefaccia remota
Serializzazione dei parametri
L’implementazione
Importare l’oggetto
Compilazione e avvio
Conclusioni
L'Autore

<<< L’intefaccia remota >>>

RMI consente di gestire un oggetto remoto, ed è una sorta di client/server trasparente: infatti invece di definire un protocollo e una codifica dei dati per far comunicare client e server, sul server “gira” un oggetto che viene “pilotato” dal client, invocando i suoi metodi. Il passaggio dei paramatri e il ritorno di risultati avviene utilizzando la serializzazione, che consente di scrivere e rileggere da uno stream un qualsiasi oggetto Java che supporti la serializzazione. Per prima cosa dobbiamo prendere un oggetto che vogliamo gestire da remoto, e suddividerlo in una interfaccia e una implementazione. L’interfaccia descrive l’oggetto dal punto di vista del client, mentre l’implementazione è l’oggetto effettivo che gira sul server. In realtà l’interfaccia è una istanza di uno stub che si trova sul client (istanziata quando viene aperta la connessione) la quale comunica con uno skel che gira sul server e invoca effettivamente i metodi dell’implementazione. Rimando ad un articolo introduttivo su RMI per meglio chiarire questa architettura. Quello che dobbiamo fare in pratica è definire l’interfaccia della nostra funzione di inversione:

package reverse;

public interface Reverse
	extends java.rmi.Remote
{
	public String reverse(String s)
		throws java.rmi.RemoteException;
}

Notiamo subito due cose: innanzitutto dobbiamo implementare java.rmi.Remote. Si tratta di una interfaccia la cui definizione è vuota. Come in altri casi simili (come java.io.Serializable) questa interfaccia serve da marcatore, che consente di dichiarare che una classe supporta una determinata caratteristica. In questo caso il programmatore specifica che l’interfaccia è utilizzabile per accedere ad un oggetto remoto. Una altra cosa da notare è che tutti i metodi sollevano una eccezione speciale, RemoteException, in grado di propagarsi attraverso la rete, trasportando eventuali eccezioni che si sono verificate sul server.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com