Upload
ciro-pappalardo
View
234
Download
0
Embed Size (px)
Citation preview
Java Remote Method Invocation (RMI)Indice:• A cosa serve• Come funziona• L’interfaccia RMI del server di filiale e suo utilizzo• L’interfaccia RMI Terminale e sua implementazione• L’interfaccia RMI di un oggetto del model: Film
TECNOLOGIE – HIBERNATE & JAVA RMI1
Java RMI: a cosa server?• Si può avere un vero e proprio riferimento all’oggetto
remoto, anche se esso si trova su una Java Virtual Machine diversa dalla nostra
• Si può utilizzare la sintassi Java e tutte le potenzialità offerte dalla progettazione O.O. anche quando si invocano i metodi appartenenti agli oggetti remoti
• In questo modo e possibile progettare in maniera distribuita un'applicazione decomponendo la logica della nostra applicazione in diversi componenti
TECNOLOGIE – HIBERNATE & JAVA RMI2
Java RMI: come funziona?1. Viene creata sul server un’istanza
dell'oggetto remoto e passata in forma di stub al rmi registry. Tale stub viene inserito all'interno del registry stesso.
2. Il client richiede al registry una copia dell'oggetto remoto da utilizzare.
3. Il registry restituisce una copia serializzata dello stub al client
4. Il client invoca uno dei metodi dell'oggetto remoto utilizzando la classe "clone“ fornita dallo stub
TECNOLOGIE – HIBERNATE & JAVA RMI3
Java RMI: come funziona?5. Lo stub richiama lo skeleton che si
trova sul server chiedendogli di invocare sull'oggetto remoto lo stesso metodo che il client ha invocato sullo stub
6. Lo skeleton invoca il metodo richiesto sull'oggetto remoto
7. L'invocazione del metodo sull'oggetto remoto restituisce il risultato allo skeleton
8. Lo skeleton comunica il risultato allo stub sul client
9. Lo stub fornisce il risultato all'applicazione client iniziale
TECNOLOGIE – HIBERNATE & JAVA RMI4
Java RMI: l’interfaccia server di filiale
Il progetto common è puntato sia dal progetto client che dal progetto server
Java RMI: l’interfaccia server di filiale
Java RMI: chiamata al server di filiale
Java RMI: chiamata al server di filiale
Java RMI: il terminaleTECNOLOGIE – HIBERNATE & JAVA RMI9
Il progetto common è puntato sia dal progetto client che dal progetto server
Java RMI: il terminaleTECNOLOGIE – HIBERNATE & JAVA RMI10
Java RMI: il film DTOTECNOLOGIE – HIBERNATE & JAVA RMI11
Il progetto common è puntato sia dal progetto client che dal progetto server
Java RMI: il film DTO
Java RMI: il film DTO