View
0
Download
0
Category
Preview:
Citation preview
1
ARCHITETTURE DEI SISTEMI DI
ELABORAZIONE
2
SISTEMI ACCENTRATI
CARATTERISTICHE
• Sistemi proprietari
• Monocultura
• Scarsa diffusione informatica
• Backlog
3
TERMINALE
TERMINALE TERMINALE
TERMINALE
ELABORATORE CENTRALE
Soluzione centralizzata
4
SISTEMI DISTRIBUITI
Insieme di elaboratori autonomi, collegati attraverso una rete di comunicazione per svolgere compiti di varia natura (amministrativi, gestionali,tecnici, produttivi,logistici etc..) propri di un’organizzazione
5
ELABORATORE
BASE DI DATI
TERMINALI LOCALI
6
MAINFRAME
MINI
PC
AZIENDA
DIPARTIMENTO
UTENTE
7
Evoluzione guidata da:
• avvento e diffusione dei personal computer
• sviluppo delle reti locali di comunicazione (LAN)
• aumento della velocità di trasmissione (LAN, WAN)
8
Vantaggi dei sistemi distribuiti:
• rapporto costo /prestazioni
• decentralizzazione delle applicazioni
• affidabilità del sistema
• modularità del sistema
• condivisione di informazioni
• condivisione di dispositivi
• comunicazione
• flessibilità
9
Alcune definizioni:
• affidabilità (reliability)
• disponibilità (availability): frazione di tempo in cui il sistema è usabile. Si può ottenere con la ridondanza.
• sicurezza (security): protezione contro accessi non autorizzati
• tolleranza ai guasti (fault tolerance): un guasto in un server non è avvertito dai client (molteplicità di server equivalenti)
10
• Una LAN si caratterizza per il fatto che la sua funzione è di interconnettere apparecchiature informatiche tutte localizzate nel “fondo utente”.
• Trasmissione dati: operano in modo digitale ad alta velocità (centinaia di Mbit/sec fino a decine di Gbit/sec) e con grande affidabilità.
• Fisicamente: cavi coassiali, fibre ottiche.Interconnessioni mediante borchie di accesso
• Si differenziano in funzione dell’ampiezza di banda(numero di bit trasmissibili al secondo).BANDA BASE (Base Band):viene trasmesso un solo segnale alla voltaLARGA BANDA (Broad Band): il mezzo trasmissivo è suddiviso in tanti canali, di portata ridotta, capaci di trasportare più segnali contemporaneamente
RETI LOCALI
11
S
SR
G
CC
RETE LOCALE
Altra LAN
WAN Stampante
Database
Stazioni di lavoro
12
TOPOLOGIA
BUS ANELLO
STELLA ALBERO
13
Ad una LAN possono essere collegati:
• PC e workstation che effettuano elaborazioni locali.
• Elaboratori specializzati come fornitori di servizi (server). Esempio:
• file server: gestiscono un archivio di file condiviso da più macchine della rete.
• data base server: gestiscono le interrogazioni e le richieste di aggiornamento della base dati
• mail server: specializzati nell’invio e smistamento della posta elettronica
• gateway: operano conversioni di protocollo e consentano la interconnessione con altre reti (es.:X25)
• print server: specializzati nella gestione di una o più stampanti
• Elaboratori tradizionali (mini o mainframe) con i loro terminali e la loro utenza.Utilizzo del mainframe per la gestione di grandi basi di dati
14
• Attraverso il server di comunicazione è possibile collegare la rete con altre reti.
• LAN garantisce la massima flessibilità: utenti e risorse possono facilmente essere inseriti o tolti dalla rete.
• Quando una nuova risorsa viene collegata in rete diventa disponibile a tutti.
• Quando viene aggiunto un nuovo utente, questo acquisisce un’immediata visibilità di tutti gli altri utenti e di tutte le risorse presenti.
15
Estensione
• LAN (Local Area Network)Macchine collegate in un’area di dimensioni ridotte (ufficio,edificio) che consente all’utente di condividere file, stampanti ed altre risorse.
• MAN (Metropolitan Area Network)Dimensione urbana. Velocità di trasmissione elevata
• WAN (Wide Area Network)copre un’area geografica di notevoli dimensioni. Collega tra loro reti locali tramite router. Larghezza di banda (velocità di trasmissione) ridotta rispetto alla LAN)
16
SISTEMI APERTI
• Sistema distribuito costruito utilizzando componenti hardware e software eterogenei, ossia provenienti da costruttori diversi.
• Contrapposto a sistema proprietario, che può essere assiemato usando componenti provenienti da un unico fornitore.
• Uso di standard
17
Standard
• Insieme di norme disponibili pubblicamente che definiscono le caratteristiche funzionali dei componenti hardware e software di un sistema di elaborazione.
• Standard de jure: emessi da enti internazionali
• Standard de facto: accordi a livello industriale e commerciale.
• Il concetto di standard si applica agli aspetti funzionalidi un componente, lasciando invece completa libertà circa il modo con cui realizzarlo
18
Proprietà di un sistema aperto:
• Portabilità
• Consistenza
• Interoperabilità
• Modularità
19
MODELLO CLIENT-SERVER
Modello di coordinamento in un sistema distribuito. Stabilisce:
• Chi può iniziare l’interazione
• Chi può rispondere
• Come trattare le condizioni di errore
20
Classificazione dei processi in:
• processi che richiedono servizi (client)
• processi che forniscono servizi (server)
• Il client richiede un servizio, il server esegue il servizio e rende disponibili i risultati al client
21
Funzioni del client
• fornisce un’interfaccia grafica (es. Windows) per ricevere richieste di servizio dall’utente.
• può eseguire, in parte, localmente il servizio
• prepara richieste per il/i processi servitori (utilizzo di SQL)
• utilizza strumenti di interprocess communication (IPC) Es. Utilizzo di RPC (Remote Procedure Call)
• analizza i risultati inviati dal server
22
Funzioni del server
• Può solo rispondere alle richieste del client
• Può comunicare con altri server per rispondere alle richieste del client in modo invisibile al client
• Nasconde al client e all’utente la struttura del sistema
23
Tipologie di server
• Data base server- Gestisce le richieste di accesso a basi di dati (SQL).
• Transaction server- Gestisce le chiamate di procedure remote (transazioni) che accedono al data-base (On Line Transaction Processing: OLTP). Applicazioni mission critical: elevato numero di utenti, basi di dati di grandi dimensioni (mainframe come server).
24
Application server
Supporto ad esigenze del client di varia natura. Esempi:
• gestione della posta elettronica (mail server)
• condivisione di risorse di archiviazione e stampa (file server)
• utilizzazione di una stesa linea di comunicazione da parte di più terminali (terminal server)
• localizzazione nel sistema di un particolare servizio o funzione(name server)
• autenticazione dell’utente e dei suoi diritti di accesso (authentication server)
25
• interconnessione di reti diverse consentendo il colloquio tra lemacchine ad essi collegate (gateway server)
• supervisione del sistema distribuito: guasti, trasferimento nuova versione programmi (administration server)
I programmi che forniscono i servizi indicati sono, in genere, reperibili sul mercato
26
Un server deve contenere codice che assicura:
autenticazione: verifica dell’identità del cliente
autorizzazione: verifica la possibilità del cliente di accedere al servizio
data security: garantire che i dati non vengano compresi o resi noti
privacy: impedire l’accesso non autorizzato a dati individuali
27
Caratteristiche di una architettura client-server
• Combinazione di una parte (client o front-end) che interagisce con l’utente e di un’altra che interagisce con le risorse condivise.
• Diverse esigenze di risorse (memoria, velocità di elaborazione, dischi,..) delle macchine client e server
• Eterogeneità dell’ambiente
• Scalabilità orizzontale (aumento delle macchine client) e verticale (migrazione ad un server più potente o a soluzioni multiserver)
28
SERVER E CALCOLATORI DI CLASSE SERVER
• Server è un programma che aspetta passivamente di essere contattato ed esegue un particolare servizio.
• I calcolatori dedicati all’esecuzione di uno o più programmi server sono detti server(calcolatori potenti)
• Calcolatore di classe server. Può offrire contemporaneamente più servizi, ciascuno erogato da una specifica applicazione server.
• Migliore utilizzazione delle risorse fisiche del server
29
Classificazione delle strutture client server
In una applicazione client/server sono distinguibili tre funzioni:
• interfaccia verso l’utente• programmi applicativi• gestione dei dati
A seconda della suddivisione delle funzioni tra lato client e lato server si hanno tre tipi di architettura:
• frontware• remote data management• distributed function processing
30
Enterprise server• Mette a disposizione servizi ed applicazioni comuni a tutti
gli utenti della (es. data-base server)
Area server• Svolge compiti che interessano gruppi di utenti che
operano nello stesso ambito.
Legacy system• Sistema “vecchio” che rimane in uso temporaneamente o
definitivamente dopo che è stato installato un nuovo sistema
31
PROPRIETA’ DEL MODELLO CLIENT-SERVER
•Connection-oriented Vs Connectionless
•Stateless Vs Statefull Servers
•Server concorrenti
•Creazione dinamica dei server•
32
STATELESS Vs STATEFULL SERVERS
•Informazione di stato: l’informazione che un server mantiene circa lo stato delle interazioni con i clienti.
•L’informazione di stato consente ai server di ricordare cosa un cliente ha chiesto precedentemente e di fornire una risposta incrementale quando arriva una nuova richiesta.
•L’informazione di stato può aumentare l’efficienza ma, in caso di duplicazioni, ritardi, messaggi arrivati non in ordine può creare problemi .
33
SERVER con STATO
• File server - accesso remoto da parte dei client. Due tipi di richieste: estrarre dati da un file e memorizzare dati in un file.
• Server privo di stato (stateless) - non mantiene le informazioni circa le transazioni. Ogni richiesta deve specificare il nome del file, la posizione nel file da cui prelevare o inserire dati, numero di byte da estrarre o memorizzare.
• Server con stato (stateful) - il server mantiene una tabella che memorizza informazioni di stato sui file che sono acceduti
34
SERVER con STATO
Il server invia l'identificatore del file aperto al client che lo usa per richieste successive
Identificatore nome file posizione corrente1 test.program.c 02 tcp.book.doc 4563 dept.budget.txt 384 tetris.exe 128
35
SERVER con STATO
• Vantaggi: maggiore efficienza, operazioni incrementali, messaggi di dimensione minore.
• Problemi: possibili malfunzionamenti dovuti alla rete (uso di UDP come protocollo). Duplicazione di comandi, ritardi, messaggi non in ordine, crash del server (con conseguente non chiusura dei file aperti.
36
COOKIES
•Record di informazioni che il server spedisce al client che ne ha richiesto un servizio.
•Contengono:• informazioni sull’utente• informazioni sulla pagina visitata• etc.
•Le successive richieste da parte del client verso il server comportano la trasmissione dei relativi cookies
37
Cookies
La risposta del server ad una richiesta del client contiene l’intestazione:
Set-cookie: numero di identificazione dell’utente generato dal server web;Set-cookie: 1678453.
Il client appende la linea ad un file cookie. La linea comprende il nome dell’host del server ed il numero di identificazione dell’utente.
Nelle successive richieste il client include la linea di intestazione con il nome del server ed il numero identificativo.
Il server non conosce l’user name dell’utente, ma è in grado di riconoscerlo.
38
I server web usano i cookie per scopi diversi:
Evitare di richiedere user name e password per l’autenticazione.
Memorizzare le preferenze di un utente
Tenere traccia degli oggetti che un acquirente sta acquistando su un sito
39
Server concorrenti
• Concetto di concorrenza: due programmi in esecuzione si icono concorrenti se la loro esecuzione si sovrappone nel tempo (parallelismo o interleaving).
• Thread (processi leggeri, task). Un’applicazione si può suddividere in più parti (thread) eseguenti concorrentemente più flussi di esecuzione anziché un solo flusso.
• Importanza fondamentale per il modello client/server: il server può erogare “contemporaneamente” lo stesso servizio a più client.
• Una nuova copia del server si occupa di ogni nuova richiesta
• Problemi di sincronizzazione tra i thread nell’accesso a risorse comuni
40
Creazione dinamica dei server
• Creazione di un nuovo thread all’arrivo di ogni nuova richiesta.
• I programmi server sono costituiti da due parti: una per la ricezione delle richieste e la creazione del nuovo thread, l’altra per soddisfare le richieste.
• All’avvio del server entra in esecuzione la prima parte (il server attende). All’arrivo della richiesta la prima parte (thread principale ) crea un thread secondario che soddisfa la richiesta e termina.
• Se N clienti usufruiscono di un dato servizio offerto da un server, questo eseguirà N+1 thread concorrenti: un thread principale che riceve le richieste e N threadsecondari che soddisfano le richieste
41
SOLUZIONI CLIENT/SERVER
File server Condivisione di file (documenti, immagini, disegni, etc.). Scambio di molte informazioni sulla rete.
Data base server Condivisione di un data-base. Invio di richieste SQL da parte del client. Elaborazione nel server. Invio dei messaggi di risposta. Riduzione del traffico sulla rete.
Transaction server Cliente richiede un servizio al server (remote procedures). Esecuzione sul server di un insiemedi richieste SQL (transazione). Una sola risposta del server.OLTP On Line Transaction Processing (sicurezza e integrità del data-base).
Groupware server Gestione di documenti, posta, immagini etc. con l’obiettivo di consentire l’esecuzione di una applicazione da parte di più persone.
Recommended