WAP (Wireless Application Protocol) byl vytvo°en WAP f≤rem, sdru₧enφm pr∙myslov²ch firem vyvφjejφcφch standardy pro telefonnφ a dalÜφ slu₧by pro bezdrßtovΘ terminßly. K nim pat°φ zejmΘna mobilnφ telefony, osobnφ digitßlnφ asistenty (PDA), pagery a dalÜφ podobnß za°φzenφ.
WAP f≤rum, jeho₧ zaklßdajφcφmi Φleny byly spoleΦnosti Ericsson, Motorola, Nokia a Phone.com (d°φve Unwired Planet), v souΦasnΘ dob∞ sdru₧uje vφce ne₧ 100 organizacφ. Zßkladnφmi cφli WAP f≤ra bylo:
╖ zabezpeΦit p°φstup ke slu₧bßm internetu pro mobilnφ telefony a dalÜφ bezdrßtovΘ terminßly;
╖ vytvo°it standardnφ protokol pro bezdrßtov² p°enos dat, pou₧iteln² pro vÜechny soudobΘ, p°φpadn∞ i budoucφ bezdrßtovΘ sφ¥ovΘ technologie a zalo₧en² na rozÜφ°enφ stßvajφcφch standard∙ a technologiφ;
╖ podpo°it vytvß°enφ aplikacφ pro bezdrßtovΘ sφt∞.
P°φstup k internetu
Princip p°φstupu k internetov²m slu₧bßm je znßzorn∞n na obr. 1. Infrastrukturu na jednΘ stran∞ tvo°φ klient vybaven² aplikacφ oznaΦovanou jako WWW Φi webov² prohlφ₧eΦ (browser) a prost°edky pro konverzi a prezentaci dat, na druhΘ stran∞ pak webov² server, na n∞m₧ jsou ulo₧ena data. Oba subjekty jsou propojeny prost°ednictvφm internetu. Komunikace v prost°edφ internetu je zalo₧ena na t°ech hlavnφch prvcφch:
╖ standardnφm modelu jmen, kter² p°edepisuje, ₧e vÜechny servery v internetu jsou oznaΦeny pomocφ tzv. URL (Uniform Resource Locator);
╖ standardnφm formßtu datovΘho obsahu, jako je nap°φklad HTML nebo JavaScript;
╖ standardnφch protokolech pro p°enos dat, nap°. HTTP.
Standardnφ aplikaΦnφ prost°edφ nejenom umo₧≥uje u₧ivatel∙m snadno vyhledat data, aplikace a slu₧by v internetu, ale takΘ poskytuje v²vojß°∙m mo₧nost jednoduÜe vytvß°et novΘ aplikace.
Bezdrßtov² p°φstup k internetu
V²Üe popsan² "klasick²" model p°φstupu k internetu vÜak pro pot°eby mobilnφho bezdrßtovΘho p°φstupu nevyhovuje. D∙vodem je nejenom skuteΦnost, ₧e je orientovßn na relativn∞ v²konnΘ poΦφtaΦe, a to nejenom na stran∞ serveru, ale takΘ na stran∞ u₧ivatele, ale takΘ fakt, ₧e pro komunikaci vy₧aduje prost°edφ s pom∞rn∞ velkou Üφ°kou pßsma.
SoudobΘ mobilnφ telefony a dalÜφ bezdrßtovΘ terminßly ve v∞tÜin∞ p°φpad∙ disponujφ, pokud jsou jφm v∙bec vybaveny, pouze mßlo v²konn²m procesorem, omezenou kapacitou pam∞ti a napßjecφho zdroje, mal²m a Φasto nep°φliÜ v²konn²m displejem. K dalÜφm omezenφm, s nimi₧ se lze u podobn²ch za°φzenφ setkat, pat°φ specifickß, jednoduchß, mnohdy jedno·Φelovß klßvesnice, malß Üφ°ka p°enosovΘho pßsma a z nφ vypl²vajφcφ nφzkß p°enosovß rychlost omezujφcφ mno₧stvφ p°enßÜen²ch dat Φi vyÜÜφ pravd∞podobnost p°eruÜenφ komunikace v d∙sledku rozpadu spoje. Krom∞ toho musφ bezdrßtov² p°φstup k internetu navazovat na standardnφ prost°edφ internetu bez nutnosti jeho modifikace, ·prav Φi dalÜφch zßsah∙.
WAP
KomunikaΦnφ model WAP, obr. 2, vychßzφ z pou₧itφ tzv. zprost°edkujφcφho systΘmu, jen₧ je rovn∞₧ souΦßstφ standardnφho webovΘho prost°edφ. Zprost°edkujφcφ systΘm m∙₧e tvo°it bu∩ tzv. zprost°edkujφcφ server (proxy server), nebo brßna (gateway).
Zprost°edkujφcφ server pracuje souΦasn∞ jako klient zdrojovΘho serveru (origin server), od n∞ho₧ p°ebφrß po₧adovanß data, a jako server ve vztahu ke koncov²m klient∙m, jim₧ p°evzatß data zprost°edkuje, obr. 3. Zprost°edkujφcφ server se ve standardnφ webovΘ architektu°e nejΦast∞ji umis¥uje mezi webov² server a u₧ivatele. Slou₧φ obvykle pro odlehΦenφ zßt∞₧e zdrojovΘho serveru tφm, ₧e se na n∞m doΦasn∞ uchovßvajφ Φasto vy₧adovanß data, Φφm₧ se sni₧uje poΦet p°φstup∙ ke zdrojovΘmu serveru. Na rozdφl od zprost°edkujφcφho serveru je brßna server, kter² pracuje jako prost°ednφk pro dalÜφ servery.
V architektu°e WAP vykonßvß zprost°edkujφcφ systΘm dv∞ zßkladnφ ·lohy. P°ebφrß po₧adavky na p°φsluÜnß URL z bezdrßtovΘho terminßlu, p°evßdφ je do formßtu protokolu HTTP a zasφlß prost°ednictvφm internetu p°φsluÜnΘmu webovΘmu serveru. Data a aplikace poskytovanΘ webov²mi servery pak k≤duje ve tvaru vhodnΘm pro p°enos GSM sφtφ a p°edßvß je bezdrßtovΘmu terminßlu. Hlavnφm cφlem k≤dovßnφ dat je zmenÜenφ jejich objemu takov²m zp∙sobem, aby p°enos dat relativn∞ pomalou GSM sφtφ probφhal co nejrychleji a nejefektivn∞ji. Vlastnφ bezdrßtov² terminßl musφ pak b²t vybaven tzv. mikroprohlφ₧eΦem (microbrowser), co₧ je aplikace schopnß interpretovat a zobrazovat k≤dovanΘ informace p°edßvanΘ zprost°edkujφcφm systΘmem.
Pro nßzornost uve∩me p°φklad komunikace mezi bezdrßtov²m terminßlem, jφm₧ je zatφm nejΦast∞ji mobilnφ telefon, a webov²m serverem prost°ednictvφm zprost°edkujφcφho systΘmu. U₧ivatel na mobilnφm telefonu nejd°φve stiskem p°φsluÜnΘho tlaΦφtka zvolφ po₧adovanΘ URL a odeÜle po₧adavek zprost°edkujφcφmu systΘmu. Na jeho zßklad∞ zprost°edkujφcφ systΘm generuje HTTP dotaz a zaÜle jej odpovφdajφcφmu webovΘmu serveru. V zßvislosti na charakteru dotazu vykonß webov² server p°φsluÜnou Φinnost. Po₧aduje-li u₧ivatel p°edßnφ HTML souboru, server odeÜle soubor, p°edepisuje-li po₧adavek CGI Φi jin² skript, server spustφ po₧adovanou aplikaci. V²sledky Φinnosti webov² server odeÜle zprost°edkujφcφmu systΘmu, kter² ov∞°φ jejich sprßvnost, zak≤duje je do tvaru vhodnΘho pro p°enos GSM sφtφ a odeÜle zp∞t mobilnφmu telefonu. Mikroprohlφ₧eΦ v telefonu p°ijatß data zpracuje a zobrazφ na displeji.
Protokolovß sada WAP
Pro komunikaci mezi bezdrßtov²m terminßlem a webov²m serverem definuje protokolovß sada n∞kolik komponent. Jsou to:
╖ standardnφ model jmen (URL) p°evzat² z webovΘho prost°edφ;
╖ standardnφ formßt datovΘho obsahu vΦetn∞ pou₧itφ jazyka WMLScript;
╖ standardnφ komunikaΦnφ protokolovß sada.
Sada protokol∙ WAP obsahuje Φty°i protokoly urΦenΘ pro komunikaci mezi bezdrßtov²m terminßlem a zprost°edkujφcφm systΘmem, kterΘ v prost°edφ bezdrßtovΘ komunikace vykonßvajφ obdobnΘ Φinnosti jako protokoly internetu. Porovnßnφ obou protokolov²ch sad je uvedeno na obr. 4.
NejvyÜÜφ vrstvu tvo°φ bezdrßtovΘ aplikaΦnφ prost°edφ (WAE, Wireless Application Environment), kterΘ je obdobou aplikaΦnφho prost°edφ internetu. WAE zajiÜ¥uje mo₧nost provozovßnφ aplikacφ pro bezdrßtovΘ prost°edφ. Jeho souΦßstφ je takΘ mikroprohlφ₧eΦ. WAE pou₧φvß stejn² adresovacφ model jako internet, tj. URL. URL jednoznaΦn∞ definuje zdrojov² dokument, kter² m∙₧e b²t prost°ednictvφm WAP protokol∙ po₧adovßn. Krom∞ toho WAE pou₧φvß k adresovßnφ jeÜt∞ URI (Uniform Resource Identificator). Prost°ednictvφm URI lze adresovat objekty, kterΘ prost°ednictvφm uveden²ch protokol∙ nejsou p°φstupnΘ, nap°. p°φstup k lokßlnφm telefonnφm funkcφm bezdrßtovΘho terminßlu.
Analogiφ jazyka HTML v prost°edφ internetu je ve WAE tzv. bezdrßtov² znaΦkovacφ jazyk (Wireless Markup Language, WML). Jazyk WML pou₧φvß pro specifikaci slu₧by tzv. desky (desks) a karty (cards). Karty specifikujφ zßkladnφ jednoduchΘ interakce mezi u₧ivatelem a WAP za°φzenφm. M∙₧e jφt nap°. o informace p°edanΘ serverem Φi o ₧ßdost o jejich p°edßnφ zadanou u₧ivatelem. Karty se sdru₧ujφ do desek, p°iΦem₧ deska je zßkladnφ jednotkou, kterou m∙₧e server do WAP za°φzenφ p°edat. Pro lepÜφ vyu₧itφ Üφ°ky pßsma a urychlenφ p°enosu m∙₧e zprost°edkujφcφ systΘm WML dokument jeÜt∞ zak≤dovat.
DalÜφm prvkem WAE je skriptovacφ jazyk WMLScript. WMLScript je zalo₧en na ECMAScriptu a slou₧φ k rozÜφ°enφ funkcφ slu₧eb WML. WMLScript umo₧≥uje zßpis skript∙ obsahujφcφch nap°. cykly, podmφnky nebo v²poΦetnφ operace.
SouΦßstφ WAE je takΘ prost°edφ WTA (Wireless Telephony Application) pro tvorbu telefonnφch aplikacφ s pou₧itφm WAP. Prost°edφ WTA zahrnuje rozhranφ pro telefonnφ slu₧by vykonßvanΘ prost°ednictvφm WML, schrßnku, umo₧≥ujφcφ pou₧φvßnφ n∞kter²ch slu₧eb bez nutnosti komunikace v sφti, prost°edky pro obsluhu udßlostφ, kterΘ umo₧≥ujφ vytvß°et reakce na urΦitΘ udßlosti v mobilnφ sφti (k nim m∙₧e pat°it nap°. p°φchozφ telefonnφ hovor Φi ukonΦenφ spojenφ), a prost°edky pro indikaci slu₧eb, kterΘ umo₧≥ujφ jak u₧ivatele automaticky informovat o v²skytech r∙zn²ch udßlostφ v sφti, tak i spustit p°φsluÜnou slu₧bu pro obslou₧enφ tΘto udßlosti.
Obdobou protokolu HTTP jsou protokoly Wireless Session Protocol (WSP) a Wireless Transaction Protocol (WTP). WSP je ve skuteΦnosti binßrnφ variantou protokolu HTTP verze 1.1 a jeho hlavnφ ·lohou je z°φzenφ spojenφ mezi terminßlem a zprost°edkujφcφm systΘmem, zatφmco ·lohou WTP je poskytovat spolehlivou komunikaΦnφ cestu pro odesφlßnφ a p°φjem zprßv. WTP takΘ zabezpeΦuje opakovßnφ vysφlßnφ zprßvy v p°φpad∞ jejφ ztrßty nebo poÜkozenφ.
Za zabezpeΦenφ p°enosu dat mezi WAP klientem a zprost°edkujφcφm systΘmem odpovφdß protokol WTLS (Wireless Transport Layer Security). Protokol WTLS je zalo₧en na protokolu TLS pou₧φvanΘm pro stejnΘ ·Φely v prost°edφ internetu, s tφm, ₧e je optimalizovßn pro pou₧itφ v sφtφch s malou Üφ°kou pßsma.
Rozhranφ mezi vlastnφm p°enosov²m prost°edφm a vyÜÜφmi protokoly zajiÜ¥uje protokol WDP (Wireless Datagram Protocol). Stejn∞ jako p°enosovΘ protokoly internetu TCP/IP a UDP/IP zabezpeΦuje WDP doruΦovßnφ datagram∙ po₧adovan²m p°enosov²m prost°edφm. Protokol lze doplnit protokolem hlßÜenφ chyb a diagnostiky û WCMP (Wireless Control Message Protocol), kter² je obdobou protokolu ICMP, rovn∞₧ pou₧φvanΘho v prost°edφ internetu.
Protokolovß sada WAP je otev°en²m standardem, kter² nejenom ₧e nachßzφ velmi rychle uplatn∞nφ p°i p°φstupu k dat∙m z bezdrßtov²ch terminßl∙, v souΦasnΘ dob∞ zejmΘna z mobilnφch telefon∙, ale takΘ poskytuje v²vojov²m pracovnφk∙m prost°edφ pro psanφ aplikacφ urΦen²ch nejenom pro poskytovatele slu₧eb internetu, ale takΘ pro vlastnφ mobilnφ terminßly. V²robc∙m mobilnφch telefon∙ se tak otevφrajφ rozsßhlΘ mo₧nosti, jak rozÜφ°it nabφdku slu₧eb a funkcφ, kterΘ jejich za°φzenφ poskytujφ.