GSMWORLD.it...viaggio nel mondo del GSM... GSMWORLD.it

Dal WAP Gateway al WEB Server

 

Tutte le pagine WML di un determinato sito WAP sono fisicamente residenti su un normale Web server (Apache, Linux, IIS, etc), a patto che quest'ultimo sia "predisposto" ad accettare file di tipo: WML, WMLS (WML Script) e WBMP (le immagini in formato WAP).

Supponiamo si voglia visitare un sito WAP, vediamo come avviene la chiamata e la codifica dal lato server. L'utente fa una chiamata al proprio operatore col suo telefonino WAP e si connette. La nostra richiesta di accedere un certo sito avviene specificando il suo URL, il telefonino allora interroga il WAP Gateway chiedendogli di trasmettergli la pagina specificata. Questo inoltra la richiesta al Web server che ospita la pagina, traducendo la richiesta nel corretto comando HTTP. Il Web server quindi ritorna al WAP Gateway il contenuto della pagina per mezzo sempre del protocollo HTTP; e quest'ultimo, dopo averlo decodificato e codificato con il protocollo WAP, inoltra il deck WML al telefonino WAP.

Perché tutto questo processo funzioni è fondamentale configurare opportunamente il proprio telefonino, indicando l'indirizzo IP del WAP Gateway da utilizzare; senza questo parametro per il telefonino sarebbe impossibile accedere alla rete e navigare.

Architettura WAP

 

CONFIGURARE UN WEB SERVER PER IL WML/WAP

Cosa succede quando un terminale WAP si collega ad Internet per accedere ad un qualsiasi sito WML.

L’access server del fornitore di accesso (ISP, MIP o gestore) riceve la chiamata, verifica userid e password impostate quindi assegna un indirizzo IP al terminale WAP, così come avviene per una normale connessione da un PC fisso, e mette in comunicazione diretta il terminale WAP con il WAP Gateway (di cui si è specificato l’indirizzo IP tra i parametri di configurazione; è evidente quindi l’importanza di una corretta impostazione del telefonino pena la non raggiungibilità del WAP Gateway).

Il WAP Gateway ha il compito di trascodificare le comandi e risposte dal protocollo WAP al protocollo HTTP e viceversa. La trascodifica si rende necessaria dal momento che il colloquio tra il cellulare ed il WAP Gateway avviene in formato codificato per poter ridurre al minimo la quantità di dati trasferiti sulla poca e preziosa banda a disposizione.

Ogni oggetto trasferito da un Web Server viene descritto da un tipo MIME che ne specifica il formato e che viene inviato prima dell'oggetto per permettere al browser di trattarlo in maniera opportuna, ad esempio conoscere il formato dell'immagine in modo da utilizzare il corretto filtro/algoritmo di visualizzazione. I tipi MIME sono composti da tipo/sottotipo, eccone alcuni:

Se non fosse per questo, un browser non saprebbe come trattare i dati che giungono dalla rete e permetterebbe all'utente solo di salvarli su disco.

E' quindi necessario configurare il Web server per poter gestire anche i tipi MIME relativi alle nuove estensione del WAP: .wml, .wmlc, ,wbmp, etc. Il browser WAP, inviata una richiesta per una pagina WAP si aspetta in risposta dei dati che siano contraddistinti dal tipo text/vnd.wap.wml, mentre un normale Web Server risponderebbe con il tipo text/html tipico di una classica pagina Web in HTML che non sarebbe riconosciuta dal microbrowser dei telefonini WAP.
Vanno quindi configurati i seguenti tipi MIME:

wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
Wmlsc application/vnd.wap.wmlscriptc
Wmlscript text/vnd.wap.wmlscript
Ws text/vnd.wap.wmlscript
Wsc application/vnd.wap.wmlscriptc
Wmls text/vnd.wap.wmlscript
Wbmp image/vnd.wap.wbmp

Nel caso in cui non siate in grado di farvi impostare dal vostro amministratore del server i MIME type, si può ricorrere ad un piccolo trucchetto: i linguaggi di programmazione Web Server Side come ASP, PHP, Cold Fusion etc. danno la possibilità di settare in maniera dinamica il MIME type della pagina che si sta generando.

Per verificare se il vostro Web server è già configurato per supportare i MIME type WAP create un piccolo deck WML e scaricatelo sul server con i metodi tradizionali (via FTP o altro).

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="ciao" title="ciao">
   <p>
      Ciao<br/>
      Questa e' una card in WML.
   </p>
</card>
</wml>

Se richiamando la pagina da un terminale WAP (o un emulatore) otterrete una risposta del tipo "Connessione al server rifiutata" o "Contenuto file sconosciuto", il Web server non è stato configurato.

Contenuto file sconosciuto

Con ASP è possibile ovviare al problema semplicemente aggiungendo come prima riga del deck il comando:

<% Response.ContentType = "text/vnd.wap.wml" %>

e salvando la pagina con estensione .asp (e non più .wml). Richiamandola ora il tutto dovrebbe funzionare. Il comando ASP ContentType permette infatti di specificare "al volo" il tipo MIME della pagina che si sta generando. Ecco il risultato:

Card Ciao




DISCLAIMER GSMWORLD.it consente all'utente di utilizzare il contenuto della presente pagina a condizione che: a) il documento serva solo a scopi informativi; b) il documento sia usato solo per scopi personali e comunque non commerciali; c) si faccia riferimento all'autore, quando il documento viene usato. GSMWORLD.it non si assume alcuna responsabilità per qualsiasi materiale realizzato o pubblicato da Terzi che sono linkati direttamente da questa pagina. Tutti i marchi, i nomi dei prodotti e dei servizi citati sono registrati dai rispettivi proprietari.

Copyright © Marcello Scatà 1997-2002
URL http://www.gsmworld.it/wapmania/default.asp?url=%2fwapmania%2fwap_to_webserver.asp
Stampato sabato 23 novembre 2024 05:51:24