Search Header Logo
Cliet Server

Cliet Server

Assessment

Presentation

Computers

12th Grade

Practice Problem

Easy

Created by

Emanuela Giaconi

Used 1+ times

FREE Resource

43 Slides • 12 Questions

1

media

TPSI

Emanuela Giaconi

Le applicazioni Web

e il modello client-server

2

media

In questa lezione impareremo:

gli aspetti essenziale delle tecnologie

per il Web

le caratteristiche del modello

client-server

l’evoluzione del modello client-server

3

media
media

4

Open Ended

Che cos'è un'applicazione web? come è scritta?

5

media

Applicazioni Web: generalità

Con il termine di applicazione Web viene definito il

software sviluppato e utilizzato attraverso tecnologie
Web e linguaggi specifici.

6

Open Ended

Che cosa si intende con il termine client-side e server-side?

7

media

Applicazioni Web: generalità

Con il termine di applicazione Web viene definito il

software sviluppato e utilizzato attraverso tecnologie
Web e linguaggi specifici.

Sintetizziamo due concetti fondamentali che stanno

alla base delle applicazioni Web:
1 tecnologie client-side e server-side;
2 linguaggi di mark-up e linguaggi di
programmazione.

8

media
media

Tecnologie del Web

Possiamo distinguere le tecnologie del Web in due

gruppi, in base al posto in cui avvengono le
elaborazioni

1 Tecnologie client-side: sono le strutture

tecnologiche in cui l’elaborazione avviene sul client,
tipicamente nel browser;
possiamo schematizzare le tre fasi dell’elaborazione

9

media
media

Tecnologie del Web

Tecnologie server-side: sono le strutture

tecnologiche in cui l’elaborazione avviene sul
server, tipicamente nel Web server
possiamo schematizzare le tre fasi dell’elaborazione in:

10

Open Ended

Quali sono i linguaggi che conosci tipici dell'elaborazione client-side? e quelli dell'elaborazione server-side?

11

media
media

Tecnologie del Web

Per visualizzare una pagina che utilizza una

tecnologia client-side (HTML, JavaScript ...) potremmo anche non utilizzare un Web server, memorizzando e, quindi, aprendo la pagina WEB e fornendo al browser il path sul file system locale:

12

media
media

Tecnologie del Web

Per visualizzare una pagina che utilizza una

tecnologia server-side (scritta in linguaggi dinaici con PHP, JavaServlet, ...) abbiamo bisogno di un Web server che elabori il codice della pagina ed è, quindi, necessario connettersi e richiedere la pagina tramite un URL:

13

Open Ended

Cosa succede se cerchiamo dal browser di vedere il codice relativo all'elaborazione server-side?

14

media

Tecnologie del Web

Se chiediamo al browser di visualizzare le parti di codice che utilizzano tecnologia server-side, queste non sono visibili, perché il server ha elaborato il codice (che è memorizzato sullo stesso server) e quello che vediamo sul browser è il risultato di tale elaborazione

15

Open Ended

Quali sono i linguaggi del WEB?

16

media

Linguaggi del Web

I linguaggi di mark-up servono a scrivere documenti strutturati ("formattati"), dove un documento "formattato" è un contenuto generalmente testuale corredato di indicazioni (tag) che ne definiscono la struttura (e spesso la visualizzazione), come il linguaggio HTML, XML.

17

media

Linguaggi del Web

I linguaggi di programmazione servono a scrivere programmi, come per esempio Java e PHP. 

Con il passare degli anni l'evoluzione dei linguaggi ha fatto si che attualmente nel Web queste distinzioni non siano più cosi "rigide".


18

media

Linguaggi del Web

  1. esistono approcci "ibridi" come AJAX, ma non sono una vera "via di mezzo" tra client-side e server-side in quanto "fondono in un unico linguaggio le tecnologie client-side e server-side effettuando un uso congiunto; 

  2. in HTML5 è possibile utilizzare tag (mark-up) per scrivere istruzioni (programmi), rendendo più "difficile" la distinzione tra mark-up e programmazione. 


19

Open Ended

Come è fatto il modello client-sever? Qual è il suo scopo?

20

media
media

Il modello client-server

Il modello client-server è costituito da:

un insieme di host che gestiscono una (o più) risorse, i serventi o server, e da un insieme di clienti (o client)

21

media

Il modello client-server

Per essere precisi, non sono gli host a essere server o client ma i processi che sono in esecuzione su di essi, dove come processo si intende un programma in esecuzione: dato che su un host possono essere in esecuzione più processi, un host può essere contemporaneamente sia client che server. 

Non bisogna confondere servizio e server: un servizio è un'entità astratta che viene fornito da uno o più server che lavorano su macchine spesso differenti e che cooperano via rete. 


22

Open Ended

Che caratteristiche hanno le applicazioni che devono essere gestite tramite architettura client/server?

23

media

Il modello client-server

Descriviamo il modello client server anche analizzando la sua evoluzione che oggi gli permette di gestire applicazioni molto complesse (applicazioni di tipo enterprise) che hanno le seguenti caratteristiche: 

  1. molti utenti concorrenti che richiedono i servizi; 

  2. una logica applicativa complessa; 

  3. archivi di grandi dimensioni con organizzazione di dati complessa e distribuita; 

  4. notevoli requisiti di sicurezza; 

  5. sistemi transazionali. 


24

Open Ended

Qual è il flusso di informazioni tra client e server?

25

media
media

Il modello client-server

1 il clientmanda una richiesta al server
2 il server (in attesa) riceve la richiesta
3 il serveresegue il servizio richiesto (generando un thread concorrente)
4 il servermanda una risposta ed eventualmente dei dati
5 il clientriceve la risposta ed eventualmente i dati

26

media

Servizi tipici architetture client-server

Questo meccanismo è utilizzato sia che i processi fisicamente si trovino in esecuzione su due calcolatori diversi connessi in rete (come nell'esempio descritto) sia che risiedano sul medesimo calcolatore. 

Di seguito sono riportati alcuni servizi tipici delle architetture client-server: 

  • Telnet: è possibile operare su un computer remoto come si opera su un computer locale (client); questo è possibile se sulla macchina remota è presente un programma server che esegue le richieste del client 


27

media

Servizi tipici architetture client-server

  • HTTP: il browser è un client HTTP (Web), che richiede pagine Web ai computer su cui è installato un Web server, il quale esaudirà le richieste spedendo la pagina desiderata; 

  • FTP: tramite un client FTP è possibile copiare e cancellare file su un computer remoto, purché qui sia presente un server FTP; 

  • altri servizi di questo tipo sono SMTP, IMAP4, NFS, NIS e così via. 

28

media

Distinzione tra server e client

Un programma chiamato client richiede dei

servizi a un altro programma chiamato server

Quest’ultimo è ospitato su un computer

chiamato host ed è in ascolto tramite un
socket su una determinata porta, in attesa che
un client richieda la connessione

il client invia la richiesta al server tentando la

connessione proprio tramite tale porta, quella
cioè su cui il server è in ascolto

29

Open Ended

Che cos'è un socket?

30

media

Socket

Un socket è formato dalla coppia

<indirizzo IP: numero della porta>

che permette di individuare univocamente il gestore di un servizio


31

media
media

Distinzione tra server e client

Un client per comunicare con un server usando

il protocollo TCP/IP deve “connettersi” al socket
dell’host dove il server è in esecuzione
specificando l’indirizzo IP della macchina e il numero di porta sulla quale il server è in ascolto.

32

media

Distinzione tra server e client

Naturalmente su uno stesso computer possono essere in esecuzione server diversi, in ascolto su porte diverse (analogia: più persone abitano allo stesso indirizzo, ma a numeri di interno diversi: i numeri di interno rappresentano le porte). 

Un server "rimane in ascolto" su una determinata porta finché un client non crea una comunicazione con il socket specificando la porta sulla quale è disponibile il servizio; quindi esegue le richieste del client con le risorse che ha a disposizione e rispedisce, se richiesto, i risultati al client. 


33

Open Ended

Cosa si intende con comunicazione unicast e multicast?

34

media

Comunicazione unicast e
multicast

Ora che è stato introdotto il concetto

client-server, possiamo passare a distinguere
due tipi di comunicazione:

unicast: il server comunica con un solo client

alla volta accettando una richiesta di
connessione solo se nessun altro client è già
connesso

multicast: al server possono essere connessi

più client contemporaneamente

35

media

Nel caso di trasmissione multicast se la richiesta di connessione tra client e server va a buon fine il server, prima di stabilire il canale di connessione con il client, sposta la richiesta dalla porta nella quale è stata effettuata, port address, su una nuova porta, cosi lascia libera la prima in attesa di altre connessioni, e manda in esecuzione un thread che soddisfa la richiesta. 


Comunicazione multicast

36

media
media

Comunicazione multicast

37

Open Ended

Cosa si intende con applicazione a livelli

38

media

Livelli e strati

Le architetture client-server sono

normalmente organizzate in tre strati o
livelli (modello three-tier):
front-end o presentation tier: è
l’interfaccia verso l’utente;
logica applicativa o middle tier;
back-end con l’accesso alle risorse/ai
dati, anche detto data tier.

39

media

Livelli e strati

Presentation Layer (PL): è composta dall’insieme delle procedure o moduli dedicate all’acquisizione e alla presentazione dei dati all’utente (maschere di input, organizzazione di tabelle e tabulati video/cartacei).

Per esempio, nei sistemi Web che visualizzano pagine HTML, il Presentation Layer è costituito dai moduli del web server che concorrono a creare i documenti HTML, come le Java Servlet, gli script PHP e ASP, mentre il client può essere identificato con il browser. 

40

media

Livelli e strati

Resource Management Layer: è composto dall’insieme delle procedure che gestiscono i dati, cioè memorizzano e recuperano le informazioni persistenti dagli archivi di massa delle basi di dati.

Nel caso in cui esso è implementato tramite un DBMS, è detto semplicemente Data Access Layer (DAL). 


41

media

Livelli e strati

Business Logic Layer (BLL) o Resource: Management Layer (RML): è il “corpo centrale” della applicazione che comprende la logica della elaborazione e le definizione delle relazioni esistenti tra le diverse entità.

Esempio, comprende l'algoritmo che implementa le operazioni legate a un prelievo su un conto corrente bancario, o la sequenza di passi da compiere per effettuare un acquisto online.

42

media
media

Architettura a un livello – 1 tier

Storicamente, a partire dagli anni Settanta, le architetture si riducevano a un solo mainframe al quale erano collegati i terminali "stupidi": l'elaborazione era effettuata dall'elaboratore centrale e i terminali servivano solo per le fasi di I/O. 


43

media
media

Architettura a un livello – 1 tier

Questa architettura non rientra nella tipologia client-server e può essere classificata come architettura a un solo livello (1 tier) ed è la situazione che si presentava prima dell'avvento dei sistemi distribuiti, come mostrato nella figura a lato


44

media

Architettura a due livelli – 2 tier

Con l’avvento delle reti locali sono nate

le architetture client-server dove le
funzionalità e le responsabilità erano
suddivise su due livelli:
un livello server;
un livello client.

Due sottocategorie di architetture a due livelli: thin-client e thik-client

45

media
media

Architettura a due livelli – 2 tier

l modello thin-client:

il server è responsabile della logica applicativa e

gestione dei dati
il client è responsabile della

esecuzione del software
di presentazione.

46

media
media

Architettura a due livelli – 2 tier

il modello thick-client (o fat-client)

il server è responsabile della gestione dei
dati
il client è responsabile

di presentazione e
logica applicativa.

47

Open Ended

Quali possono essere secondo te i limiti di un'applicazione a due livelli?

48

media

Architettura a due livelli – 2 tier

Il limite delle architetture client/server a

due livelli è che sono poco scalabili

il server deve gestire la connessione e lo

stato della sessione di ciascun client

questo carico di elaborazione porta alla

limitazione del numero limitato di client
che possono essere gestiti
contemporaneamente.

49

media

Architettura a tre livelli – 3 tier

A partire dagli anni Novanta l’architettura

client-server è a tre livelli

ogni livello corrisponde uno strato

architetturale:
front-end o presentation tier: è l’interfaccia verso
l’utente;
logica applicativa o middle tier (business-tier);
back-end con l’accesso alle risorse/ai dati, anche
detto data tier (o resource-tier).

50

media
media

3 tier- Vantaggi

  • prestazioni, in quanto in questo modo si favorisce la distribuzione della quantità di elaborazione a scapito, però, dei tempi di comunicazione.

  • sistema scalabile in quanto all'aumentare delle richieste di un servizio è possibile aggiungere qualche server in grado di compensare il carico di lavoro

51

media
media

3 tier- Vantaggi e svantaggi

  • tollerante ai guasti

  • introduzione di sicurezza a livello di servizio e quindi più facilmente gestibile. 

SVANTAGGI:

  • è più difficile la progettazione, lo sviluppo e l'amministrazione. 

52

media

Architettura a tre livelli – 3 tier

Le corrispondenze tra strati e livelli non sono sempre nette: esempio una applicazione web che ha il software del client (il browser HTML) e le pagine vengono generate dal server combinando codice HTML con script dinamici sia Javascritp (lato client) che ASP o PHP (lato server).

53

media

Architettura a n tier

Le architetture client-server a N livelli sono

una generalizzazione del modello
client-server a tre livelli
questi vengono scomposti e introdotti un numero

qualunque di livelli e server intermedi

Questa scomposizione viene effettuata per

suddividere ulteriormente i compiti dei vari
strati
prende anche il nome di applicazione multi-tier.

54

media
media

55

media
media
media

TPSI

Emanuela Giaconi

Le applicazioni Web

e il modello client-server

Show answer

Auto Play

Slide 1 / 55

SLIDE