WAP
WAP è un protocollo di comunicazione e linguaggio markup (cugino dell'HTML che viene usato sul web multimediale di Internet) modellato sulle esigenze dei terminali mobili: telefoni cellulari e satellitari, comunicatori, pagers e altri apparecchi per la comunicazione senza fili.
Del suo sviluppo si occupa un Forum a livello mondiale, che raduna produttori di telefonia e di apparecchiature elettroniche ed informatiche, operatori di rete, sviluppatori di software.
L'obiettivo è rendere possibile la distribuzione di servizi multimediali evoluti per la comunicazione a distanza (del tipo di quelli che si stanno sviluppando su Internet ad un ritmo sempre più veloce) tramite i terminali mobili.
Gli standard utilizzati per terminali fissi come i computer residenziali non sono adatti al terminale mobile. Ci sono problemi di velocità, di leggibilità delle pagine per le piccole dimensioni degli schermi dei telefonini, ed altri ostacoli ancora.
Il nuovo protocollo, di cui si stanno rilasciando le prime versioni, permetterà lo sviluppo di applicazioni progettate su misura per cellulari ed altri terminali mobili e di piccole dimensioni.
Ad esempio, nuovi mini-browsers adatti allo schermo dei cellulari. Dall'altro lato, i fornitori di servizi stanno studiando applicazioni che offrano all'utente informazioni utili (cataloghi commerciali, dati sul traffico, orari di mezzi di trasporto, facoltà di commercio elettronico... le possibilità di applicazione sono infinite) in modo rapido ed efficiente.
Lo scopo ultimo di WAP e' qualificarsi come punto di convergenza di due tecnologie in rapido sviluppo, le comunicazioni wireless e Internet.
Buona parte della tecnologia sviluppata per Internet e' pensata avendo come base computer di classe medio alta, bande trasmissive piuttosto ampie, reti dati generalmente affidabili. Di contro, gli apparecchi wireless di uso quotidiano hanno caratteristiche computazionali estremamente limitate se comparate anche solo a computer di classe desktop. In generale, gli apparecchi wireless si differenziano per:
• CPU di minor potenza
• minor quantita' di memoria (RAM e ROM)
• consumo energetico limitato
• piccoli display
• diversi dispositivi di input
Similmente, le reti di dati wireless presentano un ambiente di comunicazione molto limitato, se comparato ai sistemi di trasmissione via cavo. A causa delle intrinseche limitazioni della tecnologia, le reti wireless, se comparate con le normali rete cablate, presentano:
• minor banda
• latenza maggiore
• minor stabilita' di connessione
• minor capacita' di prevedere la disponibilita'
Tenendo conto di queste limitazioni, e cercando di riutilizzare il piu' possibile le tecnologie esistenti, i requisiti dell'architettura WAP sono stati cosi' fissati:
• riciclo dove possibile gli standard esistenti
• definizione un architettura stratificata, scalabile ed estensibile
• supporto di quante piu' reti wireless possibile
• ottimizzazione per bande limitate con potenziale alta latenza
• ottimizzazione per un uso efficente delle limitate risorse
• supporto per applicazioni e comunicazioni sicure
• possibilita' di creare interfacce uomo-macchina con la massima flessiblita'
• possibilita' di poter accedere alle funzionalita' standard dell'apparecchio
• facilitare la progettazione di servizi
• rendere disponibile un modello di programmazione per servizi telefonici ed integrazione fonia
Il Modello WAP
Il paradigma di programmazione WAP e' molto simile a quello normalmente usato in ambiente WWW. I contenuti e le applicazioni, i protocolli di comunicazione, il micro browser nei terminali, sono sviluppati basandosi sui ben noti formati collaudati nel WWW.
Un set di componenti standard e' definito in WAP:
• modello di nomenclatura: URL e URI seguono le stesse direttive definite nel protocollo HTTP
• contenuti: ovvero la caratterizzazione MIME a cui si aggiungono elementi caratteristici dei telefoni: rubriche, calendari, etc.
• componenti: link ipertestuali, immagini, linguaggio di scripting
• protocolli di comunicazione: abilitano la comunicazione tra il micro browser incluso nel terminale e un server di contenuti
I protocolli e i contenuti WAP sono stati pensati in modo da poter utilizzare normali server web come server di contenuti, utilizzando uno speciale proxy per la traduzione dei protocolli e la compressione dei dati. L'utilizzo di normali server web rende possibile l'uso di script CGI o l'integrazione con moduli quali il PHP.
Componenti dell'architettura WAP
La stratificazione di WAP, rifacentesi alla struttura ISO-OSI per la definizione di un architettura di rete, ha questo aspetto:
WIRELESS APPLCATION LAYER (WAE)
Un ambiente general-purpose per lo sviluppo di applicazioni e servizi.
• WML
• WMLScript
• Wireless Telephony Application, per accedere ai servizi di telefonia
• Content Format
WIRELESS SESSION PROTOCOL (WSP)
Dispone di due tipi di sessione, orientata alla connessione e non.
• funzionalita' HTTP/1.1
• sospensione e riattivazione di sessione, con migrazione
• Data push di tipo affidabile e non
• negoziazione del protocollo
WIRELESS TRANSACTION PROTOCOL (WTP)
Fornisce un protocollo orientato alla connessione.
• Tre classi di transazioni: richieste one-way inaffidabili, richieste one-way affidabili, richieste two-way affidabili
• affidabilita' user-to-user, opzionale
• out-of-band data ack, opzionale
• concatenazione segmenti e ack ritardati
• transazioni asincrone
WIRELESS TRANSPORT LAYER SECURITY (WTLS)
Basato sullo standard Transport Layer Security (TLS), gia' noto come Secure Socket Layer (SSL).
• integrita' dei dati
• privacy
• autenticazione
• protezione da attacchi denial of service.
WIRELESS DATAGRAM PROTOCOL (WDP)
Servizio generico di trasporto, comunica in modo trasparente con il livello sottostante, fornendo un interfaccia base per i livelli superiori.
BEARERS
Il "canale fisico" su cui viaggiano i dati. GSM, SMS, reti a commutazione di circuito o di pacchetto, etc.
WML e XML
XML è un meta-language definito da W3C.
Questo specifica una serie di regole per creare altri linguaggi per applicazioni specifiche.
I contenuti non sono direttamente codificati in XML, ma in un linguaggio markup definito usando XML.
WML è un esempio di linguaggio specifico per applicazioni wireless che è allineato alle specifiche XML.
WML è quindi una applicazione XML.