Internet e il Web:

l'infrastruttura per il
commercio elettronico

Moreno Marzolla

Dipartimento di Informatica

Università Ca' Foscari di Venezia

marzolla@dsi.unive.it

http://www.dsi.unive.it/~marzolla

Panoramica tecnologica

Per fare commercio elettronico servono un insieme di tecnologie

La più importante è una rete di comunicazione, nel nostro caso Internet

Software per la gestione di basi di dati

Software e hardware per la crittografia

Supporti multimediali

...e ovviamente il World Wide Web!

Le aziende devono essere al passo con la tecnologia

Un sito web lento verrà abbandonato molto facilmente dai potenziali clienti

Un sito che non offra sufficienti garanzie di sicurezza e riservatezza dei dati verrà rapidamente scartato

Vedremo i principali aspetti tecnologici di supporto al commercio elettronico, soffermandoci per il momento su quelli legati alla rete e al Web

Breve evoluzione di Internet / 1
Fonte: http://www.let.leidenuniv.nl/history/ivh/chap2.htm

Breve evoluzione di Internet / 2

Breve evoluzione di Internet / 3

Internet oggi
Fonte: http://www.caida.org/outreach/papers/1999/webmatters99/

Internet oggi
(Autonomous Systems)

I protocolli TCP/IP

Questi protocolli sono alla base del funzionamento di Internet

Stabiliscono le regole fondamentali relative alle modalità di trasmissione dei dati tra le reti e tra singoli host

Si tratta di due protocolli:

TCP: Transmission Control Protocol

IP: Internet Protocol

TCP

Il protocollo TCP definisce delle regole per stabilire una comunicazione affidabile ed efficiente tra due processi in esecuzione su due macchine diverse collegate a Internet

Affidabile: pacchetti persi o danneggiati vengono ripristinati

Efficiente: Si cerca di ottimizzare la comunicazione il più possibile

TCP fornisce l'illusione di un canale di comunicazione (un “tubo”) che collega direttamente mittente e destinatario

IP

Il protocollo IP definisce le regole di base per la comunicazione tra due macchine connesse alla rete

Comunicazione orientata a pacchetti

Comunicazione non affidabile

IP definisce le regole per l'instradamento dei pacchetti nella rete

Si occupa anche della gestione degli indirizzi di ciascun pacchetto, assicurando che vengano etichettati correttamente

Architettura TCP/IP

Applicazione

Trasporto

Internet

Interfaccia

di rete

Hardware

Protocolli applicativi

e servizi

TCP

UDP

RARP

IP

ARP

ICMP

Protocolli

di routing

Driver di rete e

scheda di rete

Livelli

Funzione

Livello Hardware

A livello più basso, la comunicazione avviene tramite impulsi elettrici su un filo di rame

Oppure tramite onde radio che viaggiano nell'etere

Applicazione

Trasporto

Internet

Interfaccia

di rete

Hardware

Livello Interfaccia di Rete

Comunicazione diretta attraverso un mezzo fisico tra due macchine direttamente collegate

Gestione degli errori dovuti a interferenze

Gestione di collisioni che avvengono se entrambi tentano di comunicare contemporaneamente

Applicazione

Trasporto

Internet

Interfaccia

di rete

Hardware

Livello Internet

Il protocollo IP lavora a questo livello

Comunicazione tra due macchine non necessariamente direttamente collegate

Protocolli di instradamento (routing)

Identificazione univoca delle macchine (gestione dei nomi)

Applicazione

Trasporto

Internet

Interfaccia

di rete

Hardware

Livello Trasporto

Il protocollo TCP lavora a questo livello

Implementa una comunicazione affidabile ed efficiente tra processi in esecuzione su macchine diverse

Applicazione

Trasporto

Internet

Interfaccia

di rete

Hardware

Livello Applicazione

Applicazioni generiche

Posta Elettronica

HTTP

FTP

Newsgroup

...

Applicazione

Trasporto

Internet

Interfaccia

di rete

Hardware

Gli indirizzi IPv4

Gli indirizzi Internet sono rappresentati, a livello più basso, come numeri di 32 bit, suddivisi in una serie di 4 numeri di 8 bit

Es. 157.138.20.15

Quando il protocollo IP invia un pacchetto, lo etichetta con l'indirizzo del mittente e del destinatario

Tutti i nodi connessi alla rete devono avere indirizzo univoco

Gli indirizzi IPv6

Stiamo rimanendo a corto di indirizzi IP

Per tale ragione è stato sviluppato un nuovo protocollo (IPv6) con un nuovo schema di numerazione

Indirizzi IPv6 di 16 byte

Notazione esadecimale, 8 blocchi da 4 cifre

0012:FF87:10A0:016B:3572:0000:AA7B:F07C

Ci sono in tutto circa 3*1038 possibili indirizzi IPv6

Vuol dire 7*1023 indirizzi IP per metro quadro terrestre, oceani inclusi

I nomi di dominio / 1

Lavorare con i numeri può andare bene per i calcolatori, meno per gli utenti umani

Per questa ragione, al posto dei numeri si usano i nomi di dominio

ganimede.dsi.unive.it

Un nome di dominio è costituito da un numero arbitrario di parole separate da punti

I nomi vengono tradotti in numeri da server chiamati Domain Name Server (DNS)

I nomi di dominio / 2

Voglio accedere al sito www.dsi.unive.it

Il computer contatta il DNS

Domanda: “A chi corrisponde l'indirizzo www.dsi.unive.it?”

Il DNS risponde: “Appartiene a 157.138.20.3”

Ora è possibile contattare il nodo internet di indirizzo 157.138.20.3

I nomi di dominio / 3

La parte finale (più a sinistra) dei nomi rappresenta i domini di primo livello

.it	Italia

.fr	Francia

.uk	Regno Unito

.edu	Università e scuole

.com	Aziende

.gov	Governo Stati Uniti

.net	Servizi di rete

.org	Organizzazioni no profit

...

DNS

Il DNS funziona con una struttura ad albero

Alle radici dell'albero ci sono i DNS “autorevoli”

Questi passano le query ai DNS di livello più basso

Il DNS che “risolve” i domini che terminano con .it contiene la lista di tutti i DNS relativi a domini X.it

Quindi conosce l'indirizzo del DNS che serve unive.it

Il DNS di unive.it conosce l'indirizzo del DNS di dsi.unive.it

Il DNS di dsi.unive.it conosce l'indirizzo di www.dsi.unive.it

SMTP, POP, IMAP

La posta elettronica viene gestita da programmi e calcolatori chiamati mail server (o server di posta)

I server di posta devono essere attivi 24 ore su 24, per consentire la ricezione e l'invio di messaggi

Con i server di posta occorre comunicare tramite protocolli standard, che sono proprio SMTP, POP e IMAP

SMTP / 1

Simple Mail Transport Protocol

Viene utilizzato per spedire un nuovo messaggio

Il protocollo è molto semplice

SMTP / 2

HELO abc.com

250 multivac.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet you

MAIL FROM <pippo@abc.com>

501 5.5.2 Syntax error in parameters scanning "FROM"

MAIL FROM: <pippo@abc.com>

250 2.1.0 <pippo@abc.com>... Sender ok

RCPT TO: <pluto@xyz.com>

250 2.1.5 <pluto@xyz.com>... Recipient ok (will queue)

DATA

354 Enter mail, end with "." on a line by itself

From: <pippo@abc.com>

To: <pluto@xyz.com>

Subject: Questa e' una prova

Questo e' il testo del messaggio.

Non c'e' molto da dire, in verita'...

A presto.

.

250 2.0.0 i0UHCm501849 Message accepted for delivery

QUIT

221 2.0.0 multivac.localdomain closing connection

POP / 1

Post Office Protocol

E' il protocollo usato per recuperare i nuovi messaggi di posta elettronica

I messaggi vengono trasferiti dal server di posta al vostro PC usando il protocollo POP

Una volta sul vostro PC, vengono letti da un apposito programma (pine, Eudora, Outlook...)

POP / 2

Tramite il protocollo POP è possibile chiedere al server di posta di:

Recuperare la posta e in seguito cancellarla dal server

Recuperare la posta senza cancellarla

Vedere se ci sono nuovi messaggi

IMAP

Internet Message Access Protocol

E' un nuovo protocollo che ha rimpiazzato POP per la lettura dei messaggi

Con IMAP è possibile chiedere al server di scaricare solo alcuni messaggi, anziché tutti

E' possibile scaricare solo l'intestazione e il mittente del messaggio, e il contenuto in seguito

IMAP consente di creare cartelle sul server di posta per tenere ordinati i messaggi

Invio / ricezione posta

Server

di posta

dominio

xyz.com

Server

di posta

dominio

abc.com

Mittente

pippo@abc.com

Destinatario

pluto@xyz.com

SMTP

SMTP

POP/IMAP

FTP

File Transfer Protocol

Protocollo utilizzato per il trasferimento file con il modello client/server

Esiste un server FTP che ospita una serie di file da condividere

I client si collegano con il server e possono trasferire file in entrambe le direzioni

Da client a server

Da server a client

Telnet

Telnet è una applicazione che consente il collegamento ad un calcolatore remoto collegato a Internet

Funziona come programma di emulazione terminale

Consente di digitare comandi e visualizzare l'output come se la propria tastiera e monitor fossero fisicamente collegati al calcolatore remoto

L'interazione è orientata a caratteri

Posta Elettronica
(EMail)

Consente di trasferire messaggi da un host ad un altro

I messaggi possono includere testo, ma anche allegati di qualsiasi tipo (suoni, immagini, filmati...)

La posta elettronica gioca un ruolo fondamentale nel Commercio Elettronico

Invio di cataloghi, listini, ordini di acquisto...

Spesso i codici di attivazione dei prodotti possono essere ricevuti comodamente via email, dopo aver acquistato la licenza d'uso del software

Spam

Problema che affligge gli utenti della posta elettronica: ricevere una grossa quantità di messaggi pubblicitari indesiderati

“Guadagna un fiume di $$$ dal tuo pc”

“Acquista medicinali senza ricetta”

Anche cose oscene che è meglio non ripetere...

Lo spamming consuma tempo degli utenti e risorse di Internet

I messaggi di spam consumano parte della larghezza di banda disponibile, che potrebbe essere usata per altri scopi più utili

HTML

HyperText Markup Language

Linguaggio utilizzato per la definizione delle pagine WEB

E' composto da una serie di tag utilizzati per definire la struttura e lo stile del documento

Esistono dei tag che consentono di definire collegamenti ad altre pagine WEB (hyperlinks)

Ipertesti

Fonte: Schneider e Perry, Commercio elettronico, Apogeo

Applicazione all'E-Commerce

Una applicazione di Commercio Elettronico utilizza i link per

dirigere i clienti verso le diverse pagine sul server dell'azienda

dirigere i clienti verso altri server sicuri (tipicamente per effettuare pagamenti)

E' possibile utilizzare due strutture di link

Struttura lineare

Struttura gerarchica

Strutture di link

Struttura

lineare

Struttura

Gerarchica

La struttura a link del WEB
http://www9.org/w9cdrom/160/160.html

Distribuzione dei link in/out

La distribuzione dei link in ingresso segue la “power law”
P[X=x] ≈ x-a

Client e server WEB

L'insieme di documenti HTML, residenti su server diversi e collegati da link, costituisce il World Wide Web

Fonte: Schneider e Perry, Commercio elettronico, Apogeo

URI
Uniform Resource Identifier

host rappresenta il nome (o l'indirizzo IP) dell'host a cui collegarsi

port indica la porta su cui il server WEB sta in ascolto

abs_path è il nome completo della risorsa cui accedere

query rappresenta una stringa passata al server web

http_URL = "http:" "//" host [ ":" port ]
[ abs_path [ "?" query ]]

Tag HTML

I tag sono particolari codici HTML che specificano come l'intero documento, o una sua parte, debbano apparire sullo schermo

Il formato generale è il seguente:
<nome attributo1=”valore1” attributo2=”valore2”>
contenuto del tag
</nome>

Lettere accentate

Per utilizzare lettere accentate nei documenti HTML è necessario usare delle sequenze di controllo particolari

&egrave; = è

&eacute; = é

&agrave; = à

&ograve; = ò

&igrave; = ì

&ugrave; = ù

Esempio

<html>

<head>

<title>Mia Home Page</title>

</head>

<body>

<p>Benvenuti nella mia pagina WEB</p>

</body>

</html>

Tag di

apertura

Tag di

chiusura

Formato generale di una pagina

<html>

<head>

<title>Titolo della pagina</title>

</head>

<body>

<h1>Titolo del capitolo</h1>

<h2>Titolo della sezione</h2>

<p>Primo Paragrafo</p>

<p>Secondo Paragrafo</p>

</body>

</html>

Esempio

Questa <b>parola</b> compare in grassetto

Esempio: tag con attributi

<p align=”right”>Il testo di questo paragrafo compare allineato a destra, adattandosi alla dimensione della finestra del browser. L'allineamento normale dovrebbe essere a sinistra</p>

Formattazione dei caratteri

<em>Corsivo</em>

<b>Grassetto</b>

<ul>Sottolineato</ul>

Link esterni

Cliccare <a href=”http://www.dsi.unive.it/~marzolla”>qui</a> per visitare la mia pagina web.

Link interni

<p>

<a href=”#prima”>Prima sezione</a> oppure <a href=”#seconda”>Seconda sezione</a>

</p>

<a name=”prima”>

<h1>Prima sezione</h1>

</a>

<p>Questa &egrave; la prima sezione</p>

<a name=”seconda”>

<h1>Seconda sezione</h1>

</a>

<p>Questa &egrave; la seconda sezione</p>

Liste

<ul>

<li>Primo elemento</li>

<li>Secondo elemento</li>

<li>Terzo elemento</li>

</ul>

<ol>

<li>Primo elemento</li>

<li>Secondo elemento</li>

<li>Terzo elemento</li>

</ol>

Immagini

<p>Questa &egrave; una immagine</p>

<img src=”unive_logo.png” alt=”Logo Universit&agrave; di Venezia”/>

Tabelle

<table border=”1”>

<tr>

<td>Uno</td>

<td>Due</td>

<td>Tre</td>

</tr>

<tr>

<td>Quattro</td>

<td colspan=”2”>Cinque</td>

</tr>

</table>

Comunicazione tra client e server WEB

La divisione del lavoro tra client e server WEB è molto netta

Il vostro PC di casa, con sopra un browser, richiede pagine HTML ad un server e le visualizza

Il server WEB riceve richieste di pagine HTML e invia tali pagine a chi le richiede

Pagine ricche di immagini fanno sì che il client richieda ogni singolo elemento (immagine) al server, quindi possono risultare lente da caricare

Caricamento delle pagine WEB

Richiesta

pagina WEB

Scansione

pagina WEB

Il server riceve la richiesta e fornisce la pagina

Client

Server WEB

Richiesta immagine 1

Richiesta immagine 2

HTTP

Cosa succede quando si carica una pagina WEB / 1

Il browser deve trasformare l'indirizzo del server in forma numerica

Viene interpellato un DNS per convertire, ad es., “www.dsi.unive.it” in “157.138.20.20”

Il browser apre una connessione TCP verso il server WEB

Utilizzando il protocollo HTTP, il client richiede la pagina al server

Es., /home/it/index.html

Cosa succede quando si carica una pagina WEB / 2

Il server spedisce al client la pagina richiesta, sempre usando il protocollo HTTP

La connessione tra client e server viene chiusa

Dipende dalla versione di HTTP utilizzata, nel caso di HTTP 1.1 la connessione potrebbe restare aperta

Il client inizia ad interpretare il contenuto della pagina ricevuta

Cosa succede quando si carica una pagina WEB / 3

Se la pagina contiene immagini, ciascuna immagine deve essere recuperata tramite una richiesta separata al server

Il browser dispone ora di tutti gli elementi e può visualizzare la pagina

Formato di una richiesta HTTP

GET /home/it/index.html HTTP/1.0

Comando

Pagina

Protocollo

Formato di una risposta HTTP

HTTP/1.0 200 OK

Date: Mon, 09 Feb 2004 18:16:29 GMT

Server: Apache/1.3.23 (Unix) (Red-Hat/Linux) PHP/4.1.2

X-Powered-By: PHP/4.1.2

Connection: close

Content-Type: text/html

<html>

<head>

<title>Index</title>

</head>

<body>

...

</body>

</html>

Intestazione

della risposta

Campi dell'

intestazione

(header fields)

Corpo della

risposta

Flusso dei messaggi
Architettura a due e tre livelli

Fonte: Schneider e Perry, Commercio elettronico, Apogeo

Intranet ed Extranet

Intranet

Rete privata, basata sulle tecnologie WEB, che ospita le applicazioni Internet su una rete locale

E' sostanzialmente una versione “chiusa” di Internet, messa in piedi per agevolare lo scambio di informazioni all'interno della propria azienda

Extranet

Estende il concetto di Intranet, prevedendo il collegamento della rete aziendale a quella dei suoi partner, clienti o fornitori

Intranet / 1

Le Intranet non sono molto diverse da Internet, salvo che solo certe persone hanno il permesso di accedervi

Basandosi su una architettura client/server, la gestione delle richieste di risorse funziona come su Internet

Richieste file

Posta elettronica

Scambio documenti

Servizi di stampa

Intranet / 2

Le Intranet sono un sistema diffuso ed economico per distribuire le informazioni aziendali

Una Intranet utilizza i protocolli di Internet

TCP/IP

FTP

Telnet

HTTP/HTML

Intranet / 3

L'uso di protocolli standard consente a diversi reparti aziendali di condividere informazioni

Le Intranet hanno prezzi abbordabili perché l'infrastruttura necessaria è spesso già presente se i calcolatori aziendali sono su una LAN

Intranet / 4

Applicazioni delle Intranet

Invio ai dipendenti di manuali, regolamenti interni, normativa

Comunicazione dei compiti a ciascun dipendente

Comunicazione delle specifiche tecniche dei prodotti

Invio elenco telefonico interno aggiornato

Addestramento del personale tramite corsi online

Intranet / 5

Una considerazione di tipo economico

Prima di considerare l'adozione di una Intranet in una azienda, è necessario valutarne l'impatto economico in termini di costi/benefici

In altre parole, occorre che il costo di installazione della Intranet sia ripagato dai risparmi derivanti dall'uso della rete

Tali benefici sono solitamente difficili da stimare

Extranet / 1

Le Extranet permettono di collegare tra di loro diverse Intranet per consentire alle aziende di condividere informazioni con i propri fornitori

Le informazioni vengono trasmesse sulla Extranet in modo sicuro

La Extranet sfrutta i protocolli di Internet

Ha lo scopo di creare una sottorete “sicura” che unisca più Intranet

Extranet / 2

Internet

Intranet 2

Intranet 4

Intranet 3

Intranet 1

Extranet / 3

Caso di studio: FedEx

Fino a qualche tempo fa, i clienti dovevano telefonare e comunicare un codice personale per sapere lo stato delle proprie consegne

Successivamente, FedEx ha distribuito un software per consentire agli utenti l'accesso al proprio database interno tramite un collegamento via modem

A seguito dell'avvento di Internet, questo software proprietario è stato eliminato e sostituito da una interfaccia WEB

Rete privata

E' una connessione dedicata che collega le Intranet di due aziende

E' una linea telefonica, che a differenza delle normali collega permenentemente i due soggetti

Vantaggi

Sicurezza: a parte le due aziende collegate, nessuno ha accesso al collegamento telefonico

Svantaggi

Costo

Ogni coppia di aziende collegate necessita una connessione dedicata

Virtual Private Network (VPN)

Le VPN sono state create per superare le limitazioni delle connessioni dedicate

In pratica, anziché usare la linea telefonica, si usa Internet e i suoi protocolli per trasferire dati sensibili

L'idea è simile alla Extranet

Una VPN è un tipo di Extranet

In generale, una Extranet può NON essere implementata tramite una VPN

Vantaggi delle VPN

Si può considerare una “corsia separata” dell'autostrada Internet

Le VPN sono un modo relativamente semplice e sicuro per unire diverse Intranet

La soluzione basata sulle VPN scala molto bene all'aumentare del numero di partner che vogliono condividere informazioni

VPN

Fonte: Schneider e Perry, Commercio elettronico, Apogeo

La connessione in rete / 1

Esistono fornitori di connettività a Internet detti Internet Service Providers (ISP)

Gli ISP offrono diverse modelità di connessione a Internet

Caratterizzate da tecnologie diverse...

...velocità di trasferimento diverse...

...e ovviamente costi diversi!

Larghezza di banda=velocità effettiva di trasmissione dei dati

La connessione in rete / 2

Upstream

Collegamento da voi al ISP

Downstream

Collegamento dal ISP a voi

ISP

Internet Service Provider

Cliente

Upstream

Downstream

Le modalità di connessione a Internet

Modalità	Velocità	Velocità	Tariffa	Canone

di upstream	di downstream	di ingresso	mensile

(Kbps)	(Kbps)	(US$)	(US$)

Modem	56	56	20	20

ISDN	128	128	400	80

Modem via cavo	500	1500	200	50

Linea T1	1544	1544	3000	1100

ADSL	640	9000	3000	1000

Linea T3	44700	44700	7500	8000

ATM	622000	620000

Alcune considerazioni sul
“valore della rete”

Sia n il numero degli utenti di una rete

Sistema di distribuzione: rete broadcast (ad esempio Radio/TV)

Il valore della rete è O(n), cioè proporzionale al numero dei suoi utenti

Sistema di comunicazione: rete telefonica o e-mail

Il valore della rete è O(n2), ossia proporzionale al quadrato del numero degli utenti

Sistemi peer-to-peer

O(2n)

Legge di Sarnoff:
Sistemi di distribuzione

Supponiamo di possedere una fattoria, con 10 clienti che acquistano una bottiglia di latte al giorno, spendendo 1 euro ciascuno

Se ampliamo il parco clienti del 10% acquisendo un nuovo cliente, i nostri ricavi aumenteranno anch’essi del 10%

Legge di Sarnoff
“Il valore di una rete di distribuzione cresce in proporzione al numero di utenti”

Numero di collegamenti
in una rete

2 nodi

1 arco

3 nodi

3 archi

4 nodi

6 archi

5 nodi

10 archi

In generale: n nodi, n(n-1)/2 archi

Legge di Metcalfe:
reti di comunicazione

Supponiamo di possedere una rete telefonica con 10 utenti che si telefonano l’un l’altro una volta al giorno, pagando 1 cent per telefonata

Incasso giornaliero: (10*9)/2 = 45

Se acquisiamo un nuovo utente, il numero
dei clienti aumenta del 10%, ma i ricavi
aumenteranno del 22% ! Infatti:

Incasso giornaliero: (11*10)/2 = 55 = 45 * 1,22

Cosa significa tutto ciò?

Supponiamo di dover scegliere di entrare a far parte di una rete. Abbiamo due alternative

Una rete di grandi dimensioni con tanti utenti

Una rete di piccole dimensioni con pochi utenti

Sicuramente sceglieremo la rete affollata

E più la rete diventa affollata, più diviene conveniente entrare a farvi parte

Questo spiega perché oggi abbiamo un unico sistema di posta elettronica, quando fino a pochi anni fa erano dozzine

Ancora oltre...

Il numero di gruppi di persone che si possono formare su Internet non è né n né n²

Ci sono circa 2n sottoinsiemi in un insieme di n elementi

Quindi, il valore di Internet cresce in proporzione a 2n. Questo numero diventa spaventosamente grande al crescere di n

Potenze di 2

Ricordate la storia araba del sultano che vuole ringraziare un bravo ministro offrendogli quello che questo chieda? Il ministro risponde che vuole soltanto due chicchi di riso nella prima casella di una scacchiera, quattro nella seconda, otto nella terza e via così – una progressione basata su 2n. Il re dopo aver deposto 8192 chicchi sulla 13a casella realizzò di colpo che non avrebbe avuto abbastanza riso per soddisfare la richiesta — 264: è più di 1018

Su Internet / 1

Tutte e tre le leggi si applicano a Internet

Servizi come i siti di notizie destinati ai singoli individui beneficiano dei nuovi utenti in modo lineare

Servizi commerciali che facilitano le transazioni beneficiano dei nuovi utenti in modo quadratico

Servizi che costruiscono comunità, come AOL, beneficiano di nuovi utenti in modo esponenziale

Su Internet / 2

La cosa importante è che il valore dominante di una rete tipica tende a variare dapprima come la legge di Sarnoff, poi come quella di Metcalfe e infine in modo esponenziale, man mano che la dimensione della rete aumenta

2003-12-06T15:43:58