The Grinder ha scritto:Sarò sincero: non ho mai sviluppato con l'RMI. Da quel che ho letto in questo articolo non è molto diverso dall'utilizzare i Web Service (altro non sono che una chiamata a metodi remoti). Per il momento prova a leggere l'articolo di cui trovi il link qui sotto, al suo interno trovi anche l'esempio classico "Hello world!!". Il progetto che devi impostare è un progetto Java, banalmente, ma senza niente altro di particolare. Le classi e le interfacce che ti servono le dovresti già trovare all'interno del JDK che utilizzi, io consiglio l'1.4.2, Java 5 non è ancora così diffuso.
Tutorial RMINel caso ti servano altre informazioni o nel caso io abbia frainteso la tua domanda sono qui per correggermi.

Grazie per il link...
Ho gia' programmato qualche volta utilizzando RMI e il problema non e' quello di sapere come pubblicare un oggetto remoto e come ottenerne un riferimento remoto quanto quello, dal punto di vista del server, di rendere l'accesso remoto alle strutture accedute dai metodi remoti mutuamente esclusivi.
Riassumo in parole povere le cose...
La classe che implementa l'interfaccia che definisce i metodi e' caratterizzata da due variabili d'istanza che sono tabelle hash. Esse servono al server rmi per mantenere certe informazioni sugli utenti remoti (La prima memorizza tutti gli utenti registrati, la seconda mantiene tutti gli utenti che, oltre ad essere registrati, sono attualmente "attivi").
Le operazioni concesse in remoto sono quelle di registrazione(...), attivazione(...), disattivazione(...), controlloStato(...).
La registrazione non fa altro che memorizzare l'utente nella prima tabella, la seconda tabella controlla che l'utente sia registrato e quindi lo inserisce anche nella seconda tabella, la terza controlla che l'utente sia tra quelli attivi e lo elimina (Lasciandolo solo nella prima tabella), la terza controlla se l'utente e' presente nella prima e nella seconda tabella.
Per fare in modo che gli utenti remoti accedino in mutua esclusione alle strutture (Che vengono modificate) ho reso synchronized tutti i metodi implementati dalla classe che implementa l'interfaccia RMI.
Non so, pero', se questo e' giusto: essendo due le strutture occorrerebbe utilizzare un monitor per ciascuna risorsa (tabella) oppure e' sufficiente in questo caso, utilizzare un solo monitor (La classe stessa che implementa l'interfaccia ?).
Grazie e... scusatemi se mi sono dilungato un po' troppo...
