1
TECNOLOGIE – HIBERNATE & JAVA RMI
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
2
TECNOLOGIE – HIBERNATE & JAVA RMI
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 è possibile progettare in maniera
distribuita un'applicazione decomponendo la logica della
nostra applicazione in diversi componenti
TECNOLOGIE – HIBERNATE & JAVA RMI
3
Java RMI: come funziona?
1.
2.
3.
4.
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.
Il client richiede al registry una
copia dell'oggetto remoto da
utilizzare.
Il registry restituisce una copia
serializzata dello stub al client
Il client invoca uno dei metodi
dell'oggetto remoto utilizzando la
classe "clone“ fornita dallo stub
TECNOLOGIE – HIBERNATE & JAVA RMI
4
Java RMI: come funziona?
5.
6.
7.
8.
9.
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
Lo skeleton invoca il metodo richiesto
sull'oggetto remoto
L'invocazione del metodo sull'oggetto
remoto restituisce il risultato allo
skeleton
Lo skeleton comunica il risultato allo
stub sul client
Lo stub fornisce il risultato
all'applicazione client iniziale
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
TECNOLOGIE – HIBERNATE & JAVA RMI
9
Java RMI: il terminale
Il progetto common
è puntato sia dal
progetto client che
dal progetto server
10
TECNOLOGIE – HIBERNATE & JAVA RMI
Java RMI: il terminale
TECNOLOGIE – HIBERNATE & JAVA RMI
11
Java RMI: il film DTO
Il progetto common
è puntato sia dal
progetto client che
dal progetto server
Java RMI: il film DTO
Java RMI: il film DTO
Scarica

ing_sw_presentazione 10 implementazione