M. Barbaro, G. Rorato Client/ Server Introduzione ................................................................................................ Error! Bookmark not defined. Teoria dei Client/Server ....................................................................... Error! Bookmark not defined. Richiamo di concetti relativi ai Sistemi Operativi ............................ Error! Bookmark not defined. Sistema multiprogrammato ............................................................. Error! Bookmark not defined. Sistema multitasking ......................................................................... Error! Bookmark not defined. Sistema multiprocessing ................................................................... Error! Bookmark not defined. Simmetrico ..................................................................................... Error! Bookmark not defined. Asimmetrico .................................................................................. Error! Bookmark not defined. Sistema Tightly-Coupled ............................................................. Error! Bookmark not defined. Sistema Loosely-Coupled ............................................................ Error! Bookmark not defined. IPC (Inter Process Comunication) ................................................. Error! Bookmark not defined. Processi cooperanti ........................................................................... Error! Bookmark not defined. Concetti relativi ai processi distribuiti ................................................ Error! Bookmark not defined. Processi filtro ..................................................................................... Error! Bookmark not defined. Processi peer ...................................................................................... Error! Bookmark not defined. Processi Client/Server ...................................................................... Error! Bookmark not defined. Architettura Client/Server ........................................................................ Error! Bookmark not defined. Client/Server nella realtà ...................................................................... Error! Bookmark not defined. Come si riconoscono le architetture Client/Server?........................ Error! Bookmark not defined. Caratteristiche principali dell’architettura Client/Server................. Error! Bookmark not defined. Client ................................................................................................... Error! Bookmark not defined. Server ................................................................................................... Error! Bookmark not defined. Requisiti della comunicazione .............................................................. Error! Bookmark not defined. Progettazione dell’architettura Client/Server ................................... Error! Bookmark not defined. Bilanciamento dei processi .............................................................. Error! Bookmark not defined. Schema delle attività svolte dai processi ................................... Error! Bookmark not defined. Metodologia di sviluppo ....................................................................... Error! Bookmark not defined. La progettazione deve procedere in quattro fasi: ........................ Error! Bookmark not defined. Fase 1 .............................................................................................. Error! Bookmark not defined. Fase 2 .............................................................................................. Error! Bookmark not defined. Fase 3 .............................................................................................. Error! Bookmark not defined. Fase 4 .............................................................................................. Error! Bookmark not defined. Come si distribuiscono le risorse in una tecnologia Client/ServerError! Bookmark not defined. Distribuzione Two-Tier: .................................................................. Error! Bookmark not defined. Distribuzione Multi-Tier: ................................................................. Error! Bookmark not defined. Distribuzione dei dati ............................................................................ Error! Bookmark not defined. Replicazione ....................................................................................... Error! Bookmark not defined. Ripartizione ........................................................................................ Error! Bookmark not defined. Riorganizzazione ............................................................................... Error! Bookmark not defined. Caching dei dati ................................................................................. Error! Bookmark not defined. Analisi delle affinità tra entità .............................................................. Error! Bookmark not defined. Analisi delle Affinità (procedimento): ........................................... Error! Bookmark not defined. Altre tecniche per ridurre il Traffico di Rete: ............................... Error! Bookmark not defined. La comunicazione tra client e server .................................................. Error! Bookmark not defined. Multi-Server dataflow ....................................................................... Error! Bookmark not defined. Broadcast-dataflow ........................................................................... Error! Bookmark not defined. Filtering-dataflow .............................................................................. Error! Bookmark not defined. Scalabilità ................................................................................................. Error! Bookmark not defined. 1 M. Barbaro, G. Rorato Client/ Server Requisiti principali sui quali si può valutare la scalabilità ........... Error! Bookmark not defined. Perimetri di sicurezza ............................................................................ Error! Bookmark not defined. Si analizzano ora delle regole sulla progettazione client/server .... Error! Bookmark not defined. Tecniche di comunicazione ...................................................................... Error! Bookmark not defined. Message-passing ..................................................................................... Error! Bookmark not defined. Tipi di connessione tra più processi............................................... Error! Bookmark not defined. Indirizzamento dei messaggi ................................................................ Error! Bookmark not defined. Name_resolution ............................................................................... Error! Bookmark not defined. Static binding...................................................................................... Error! Bookmark not defined. Dynamic binding ............................................................................... Error! Bookmark not defined. Sincronizzazione .................................................................................... Error! Bookmark not defined. Remote Procedure Call (RPC) ............................................................. Error! Bookmark not defined. Programmare con RPC .................................................................... Error! Bookmark not defined. Come e quando viene lanciato il Server RPC............................... Error! Bookmark not defined. Come attende e risolve le chiamate un Server RPC .................... Error! Bookmark not defined. Tipi di fallimenti (failure) e possibili soluzioni ............................. Error! Bookmark not defined. Si analizzano ora 2 tipi di implementazione di RPC ................... Error! Bookmark not defined. SUN RPC: .......................................................................................... Error! Bookmark not defined. Funzionamento del client ................................................................ Error! Bookmark not defined. Funzionamento del server ............................................................... Error! Bookmark not defined. Collegamento tra Client e Server con le RPC .............................. Error! Bookmark not defined. 2