GSMWORLD.it



WAP
Home

Introduzione
Cos'é Wap?
Il WAP Forum
Perché Wap?
Architettura
WAP Gateway
WAP e Web server
Sicurezza
Stack WAP

Configurazione
FAQ
Glossario

WML
TUTORIAL
Indice
Cos'é il WML?
La sintassi
Formattazione
Il primo deck
Tag 'DO'
Link
Template e timer
Immagini
Variabili
Un deck completo
Form e input
Form e select
WAP browser
I nostri consigli

Risorse/Emulatori
Risorse/Toolkit

GSMWORLD
Home
Tecnologia
News
Ricerca
Glossario
Contattaci


Ricerca
Ricerca un termine
in GSMWORLD:



webstat
GSMWORLD.it

WAP: il futuro nel telefonino

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:

  • un file HTML è definito dal tipo MIME text/html
  • un file di testo normale dal tipo text/plain
  • una immagine JPEG dal tipo image/jpeg
  • una immagine JPEG dal tipo image/gif

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


Stampa questa pagina






GSMWORLD...viaggio nel mondo del GSM...
Copyright © Marcello Scatà 1997-2002 - Ultima modifica domenica 7 novembre 2004
Execution time 3680 ms