WAP - Wireless Application Protocol

Ve druhé polovině 90. let došlo k masovému rozvoji mobilních telefonů a mobilních přístrojů vůbec. Stále lepší přístroje nabízely více a více možností svého uplatnění než jen telefonování. Spolu s tím obrovský rozmach internetu dal podnět k tomu, že se několik předních výrobců mobilních zařízení (Ericsson, Motorola, Nokia a Unwired Planet) sdružilo v organizaci WAP forum (http://www.wapforum.org). Jejím prvním počinem bylo uvolnění specifikace protokolu WAP (Wireless Application Protocol) 30. dubna 1998. Standart s označením WAP 1.0 popisoval technologie a protokoly nebytné pro provoz služeb velice podobným internetu, ale v prostředí omezených podmínek mobilních zařízení:
málo výkonné CPU
malá velikost paměti
omezená spotřeba el. energie
malý displej
jednoduché ovládací prvky

Vývojový tým musel počítat s nevýhodami, které plynou z konstrukce mobilních zařízení - například malá šířka pásma, pomalejší odezva, nižší stabilita spojení a méně předvídatelná dostupnost zařízení v síti. Vytvářený standart musel splňovat následující podmínky, aby jej bylo možno použít v mobilních sítích:
Interoperabilita - schopnost spolupráce zařízení od různých výrobců
Škálovatelnost - operátoři mobilní sítě musí být schopni měnit služby na požadavky zákazníků
Spolehlivost - poskytovat stálou nabídku služeb, bez poruch a výkyvů jejich kvality.
Bezpečnost - ochrana zařízení a služeb před bezpečnostními problémy jako jsou například útoky typu Denial Of Service (tzv. DOS - útok nadměrným zatížením některé z nabízených služeb)
A od vytvářeného standartu požadovali:
vliv existujících standartů všude tam, kde je to možné
definovat vrstevnou, škálovatelnou a rozšiřitelnou architekturu
podporovat co nejvíce bezdrátových sítí (nejen GSM)
optimalizace pro úzkopásmový přenos s potencionálně dlouhou odezvou
optimalizace pro efektivní použití všech prostředků přístroje (malá paměť, použití CPU, zdroje napájení)
poskytnout podporu pro bezpečné aplikace a komunikaci
poskytnout programátorský model pro telefonní služby

První telefony podporující WAP se objevily na trhu koncem roku 1999 a na přelomu roku 1999 a 2000 spustili WAP i čeští operátoři. Poměrně rychle se rozrostla i nabídka telefonů, které WAP podporují (Nokia 7110, Motorola T2288, Ericsson R320, Alcatel One Touch View,...).
Jak to funguje?
WWW Model

Architektura WWW nabízí velmi pružný a silný programátorský model. Odpověď serveru je předávána ve standartním datovém formátu a je zobrazována aplikací nazývané Internetový prohlížeč. Tento prohlížeč je síťový program, který zasílá požadavky na konkrétní data na server. Server je zasílá podle datového standartu zpět klientovi.




Pro vytvoření těchto konkrétních aplikací byly použity následující standarty:
Standard naming model - Uniform Resource Locator (URL) RFC1738, RFC1808
Content typing - RFC2045, RFC2048
Standard content formats - HTML, JavaScript
Standard protocols HTTP - RFC2068
WAP Model

Programátorský model WAPu je velmi podobný modelu WWW. To poskytuje vývojářům hned několik výhod. Mohou používat podobné nástroje (Webové servery, XML,...) Optimalizace a rozšíření byly provedeny s ohledem na bezdrátové prostředí, ve kterém se tento model bude využívat. A všude, kde to bylo možné se použily již existující standarty.


Aplikace používající WAP jsou založeny na komunikačních protokolech WWW a WAPový terminál (micro browser) je analogický webovému prohlížeči.

Generátor obsahu (Content generator) - Aplikace, které odpovídají na požadavky zaslané z mobilního terminálu. WAE nespecifikuje žádný standart, kterému by tyto generátory měly odpovídat, ale předpokládá že se bude jednat o varianty založené na HTTP serverech, které se dnes na internetu používají.

Standart Content Encoding - Množina operací pro kódování, které umožňují WAE klientům procházet síť. Standartní kódování zahrnuje kompresní kódování WML, kódování WMLScriptu, standartních obrazových formátů (interně je použit speciální formát BMP - WBMP (Wireless Bitmap Format)) a formáty obchodních a kalendářních dat.

WAE User Agent - Program, který je obsažen v koncovém mobilním zařízení. Je integrovaný do architektury WAPu. Jeho hlavní činností je interpretace obsahu dat přístupných na síti na která se uživatel odkazuje pomocí URL. Standartně zpracovává dva typy dat: kódované WML (Wireless Markup Language) a kompilovaný WMLScript (Wireless Markup Language Script)

WAP definuje sadu standartních komponent, které umožňují komunikaci mezi mobilní stanicí a síťovými servery:
Standard naming model - WWW standart URL se používají na identifikaci WAPového obsahu na serveru. WWW standart URI (Universal Resource Identifier) se používají na identifikaci lokálních zdrojů zařízení (např. funkce kontrolující hovory)
Content typing - veškerá data WAP jsou reprezentována v souladu s WWW reprezentací.
Standard comunication protocol - komunikační protokol WAPu umožňuje komunikaci požadavků prohlížeče z mobilního zařízení a síťového web serveru.
Typy obsahu a protokoly byly optimalizovány pro masový prodej přenosných bezdrátových zařízení. WAP využívá proxy technologii ke spojení bezdrátové sítě a WWW. A WAPové proxy je typicky spojení následujících dvou věcí:
Protokolová brána - překládá požadavky mezi protokolem WAP (WSP, WTP, WTLS a WDP) a protokolem WWW (HTTP a TCP/IP).
Kodéry a dekodéry - kódování WAPových dat do kompaktního formátu s mnohem menší velikostí, aby se omezilo množství dat, které bude přes síť přenášeno.

Tato infrastruktura umožňuje programátorům vytvořit velmi širokou škálu programů, které budou fungovat na většině mobilních přístrojů podporujících tento standart. WAP proxy umožňuje umístění dat a aplikací na běžném WWW serveru a vývoj běžnými vývojovými nástroji jako je např. CGI skripty.

I když běžné použití WAPu zahrnuje WAP server, proxy a klienty. Může být WAP architektura implementována na mnoha dalších konfiguracích. Jednou z nich je například integrace WAP proxy přímo na server, kde jsou uložena data. Tímto se velmi usnadní správa celého systému a hlavně, když jsou tyto součásti na jednom místě, je jednodušší systém zabezpečit.

Jako ilustrativní příklad si můžeme uvést následující obrázek:


Na obrázku mobilní telefon komunikuje se dvěma servery v bezdrátové síti. WAP proxy překládá požadavky z WAP na požadavky WWW a přeposílá je na WWW server. A naopak proxy kóduje data, přicházející ze serveru, do kompaktní binární formy srozumitelné pro mobilního klienta. Pokud WWW server odpovídá v jazyce HTML, tak jsou data posílána ještě přes filtr HTML a překládána např. do WML.

Wireless Telephony Application (WTA) je příklad serveru, který na požadavky odpovídá přímo. WTA se používá pro přístup k funkcím, které nabízí infrastruktura bezdrátové sítě. Uživatelům mobilních zařízení poskytuje další rozšiřující služby, které by nemusely být jiným způsobem realizovatelné, případně sjednocuje a zpřehledňuje k těmto službám přístup.

Typická komunikace probíhá tak, že mobilní zařízení zašle požadavek na server, který jej zpracovává a výsledky zasílá přes bránu zpět. Ale ne vždy je nutné, aby o data žádal klient. Také je možné zaslání bez předchozí žádosti.


Server nečeká na žádné požadavky od klienta, ale vygeneruje nějaká data, která posílá přes bránu na mobilní zařízení. Tyto akce mohou být prováděny například pro zasílání informačních dat, aby byl vlastník zařízení neustále informován.
Části architektury WAP

WAP architektura nabízí škálovatelné a rozšiřitelné prostředí na vývoj aplikací pro mobilní zařízení. Protože celý model je složen z vrstev, je jen na programátorovi, aby se rozmyslel, pro jakou úroveň chce svoji aplikace vytvářet.


Tato vrstevnatá architektura umožňuje aplikacím přistupovat přímo k jednotlivým transakcím, zabezpečení a transportní vrstvě. Pro každou vrstvu je definováno standartní komunikační rozhraní, které lze využít.

Aplikační vrstva
Wireless Application Environment (WAE) nejvýše položená vrstva je založena na kombinaci WWW a technologie mobilních přístrojů. Její snahou je nabídnout programátorské prostředí, které umožní rychle vyvíjet aplikace a služby nezávislé na široké škále bezdrátových platforem. WAE zahrnuje prostředí mikroprohlížeče obsahující následující funkce:

Wireless Markup Language (WML) - odlehčený značkovací jazyk, podobný HTML, ale optimalizovaný pro použití mobilní terminály.
WMLScript - odlehčený skriptovací jazyk, obdoba JavaScriptu.
Wireless Telephony Application (WTA, WTAI) - telefonní služby a programátorské rozhraní.
Content Formats - množina nadefinovaných datových formátů, zahrnující obrázky, záznamy telefonního seznamu a naplánované úkoly.


Relační vrstva
Wireless Session Protocol (WSP) - poskytuje aplikační vrstvu, která má dva typy komunikačních rozhraní. První je služba orientovaná na komunikaci nad transakčním protokolem WTP a druhá působí nad datagramovou službou WDP. WSP aktuálně obsahuje rozhraní umožňující provozovat mikroprohlížeče (WSP/B). WSP/B nabízí následující funkce:
HTTP/1.1 funkce
dlouhodobě navázané spojení
přerušování a obnovování spojení, při přesunu mobilního zařízení
obecné vybavení pro spolehlivý přenos dat metodou push
Protokoly v této vrstvě jsou optimalizované pro sítě s úzkopásmovým přenosem a s poměrně dlouhou dobou odezvy. WSP/B je navrženo tak, aby umožnilo spojení WAP proxy s HTTP serverem.

Transakční vrstva
Wireless Transaction Protocol (WTP) - WTP běží na vrcholu datagramové komunikace. Poskytuje odlehčený transakční protokol pro implementaci "thin" klientů. Poskytuje následující funkce:
tři druhy transakčních služeb
nejistý jednosměrný požadavek (bez potvrzení o doručení)
jistý jednosměrný požadavek
jistý obousměrný požadavek
spolehlivost typu user-to-user - každá doručení zprávy je potvrzováno.
zpožděné potvrzování, aby se redukoval počet zasílaných zpráv
asynchonní přenos transakcí

Bezpečnostní vrstva
Wireless Transport Layer Security (WTLS) WTLS je protokol vycházející z průmyslového standartu Transport Layer Security (TLS) protokol, dříve známý jako Secure Socket Layer (SSL). WTLS je určený pro použití s transportním protokolem WAPu a byl optimalizován pro úzkopásmové komunikační kanály. Poskytuje následující funkce:
Integrita dat - WTLS obsahuje pomocné informace, aby bylo zajištěno, že data zaslaná mezi terminálem a serverem jsou neporušená a nezměněná.
Bezpečnost - zajišťuje, aby data zasílaná mezi terminálem a serverem nemohla být zneužita někým, kdo může odposlouchávat datový tok.
Ověření pravosti - pro identifikaci komunikujících zařízení
Ochranu před DOS útoky - funkce pro detekci a odmítnutí dat, která jsou opakována nebo nebyla úspěšně ověřena. WTLS stěžuje typické útoky a chrání vyšší vrstvy protokolu.

WTLS může být také použito pro komunikaci mezi terminály, např. pro autentifikace elektronického obchodování.

Aplikace mohou WTLS povolit nebo zakázat v závislosti na bezpečnostních požadavcích a nebo na tom, zda nejsou bezpečnostní služby aplikovány na ještě nižších vrstvách.

Transportní vrstva
Wireless Datagram Protocol (WDP) Transportní vrstva WAPu se vztahuje přímo na WDP. WDP pracuje nad širokou škálou sítí. Jako hlavní transportní vrstva nabízí své služby vrstvám vyšším. Ke komunikaci používá transparentně jednu z přístupných komunikačních služeb.

A jelikož WDP protokol nabízí společné rozhraní pro všechny vyšší vrstvy, jsou bezpečnostní, relační a aplikační vrstvy schopny fungovat nezávisle na nejnižší vrstvě bezdrátové sítě.
Přenosová média

WAP protokol byl navržen tak, aby mohl používat mnoho různých typů přenosových kanálů od přenosu pomocí SMS (Short Message Service) až po data zasílaná pomocí paketů. Použité komunikační kanály nabízí rozdílné různé úrovně kvality s ohledem na propustnost, chybovost a zpoždění. Protokol WAP je navrhován tak, aby co nejvíce tyto rozdíly vyrovnal.
Další služby a aplikace

Architektura WAPu umožňuje i ostatním aplikacím a službám využít nadefinovaného rozhraní. Externí aplikacím mohou přistupovat přímo k relacím, transakcím a transportní vrstvě. To umožňuje vytvářet další aplikace, které sice nebyly specifikovány, ale jejich existence může být v prostředí bezdrátových sítí hodnotná. Například aplikace jako elektronická pošta, kalendář, telefonní seznam, poznámkový blok a elektronická komerce nebo zlaté stránky mohou být postaveny na protokolu WAP.


Model vlevo reprezentuje typický příklad WAP aplikace, např. WAE User Agent, který běží na kompletní množině vrstev WAP technologie. Prostřední model je zamýšlen pro aplikace a služby požadující přístup k transakčním službám (s volitelným zabezpečením). A poslední model je určen pro aplikace a služby, které potřebují pouze datagramový přenos.

Prameny:
WAP Forum - Specifikace a standarty [http://www.wapforum.cz]
Rostislav Grygar - Revoluce v sítích GSM na obzoru [http://www.ict.cz]
Jiří Kosek - WAP seriál do časopisu mobil [http://www.kosek.cz]