Dopo aver studiato l’API di messaggistica implementeremo un’applicazione completa, che ne illustri in modo maggiormente pratico l’utilizzo. Tale applicazione realizzerà un
portale, caricato dal sito
http://portalwidgets.com:81, dal quale potremo scegliere dei widget (mini applicazioni web) che ci forniranno dei servizi.
In particolare avremo un
widget delle mappe con il quale, dati i valori di latitudine e longitudine, avremo in risposta la visualizzazione della relativa posizione geografica; un
widget delle news, il quale, selezionando una categoria di notizie, ci restituirà un sommario informativo; un
widget per il meteo grazie al quale, data una città, otterremo in risposta le condizioni atmosferiche; un
widget time che restituirà l'orario, scegliendo una città.
Tuttavia, prima di vederne il codice precisiamo che per progettare e utilizzare l'applicazione, dobbiamo avere, chiaramente, dei domini differenti da cui servire le pagine web. Per ottenere tale risultato, o abbiamo differenti server, che girano su diversi domini, oppure dobbiamo trovare un modo per associare differenti domini a un solo web server.
Nel nostro caso, useremo l’ultima opzione, mediante la tecnica del
name-based virtual hosting per effetto della quale un web server risponde su un solo indirizzo IP a cui sono, però, associati più nomi DNS dei siti web ospitati.
A tal fine vediamo
come utilizzare tale tecnica spiegando le
fasi di configurazione da compiere con il web server
Apache 2.2 in ambiente Windows. Creiamo la directory radice
c:\virtual_hosts, e poi in essa le seguenti sotto-directory rappresentanti la
root del rispettivo sito di dominio:
portalwidgets,
widgetmap,
widgetnews,
widgettime,
widgetweather.
Editiamo il file
c:\windows\system32\drivers\etc\hosts e inseriamo le righe seguenti con cui associamo all’indirizzo di
loopback i nomi di dominio specificati:
127.0.0.1 portalwidgets.com
127.0.0.1 widgetmap.com
127.0.0.1 widgetnews.com
127.0.0.1 widgettime.com
127.0.0.1 widgetweather.com
Editiamo il file di configurazione
httpd.conf di Apache ed eliminiamo il simbolo di commento dalla seconda riga della sezione seguente; quindi attribuiamo alla direttiva
Listen il valore 81:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Editiamo il file
conf/extra/httpd-vhosts.conf di Apache e inseriamo le seguenti direttive, ponendo attenzione al fatto che abbiamo inserito anche la
document root del sito principale, che è disabilitata automaticamente se è attivato il virtual hosting:
NameVirtualHost *:81
# impostazione permessi
<Directory C:/virtual_hosts>
Order Deny,Allow
Allow from all
</Directory>
<Directory C:/APACHE_WWWROOT/>
Order Deny,Allow
Allow from all
</Directory>
# impostazione virtual hosts
<VirtualHost *:81>
DocumentRoot C:/virtual_hosts/portalwidgets
ServerName portalwidgets.com
</VirtualHost>
<VirtualHost *:81>
DocumentRoot C:/virtual_hosts/widgetmap
ServerName widgetmap.com
</VirtualHost>
<VirtualHost *:81>
DocumentRoot C:/virtual_hosts/widgetnews
ServerName widgetnews.com
</VirtualHost>
<VirtualHost *:81>
DocumentRoot C:/virtual_hosts/widgettime
ServerName widgettime.com
</VirtualHost>
<VirtualHost *:81>
DocumentRoot C:/virtual_hosts/widgetweather
ServerName widgetweather.com
</VirtualHost>
<VirtualHost *:81>
DocumentRoot C:/APACHE_WWWROOT
ServerName localhost
</VirtualHost>
- Pubblicazioni correlate:
- 10-05-2010 Guida ad HTML5: storia della sua nascita (1/3)
- 11-05-2010 Guida ad HTML5: storia della sua nascita (2/3)
- 17-05-2010 Guida ad HTML5: storia della sua nascita (3/3)
- 18-05-2010 Guida ad HTML5: supporto dei browser (1/6)
- 24-05-2010 Guida ad HTML5: supporto dei browser (2/6)
- 25-05-2010 Guida ad HTML5: supporto dei browser (3/6)
- 31-05-2010 Guida ad HTML5: supporto dei browser (4/6)
- 01-06-2010 Guida ad HTML5: supporto dei browser (5/6)
- 07-06-2010 Guida ad HTML5: supporto dei browser (6/6)
- 08-06-2010 Guida ad HTML5: l'elemento canvas, l'area del disegno
- 14-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (1/4)
- 18-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (2/4)
- 21-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (3/4)
- 25-06-2010 Guida ad HTML5: l’elemento canvas, disegno di forme geometriche (4/4)
- 28-06-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (1/4)
- 02-07-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (2/4)
- 05-07-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (3/4)
- 09-07-2010 Guida ad HTML5: l’elemento canvas, immagini e testo (4/4)
- 12-07-2010 Guida ad HTML5: l’elemento canvas, manipolazione diretta dei pixel (1/2)
- 16-07-2010 Guida ad HTML5: l’elemento canvas, manipolazione diretta dei pixel (2/2)
- 19-07-2010 Guida ad HTML5: l’elemento canvas, sfumature
- 23-07-2010 Guida ad HTML5: l’elemento canvas, ombreggiature
- 26-07-2010 Guida ad HTML5: l’elemento canvas, compositing (1/2)
- 30-07-2010 Guida ad HTML5: l’elemento canvas, compositing (2/2)
- 30-08-2010 Guida ad HTML5: l’elemento canvas, stili di linea e pattern (1/2)
- 03-09-2010 Guida ad HTML5: l’elemento canvas, stili di linea e pattern (2/2)
- 06-09-2010 Guida ad HTML5: multimedialità, concetti propedeutici (1/2)
- 10-09-2010 Guida ad HTML5: multimedialità, concetti propedeutici (2/2)
- 13-09-2010 Guida ad HTML5: multimedialità, l'elemento video
- 17-09-2010 Guida ad HTML5: multimedialità, gli elementi audio e source
- 20-09-2010 Guida ad HTML5: multimedialità, scripting dei media element (1/6)
- 24-09-2010 Guida ad HTML5: multimedialità, scripting dei media element (2/6)
- 27-09-2010 Guida ad HTML5: multimedialità, scripting dei media element (3/6)
- 01-10-2010 Guida ad HTML5: multimedialità, scripting dei media element (4/6)
- 04-10-2010 Guida ad HTML5: multimedialità, scripting dei media element (5/6)
- 08-10-2010 Guida ad HTML5: multimedialità, scripting dei media element (6/6)
- 11-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (1/7)
- 15-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (2/7)
- 20-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (3/7)
- 22-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (4/7)
- 25-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (5/7)
- 29-10-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (6/7)
- 05-11-2010 Guida ad HTML5: multimedialità, realizzazione di un player video (7/7)
- 08-11-2010 Guida ad HTML5: storage per le web application (1/3)
- 12-11-2010 Guida ad HTML5: storage per le web application (2/3)
- 15-11-2010 Guida ad HTML5: storage per le web application (3/3)
- 19-11-2010 Guida ad HTML5: eseguire codice JavaScript in background (1/3)
- 22-11-2010 Guida ad HTML5: eseguire codice JavaScript in background (2/3)
- 26-11-2010 Guida ad HTML5: eseguire codice JavaScript in background (3/3)
- 29-11-2010 Guida ad HTML5: applicazioni web offline (1/5)
- 03-12-2010 Guida ad HTML5: applicazioni web offline (2/5)
- 06-12-2010 Guida ad HTML5: applicazioni web offline (3/5)
- 10-12-2010 Guida ad HTML5: applicazioni web offline (4/5)
- 13-12-2010 Guida ad HTML5: applicazioni web offline (5/5)
- 17-12-2010 Guida ad HTML5: la geolocalizzazione (1/4)
- 20-12-2010 Guida ad HTML5: la geolocalizzazione (2/4)
- 24-12-2010 Guida ad HTML5: la geolocalizzazione (3/4)
- 27-12-2010 Guida ad HTML5: la geolocalizzazione (4/4)
- 31-12-2010 Guida ad HTML5: microdata (1/4)
- 03-01-2011 Guida ad HTML5: microdata (2/4)
- 10-01-2011 Guida ad HTML5: microdata (3/4)
- 14-01-2011 Guida ad HTML5: microdata (4/4)
- 17-01-2011 Guida ad HTML5: drag and drop (1/5)
- 21-01-2011 Guida ad HTML5: drag and drop (2/5)
- 24-01-2011 Guida ad HTML5: drag and drop (3/5)
- 28-01-2011 Guida ad HTML5: drag and drop (4/5)
- 31-01-2011 Guida ad HTML5: drag and drop (5/5)
- 04-02-2011 Guida ad HTML5: nuovi elementi semantici (1/6)
- 07-02-2011 Guida ad HTML5: nuovi elementi semantici (2/6)
- 11-02-2011 Guida ad HTML5: nuovi elementi semantici (3/6)
- 14-02-2011 Guida ad HTML5: nuovi elementi semantici (4/6)
- 18-02-2011 Guida ad HTML5: nuovi elementi semantici (5/6)
- 21-02-2011 Guida ad HTML5: nuovi elementi semantici (6/6)
- 25-02-2011 Guida ad HTML5: l’API di messaggistica (1/8)
- 28-02-2011 Guida ad HTML5: l’API di messaggistica (2/8)
- 04-03-2011 Guida ad HTML5: l’API di messaggistica (3/8)
- 07-03-2011 Guida ad HTML5: l’API di messaggistica (4/8)
- 11-03-2011 Guida ad HTML5: l’API di messaggistica (5/8)
- 14-03-2011 Guida ad HTML5: l’API di messaggistica (6/8)
- 21-03-2011 Guida ad HTML5: l’API di messaggistica (8/8)