Co je to WAP? Wireless Application Protocol
Digitální bezdrátová zařízení jako jsou mobilní telefony se v průběhu let stala velmi
populárními. Technicky řečeno, mobilní telefony již nejsou pouze telefony - staly se
komunikačními zařízeními schopnými spouštět aplikace a komunikovat s dalšími
zařízeními a aplikacemi přes bezdrátové sítě.
Wireles Application Protocol jako standard specifikuje dva zásadní elementy
bezdátové komunikace a to end-to-end aplikační protokol a aplikační prostředí
založené na prohlížeči. Aplikační protokol je vrstva komunikačního protokolu, který je
obsažen v každém WAP zařízení. Na straně sítě obsahuje serverové komponenty,
implementující další konec protokolu, který je schopen komunikace s jakýmkoliv
WAP zařízením. Často serverové komponenty vstupují do role brány routující
požadavky WAP zařízení na aplikační server. Brána může být fyzicky posazena buď
do telefonní sítě nebo počítačové sítě, vytvářejíce tím most mezi oběmi sítěmi.
Síťová struktura WAP.
WAPová aplikace se skládá z aplikačního serveru a klientské aplikace, kterou brána
stahuje z aplikačního serveru do WAP zařízení pro použití. Standardní aplikační
prostředí je potřeba pro běh stejné klientské aplikace na jiném WAP zařízení. WAP
poskytuje standard skládající se z browseru a skriptu. Prohlížeč je velice podobný
webovému prohlížeči a dokáže zpracovávat obsah popsaný ve Wireless Markup
Languge. Prohlížeč také obsahuje vestavěný skript pro běh aplikací ve WAP zařízení.
Tyto aplikace jsou psány ve skriptovém jazyce zvaném WMLScript. Jako dodatek k
programovacímu jazyku jako takovému, skript také implementuje množinu knihoven,
které umožňují aplikaci přístup k různým službám pro WAP zařízení. WML a
WMLScript jsou vytvořeny pro bezdrátové použití, narrowband sítě a jsou binárně
kódovány pro optimální efektivitu přenosu.
WAP Protocol má čtyři vrstvy:
V mnoha případech je aktuální aplikace a další obsah umístěn přímo na web
serverech. Obsahem může být WAP, vytvořený s WML a WMLScriptem nebo HTML.
Některé brány jsou dokonce schopné překládat HTML do WML. Ve WAPu jsou
obsah a aplikace adresované s URL, stejně jako další Internetové protokoly.
WAP je podobný Webovému modelu a funguje následovně:
WAP a jak se k němu připojíme
Na začátek by bylo dobré zmínit se o každém ze dvou možných způsobů přenosu dat mezi WAP zařízením a WAP bránou. Data mohou být
přenášena přes SMS (Short Message Service) - textové zprávy nebo CSD (Circuit Switched Data) - datové volání. Volba mezi SMS a CSD závisí
na službách, které budou přes WAP využívány. Například pro služby typu informace o počasí v dané lokalitě nebo denní aktuality je efektivnější
využít spojení přes SMS a zase u služeb využívajících různé WMLscripty např. rezervace letenek je lépe použít CSD. Pevně věřím, že v definicích
WAP Fóra ohledně způsobu přenosu dat bude možné nalézt i možnost přiřadit či nastavit u bookmarku způsob jakým se na daný link bude
odkazovat (SMS nebo CSD).
Připojení k WAPu přes SMS
SMS připojení je založeno na standardu krátkých zpráv. SMS umožňuje posílání maximálně 160 znaků najednou.
Delší textové zprávy jsou rozděleny do několika zpráv s hlavičkami obsahujícími informace o jejich pořadí v řadě. Mobilní telefon je schopen dát
takto příchozí zprávy dohromady ve správném pořadí až po obdržení všech takovýchto zpráv. To se nazývá spojení nebo sřetězení. Závisí na
WAP zařízení, kolik takovýchto sřetězených zpráv je přes bránu schopen přijmout.
Při tvorbě služeb přes SMS by se měl zvážit omezený počet znaků v jedné zprávě. Takovéto služby by neměly obsahovat dlouhé texty.
SMS je ideální metoda pro služby s kompaktním informačním obsahem a minimální potřebou komunikovat mezi uživatelem a službou.
Dobré příklady SMS služeb mohou být výše zmíněné denní aktuality , vtipy nebo oznámení o e-mailu v mailboxu.
Připojení k WAPu přes CSD
S Circuit Switched Data (CSD) jsou informace doručovány po navázání datové komunikace mezi WAP zařízením a přístupovým serverem.
Omezení množství přenesených dat není tak velké jako u připojení přes SMS, rychlost datového hovoru je 9,6 kbit/s nebo 14,4 kbit/s. Velikost
cache je limitována pouze proveditelnou velikostí jedné odpovědi dané služby, i když připojení umožňuje přenést i větší množství.
CSD spojení by mělo být využíváno při potřebě přenosu většího množství dat nebo v případě potřeby větší vzájemné komunikace s uživatelem.
Takovými službami jsou například Internetové bankovnictví nebo větší množství zpráv nebo výše zmíněná rezervace letenek.
Poskytovatel služeb není schopen rozhodnout o způsobu připojení na straně obsahu, ale je na uživateli jaký způsob připojení si zvolí. Přirozeně
služby pro SMS mohou být požívány přes CSD a naopak, ale důrazně se doporučuje vzít v úvahu omezení a možnosti způsobů připojení při
plánování a tvorbě služeb. V budoucnu by měl být tento problém definován WAP Fórem.
Co dodat závěrem - před začátkem tvorby jakýchkoliv WML stránek je potřeba mít možnosti připojení k dané službě
na paměti.
Co potřebujete k tomu, abyste byli viděni ve WAPu? Jaký webserver?
Především si vystačíte s úplně normálním webserverem, jako je Apache na Linuxu
nebo IIS na NT a další podobné webservery. Vše, co potřebujete, je změnit MIME typy
pro určité koncovky souborů - zde doporučím manuál, pokud nevíte, jak na to. Pokud
to s WAPem myslíte vážně, je také vhodné asociovat nějaký soubor typu main.wml
nebo index.wml jako implicitní soubor, který webserver vrací, pokud zadáte URL
adresáře - tedy například wap.mobil.cz servíruje vlastně wap.mobil.cz/main.wml - i
zde se držte manuálu ke svému webserveru. To znamená, že nepotřebujete speciální instalaci ani speciální software proto, abyste
mohli provozovat WAP - dokonce si jako WAP ready můžete nastavit pouze nějaké
adresáře.
Nastavení MIME:
text/vnd.wap.wml wml
text/vnd.wap.wmlscript wmls
image/vnd.wap.wbmp wbmp
application/vnd.wap.wmlc wmlc
application/vnd.wap.wmlscriptc wmlsc
Potřebujete WapGateway neboli wapbránu?
Funkce WapGatewaye je takováto: přes ni proudí požadavky do internetu a zpět na
mobilní telefon, na ní jsou přeloženy do binárního tvaru a do mobilu odeslány, nebo z
binárního tvaru přeloženy do normálního requestu a poslány na příslušnou adresu.
Gateway o všech těchto procesech vede záznamy a pro mobilní telefon je skutečnou
branou do mobilního internetu, bez ní WAP nemůže fungovat.
Jenže tato brána je velmi drahá a zpravidla si ji pořizuje operátor, který chce svým
klientům umožnit přístup do WAPu. V ČR ji již provozuje EuroTel, RadioMobil ji
chystá. Není tedy nutné, abyste vy sami vlastnili tyto brány - například Nokia
WapServer, tedy gateway do internetu, stojí 10 000 USD bez hardware.
K čemu by se vám vlastní gateway mohla hodit?
Pokud potřebujete zabezpečení po celé trase přenosu, tedy pokud vytváříte či
provozujete aplikace takovéto zabezpečení vyžadující. Celý provoz mezi gateway a
mobilním telefonem může totiž být zakódován a zabezpečen, nicméně od brány dále
do internetu jsou používány standardní internetové - a tedy nezabezpečené protokoly.
To je ale například pro komunikaci s bankou naprosto nepoužitelné.
V takovémto případě si banka zakoupí gateway a nainstaluje si ji na své chráněné síti.
Požadavky uživatelů jsou směřovány do gatewaye od přípojného bodu (zpravidla od
přípojného bodu operátora) sice také většinou internetem, jsou ale přenášeny
zabezpečeně a i s certifikátem, je-li třeba. Další transport informací z gateway dále na
internetovou službu například internetbankingu se děje ve vnitřní síti banky, tedy
chráněně. Takto lze velmi důkladně celý přenos zabezpečit.
Podobné nasazení gateway lze samozřejmě uplatnit i v případě přístupu na
vnitrofiremní servery, které jinak ani nemusí být z internetu přístupné. Pro běžné internetové projekty je ale toto řešení zbytečné a nebude předmětem
našich úvah. Pro běžnou práci s WAPem si vystačíte s gateway vašeho operátora.
Jak s WML pracovat - je podobný HTML?
Struktura WML souboru (Wireless Markup Language je jazyk používaný pro zápis WAPu) je téměř podobná,
jako u HTML, ten název není podobný náhodou.
U WML je ale třeba si pozor dávat na syntaxi - především všechny WML značky
jsou malými písmeny a pokud je napíšete jinak, nefungují, neboť velikost písmen je
rozlišovacím znakem. Druhak - pokud ve WML souboru uděláte syntaktickou chybu,
mobilní telefon jej nezobrazí, ale nahlásí chybu, stejně jako velké vývojové nástroje.
Dokud není dokument bez chyb, není zobrazen. Také zatím určitě zapomeňte ve WML kódu na češtinu.
Začátečnické kroky s WML najdete v češtině např. na WapServeru, větší manuály
najdete u každého vývojového prostředí v angličtině. Rychle si všimnete, že většina
značek je stejných nebo podobných, jako v HTML - potřeba je dávat pozor na velikost
písmen a správnou syntaxi. Také většina značek je párových, tedy mají značku
označující konec a začátek. Nepárové značky se pak zapisují s lomítkem na konci,
aby bylo jasné, že jsou nepárové. Tedy značka pro konec řádku není <br>, ale <br/> - ale to vše se snadno naučíte.
WAP a jeho jazyk WML je v současné době jednoduchý - stejně tak stránky na něm
postavené. Dá se očekávat, že s rozvojem technologie půjdou nahoru i možnosti WML
a WAPu jako celku. Na březen tohoto roku byla oznámena verze WAP 1.2 - ta už by toho
měla mít více, až bude GPRS (léto?), budeme se moci těšit i na skutečná multimediální
rozšíření. Zatím je limitem WAPu přenosová rychlost 9600 případně 14400 bps, dále
malá monochromatická obrazovka a nedostatečná vstupní jednotka, tedy klávesnice.
Mějte tato omezení na paměti, pokud přemýšlíte o WAP aplikaci. Čím méně textu
musíte zobrazovat a čím méně textu budou muset lidé přes klávesnici vkládat, tím
větší je tu šance na úspěch. Psaní románů on-line se ve WAPu zatím nechytí, za dva
roky to ale může být skvělý business. Jenže tou dobou se již bude platit za
přenesená data, nikoliv za čas strávený on-line.
S WAPem je to nyní podobné, jako s internetem a s WWW v jeho dřevních dobách -
je to pomalé, graficky nepříliš rozvinutelné a v zobrazovacích možnostech omezené
specifikou jednotlivých přístrojů. Jenže s největší pravděpodobností se to chytí a dál
rozvine.
Co na tvorbu a prohlížení WAP potřebujete?
Další pomocníci:
Pokračujeme prakticky - Deska a karta
Základní jednotkou WML je karta, která specifikuje jednoduchou interakci mezi WAP zařízením a uživatelem. Karty jsou slučovány do desek,
což jsou nejmenší jednotky WML, které web server umí poslat na WAP zařízení. V okamžiku, kdy WAP zařízení obdrží desku, aktivuje automaticky
první kartu, kterou tato deska obsahuje.
Document Type Definition soubor
Document Type Definition (DTD) soubor definuje všechny elementy použité ve WML. Používá se při WML
kódování. Cesta k vlastnímu DTD souboru musí být definována v úvodu WML desky. DTD soubor může být umístěn buď někde na síti nebo ho můžete mít
uložen lokálně pro rychlejší přístup k němu. Všechna WAP zařízení nemusí být schopna rozeznat
všechny elementy a atributy obsažené v DTD souboru, v takovém případě bude zařízení fungovat tak, jako by element nebyl přítomen.
Příklad DTD naleznete na http://www.wapforum.org/DTD/wml.xml.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <!-- První karta v "decku" --> <card id="hlavni_karta" title="hlavni_karta"> <p align="center"> <big>1. karta</big> </p> <b>Tucny text</b><br/> <i>Kurziva</i> <br/> <u>Podtrzeny text</u> <br/> <big>Text velkym fontem</big><br/> <small>Text malym fontem</small><br/> <strong>Silny text</strong><br/> <p align="center"> <!-- Tabulky --> <b>Tabulky</b><br/> Jedna <tab/> Dva <br/> 1111<tab/>2222<br/> AAAA<tab/>BBBB<br/> </p> <table columns="3" align="LCR"> <tr> <td>AAA</td> <td>BBB</td> <td>CCC</td> </tr> <tr> <td>11</td> <td>22</td> <td>33</td> </tr> </table> <p align="left"> <!-- Obrazek --> <b>Obrazek</b><br/> <img src="phone.wbmp" alt="obrazek"/> </p> <p align="left"> <!-- Formularove prvky --> <b>Prvek Input</b><br/> <input="text" name="vstup"/> </p> <p align="left"> <b>Vyber ze seznamu</b><br/> <select name="seznam"> <option>Hyundai</option> <option>Mazda</option> <option>Honda</option> </select> </p> <p align="left"> <!-- Odkazy a tlacitka --> <b>Odkazy</b><br/> <a href="pokus2.wml">Jiná deska (deck) na serveru</a> <br/> <a href="http://wap.mobil.cz">wap.mobil.cz</a> <br/> <a href="http://wap.paegas.cz">wap.paegas.cz</a> <br/> </p> <b>Tlacitka</b><br/> (zobrazena vzdy dole na displeji nebo v MENU mobilu)<br/> <do type="accept" label="Druha karta"> <go href="#druha_karta"/> </do> <do type="accept" label="Treti karta"> <go href="#treti_karta"/> </do> </card> <!-- Další karty --> <card id="druha_karta" title="druha_karta"> <p align="center"> <big>2. karta</big> </p> ABCD </card> <card id="treti_karta" title="treti_karta"> <p align="center"> <big>3. karta</big> </p> 1234 </card> </wml>