A mobiltelefonok elterjedéséről szinte minden nap új hírek, statisztikák látnak napvilágot. A cikk írásakor a magyar mobiltelítettség elérte az 50%-ot, tehát átlagosan két lakosra jut egy mobiltelefon. (Forrás: http://mobil.hix.hu/).
A mobiltelefonok elterjedtségének ellenére kevesen tudnak válaszolni arra a kérdésre, hogy a GSM, SMS, vagy WAP szavak mit rövidítenek, egyáltalán hogyan műkődnek ezek a szolgáltatások? Miben hasonlít az Internet és a mobil telefonok világa? Hogyan lehet olyan honlapot készíteni, ami megjeleníthető a mobil készülékeken?
A következőkben megpróbálok ezekre a kérdésekre válaszolni.
Az első lépések - a mobil kommunikáció kezdete
Az első közhasznú mobilhálózatot Amerikában építették ki 1946-ban. Ez a hálózat half-duplex átvitelű volt, ami azzal a hátránnyal járt, hogy egyszerre csak az egyik fél tudott beszélni. (hasonlóan a CB rádiókhoz, amelyekkel pl. a Taxikban találkozhatunk) A kezdeti lépések után létrejött az IMTS telefonrendszer (Improved Mobile Telephone Service), amely már full-duplex rendszerű volt, tehát lehetővé tette az egyidejű beszélgetést a hívó és a hívott között. Ez a rendszer 1965-ben kezdett szélesebb körben elterjedni, azonban a technológiai korlátok miatt - kicsi volt a kiosztható frekvenciatartomány - kevesen használhatták azt, ezért igazi luxusnak számított.
A megoldást a cellás rendszerek kifejlesztése jelentette. A cellás rendszerekben a területet kisebb részekre - cellákra - osztják, amelyben egy központi rádióállomás tartja a kapcsolatot a mobil készülékekkel. Az így felépített hálózat előnye az, hogy ugyanaz a frekvencia egyidejűleg több, egymástól megfelelő távolságban lévő cellában is kiosztható. Az első ilyen hálózatot Japánban helyezték üzembe 1979-ben, amelyet több hasonló hálózat követett Amerikában és Európában is.
A hatszög alakú cellák alkalmazásával a cellák között nem marad lefedetlen hely. A kék színnel jelölt hatszög közepén helyezkedik el a bázisállomás és a nyílakkal jelölt irányban sugároznak az antennák. A kék hatszögek egy egy bázisállomás sugárzási területét jelzik. A mobil kommunikációban a cellán a piros színnel jelölt területet értik, amelynek sarkaiban találhatóak a bázisállomások.
Forrás: www.privateline.com
A világ különböző országaiban más más rendszerű hálózatok üzemeltek, ami gyakorlatilag lehetetlenné tette az átjárhatóságot az országok között. A különböző szolgáltatók közötti átjárhatóság érdekében az Európai Postai és Távközlési Igazgatóságok Konferenciája (CEPT) 1982-ben elhatározta, hogy kidolgozza a GSM rendszert (Global System for Mobile Communications - Mobilkommunikációs világrendszer) Az erőfeszítéseket siker koronázta, hiszen 1991-ben a GSM rendszer sikeresen debütált, és 1993-ra már 1 millió előfizetővel büszkélkedhetett. (érdekesség, hogy az előfizetők csaknem 80%-a Németországból származott)
Kezdetben az analóg elven működő telefonhálózatok terjedtek el, 450 és 900 Mhz-en üzemeltek. Ezeket nevezzük 1. generációs hálózatoknak. Az analóg hálózatok viszont nem tudtak megfelelni az újabb és újabb elvárásoknak, ezért szükség volt újabb (digitális) hálózatok kifejlesztésére, amelyek már lehetővé tették pl. az adatforgalmat (SMS, WAP, stb) és az országhatárokon túli használatot is. (roaming). Ezzel elérkeztünk a 2. generációs hálózatokhoz, de természetesen a fejlődés nem állt meg, ma már a 3. generációs hálózatokról is beszélhetünk (pl. UMTS), amelyek nagy sebességű adatátvitelt (akár 2 Mb/s) és az egész világra kiterjedő roaming lehetőséget biztosítanak. A 3. generációs hálózatokban új szolgáltatások (pl. mobil multimédiás alkalmazások, élő videokonferencia, multimédiás képeslapok küldése) jelennek meg, és természetesen új készülékek is kifejlesztésre kerülnek, amelyek az új tartalmat fogadni tudják.
Hogyan működik?
Mi történik akkor, amikor begépelünk egy telefonszámot, és megnyomjuk a híváskezdeményezés gombot? A telefonkészülékünk végignézi az adott helyen elérhető összes szabadnak jelzett rádiócsatornát, és kiválasztja azt, ahol a legnagyobb a térerősség, majd ezen a csatornán engedélyt kér a mobilközponttól, a csatorna lefoglalására. Ez a bázisállomáson keresztül történik. Az engedély megadása után létrejön az összeköttetés a központ és az előfizető között.
Persze a mobiltelefonunkat nem csak beszélgetésre használhatjuk, hanem különböző információkat is lekérhetünk, hasonlóan az Internethez. Ezzel el is érkeztünk a WAP kulcsszóhoz.
Mi a WAP?
A Wireless Application Protocol (WAP) a Vezetéknélküli eszközök (pl. mobiltelefonok, PDA-k) számára készített alkalmazások nemzetközi szabványa. A WAP lehetővé tette, hogy a mobiltelefon tulajdonosok a hagyományos beszédátvitel mellett különböző információk lekérésére is használhassák telefonjaikat. (menetrendek, időjárás jelentés, árfolyamok, mozi műsorok, banki és egyéb szolgáltatások.)
A szabványt a Nokia, Ericcson, Motorola és a Phone.com (Unwired Planet) által alapított WAP Forum dolgozta ki. (http://www.wapforum.org) A WAP egy nyílt szabvány, azaz bárki megismerkedhet a technikai részleteivel. Így valósítható meg, hogy a különböző gyártók, hálózatüzemeltetők, tartalomszolgáltatók, és más WAP-ot felhasználó cégek „közös nyelven beszéljenek.
A WAP és a WEB kapcsolata
Mielőtt elemeznénk a WAP és a WEB kapcsolatát, elöljáróban nézzük meg a WEB működését.
A World Wide Web (WWW) az Internet egyik szolgáltatása, amely lehetővé teszi, hogy különböző információkat érhessünk el, legyen az szöveg, kép, animáció, zene, film, stb. A különböző weboldalakat a browserekkel (böngészők) érhetjük el, mint pl. az Internet Explorer, vagy Netscape Communicator). Amikor a böngészőnkbe beírunk egy címet (pl. http://www.sulinet.hu/), ezzel egy URL-t adunk meg. Az URL (Uniform Resource Locator) által azt adjuk meg, hogy az információ hol található és milyen módon (milyen protokoll segítségével) lehet hozzá férni.
Miben hasonlít a WAP és a WWW?
- A WAP és a WWW is a távoli eszközökre történő tartalomszolgáltatásra koncentrálnak olcsó, szabványosított kliens szoftverrel, a böngészővel.
- Mindketten a kiszolgáló oldali szerverekre támaszkodnak a felhasználói jogok kezelésében, az adatbázis lekérdezésekben és feldolgozásban.
- És végül mindketten az úgynevezett SGML-ből (általános dokumentumjelölő nyelv) eredő nyelvek segítségével szolgáltatják a tartalmat.
Ez utóbbi mit jelent?
Ha az Interneten saját honlapot szeretnénk készíteni, akkor meg kell ismerkednünk a HTML (Hypertext Markup Language) nyelvvel. A WAP esetében ez a nyelv a WML (Wireless markup language) nyelvet jelenti, amelyet egy kicsit később részletesebben tárgyalunk.
Miben más a WAP?
A WAP-ot az alacsony sávszélességre, a kis memóriával és gyengébb minőségű kijelzővel rendelkező eszközökre optimalizálták. Azt is figyelembe vették, hogy a mobil kommunikációban használt eszközök korlátozott funkciójú beviteli eszközökkel rendelkeznek. (gondoljunk arra, hogy a billentyűzet kezelése is nehézkesebb és az egér sem használható)
Hogyan működik?
Először is rendelkeznünk kell olyan készülékkel, amely támogatja a WAP szolgáltatást. (ez ma már nem akadály, az olcsóbb mobiltelefonok jelentős része is támogatja a WAP-ot) Ezen kívül szükség van egy WAP átjáróra, amelyet vagy a mobilszolgáltató vagy a tartalomszolgáltató biztosít számunkra. Ezt WAP gateway-nek nevezzük. Feladata (többek között) az, hogy az Internet felöl érkező információkat lefordítsa a mobiltelefon által érthető WML nyelvre.
A WAP kliens alkalmazások a kérést a WWW-nél már látott URL elvhez nagyon hasonló módon továbbítják. A WAP-os eszköz által elindított kérés eljut a WAP gateway-hez, amely közvetítőként viselkedik a kliens által használt hálózat és a számítógépes hálózat között. A gateway feldolgozza a kérést, megkapja a tartalmat, és az adatok (a sávszélesség korlátai miatt egy tömörített, bináris formátumban) visszatérnek a klienshez, amelyek vagy feldolgozásra kerülnek, vagy megjelennek a kijelzőn.
A WAP szolgáltatást adathívás vagy SMS alapon vehetjük igénybe. Az adatalapú hozzáférésnél az adathívás időtartama alatt barangolhatunk az információs rendszerben, és a készülék (cache) memóriájának méretétől függően a hívást megszakítva az elért információ valamely hányada a készülékben tárolódik. Ezzel szemben az SMS alapú hozzáférés nem on-line kapcsolatot jelent. (Ez a szolgáltatás ugyan lassabb, de bizonyos esetekben gazdaságosabb böngészési lehetőségeket kínál).
A számlázásban is különbségek vannak. Míg az adathívásnál a szolgáltató által megszabott adat percdíjak, az SMS-nél az üzenet küldésre megszabott díj a számlázás alapja.
A fentiekben többször említettem a WML nyelvet, ideje, hogy részletesebben is megismerkedjünk vele.
A WML Nyelv
A WML nyelv az XML (eXtensible Markup Language) nyelven alapul, annak egy speciális alkalmazása. Szintaxisa nagyon hasonló a sokak által ismert HTML nyelvhez, ezért azok számára akik ismerik a HTML nyelvet a WML is ismerős lesz. A HTML-ben megszokott tagek visszaköszönnek a WML-ben, de itt sokkal kevesebb taget használhatunk.
(Tagnek a különböző „utasításokat nevezzük, amelyeket a forráskódban < és > jelek közé kell tenni. Egy-egy tag hatását általában a záró utasítás párja szünteti meg, amely megegyezik a nyitó utasítással, csak a / jel vezeti be). Itt most nem ismertetem részletesen a HTML nyelvet, a http://www.html-kezdoknek.ini.hu/ címen mindenki megismerkedhet vele)
A HTML-el ellentétben a WML a változók használatát is támogatja, amellyel még dinamikusabbá tehetők a WML oldalak. Egy WML oldalt – amelyet paklinak (deck) hívunk - több aloldalra bonthatunk. Ezeket kártyának (card) nevezzük. A WML pakli egy, vagy néhány kártyát tartalmaz, ahol a kártyák úgy viselkednek, mintha önálló oldalak lennének, önálló tulajdonságokkal, címekkel. Mire jó ez? Nem terheljük meg feleslegesen a sávszélességet, hiszen a különböző (HTTP) fejléc információkat csak egyszer kell letölteni.
A HTML nyelv szabadságával szemben (pl. záró tagek elhagyása, idézőjelek elhagyása) a WML szintaxisa sokkal szigorúbb. Fontos különbség, hogy a WML nyelvben a <card> tag veszi át a <head> tag szerepét, és nincs <body> tag.
A cikk terjedelme nem teszi lehetővé, hogy a WML nyelvet nagyon részletesen tárgyaljuk, de nézzük meg a WML szintaxist, hogy több fogalmunk legyen a nyelvről. (A WML 1.1-es verziója kerül bemutatásra)
A WML oldalak felépítése a következő:
<?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=egyedi_név title=cím1>
ide jön a tényleges tartalom
</card> <card id=egyedi_név title=cím2>
ide jön a tényleges tartalom
</card>
</wml>
Minden pakli (deck) a következő XML fejléccel kezdődik:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
Az első sor adja meg a használt XML verziószámot, a második sor tartalmazza a dokumentum típusának URL-jét. Az oldal a <wml> taggel kezdődik és a </wml> taggel zárul. (e két tag között találhatók a kártyák)
A kártya a következőképpen definiálható:
<card id="egyedi_név" title="Cím">
Az id-nek (azonosítónak) egyedinek kell lennie minden paklin belül. Miután ez az id használatos a paklin belüli navigációra, a title (cím) nem olyan fontos. Ez tulajdonképpen azt a szöveget jelenti, amely a Wap böngészők felső sorában látható , de ezt nem mindegyik böngésző mutatja meg.
Hogy egy szöveget megjelenítsünk a kártyán belül a <p> taget kell használnunk.
<p>
Ez csak egy teszt szöveg
</p>
A szöveg igazítására használt align= center | left | right
paraméterek is használhatóak. Ha új sort akarunk kezdeni a paragrafuson belül, a <br/> taget használhatjuk. (Azok a tagek, amelyeknek nincs záró párjuk, vagyis amelyek nem határozzák meg a tartalom határait / jellel végződnek)
Mi a helyzet a képekkel?
A kép beillesztésére alkalmas <img> tag a HTML-ben megszokott módon használható. pl.:
<img src="http://bin.sulinet.hu/inform/abonyita/wap/"kep.wbmp"" alt="Leiras"/>
(Az <img> tagnek nincs záró tag-je, ezért kell a végére a / jel)
Amint a kódból látszik itt egy speciális képformátumot (wbmp) használunk, amiről később még szót ejtünk.
Időzítőt is használhatunk, amely automatikusan betölt egy kártyát. (A timer value határozza meg, hogy hány tizedmásodperc után töltődjön be az új oldal)
<?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="kartya1" title="1.oldal" ontimer="#kartya2">
<timer value="40"/>
<p>
Ez az 1. Kartya!
</p>
</card>
<card id="kartya2" title="2.oldal">
<p>
Ez a 2. Kartya!
</p>
</card>
</wml>
Ekkor mit láthatunk a mobiltelefon kijelzőjén?
Ez az első kártya. | Ez pedig a második, amely 4 mp-el később jelenik meg. |
Természetesen létrehozhatunk linkeket és használhatunk táblázatokat, űrlapokat is. A fenti kiragadott példák csak izelítőt adnak a nyelv lehetőségeiből, bemutatva azt, hogy a HTML nyelvet ismerők könnyen tudnak WAP-os eszközökre is tartalmat fejleszteni, hiszen a struktúra és a tagek is hasonlóak. Akit részletesebben érdekel a nyelv a következő címeken hasznos tutorialokat találhat.
- http://www.wirelessdevnet.com/channels/wap/training/wml.html
- http://www.w3schools.com/wap/wml_reference.asp
Ahogy a HTML szerkesztésnél, itt is használhatunk segédprogramokat a wml oldalak létrehozására. Ehhez a következőket ajánlom:
- Wapsite 2.0
- WAPEdit 1.1
- WBuilder espresso 1.0
- WmlExpress
- WAPTOR
Hogyan ellenőrízhetjük az elkészült oldalakat? Erre szolgálnak az úgynevezett WML emulátorok, amelyek olyan böngészőprogramok, amelyek képesek megjeleníteni a WML nyelvű oldalakat.
A képen az utóbbi program látható. A képernyő két részre van osztva. A jobboldali hagyományos böngészőként funkcionál, bal oldalon viszont egy mobiltelefon képernyőjén láthatjuk a megjelenített WML oldalakat is.
Aki járatos a honlapszerkesztésben, tudja, hogy sok funkciót csak a különböző scriptnyelvek segítségével tudunk megvalósítani. Ilyen pl. a JavaScript nyelv. Van-e hasonló a WAP világában? Igen! A következőkben erről lesz szó.
WML script:
A HTML használatakor csak a JavaScript ad arra lehetőséget, hogy az adatokat kliens oldalon feldolgozzuk. A WAP világában a WMLscript biztosítja ezeket a lehetőségeket. A nyelv az ECMAscript nyelven alapul azonban helyenként módosították, hogy az alacsony sávszélességű kommunikáció céljainak is megfeleljenek, így a WMLscript minimális memória és CPU igényű.
Miért nem szerveroldalon történik az adatok feldolgozása?
A Szerver oldali számítás esetén gyakran kell a szerver és a kliens között kommunikálni az interakció vagy maga a számítások miatt, ami nem kívánatos az alacsony sávszélességű rendszereknél. A WMLscript kódja beépül a mobil kliens által megkapott állományba, így sok „felesleges kommunikáció kiküszöbölhető. Azt is lehetővé teszi a fejlesztőknek, hogy interaktív oldalakat hozzanak létre. A http://www.wmlscript.com/library/ címen sok hasznos wmlscript található. (A WMLscript és a JavaScript között van egy fontos különbség. A wmlscript nem lehet inline, vagyis mindig külső állományban kell lennie. )
Képek a WAP-os eszközökön (WBMP)
A WBMP (Wireless Bitmap) tömörítetlen, monokróm fekete/fehér képformátum, amelyet a kis képernyővel és alacsony sávszélességgel rendelkező eszközök részére fejlesztettek ki. A WBMP kép maximális mérete 96x48 lehet.
Hogyan hozhatunk létre wbmp képeket?
Sok olyan eszközt találhatunk az Interneten, amelyek segítségével WBMP képeket hozhatunk létre, vagy már meglévő képeket konvertálhatunk. Létezik plugin a photoshop, paintshop pro és Gimp nevű programokhoz is.
Konverziós eszközök
WBMP rajzolók
Tárhelyek
Elkészítetted a WAP-os oldalaidat, de nem tudod, hova tölsd fel? Az alábbi oldalakon ingyen elhelyezheted a WML oldalakat.
Természetesen saját üzemeltetésű webszervereket is fel lehet készíteni a wap-os tartalmak kiszolgálására. Ehhez a következő MIME kódolási típusokat kell beállítani:
- wml text/vnd.wap.wml
- wmls text/vnd.wap.wmlscript
- wbmp image/vnd.wap.wbmp
- wmlc application/vnd.wap.wmlc
- wmlsc application/vnd.wap.wmlscriptc
A jövő – WAP 2.0
A technikai fejlődés nem áll le, már beszélhetünk a WAP 2.0 verziójáról is, amelyet a 3. generációs készülékekkel tudunk majd használni. A használt nyelv is megváltozik (WML 2, XHTML) és már színes grafikákat, animációkat is meg tudunk jeleníteni, készülékeinken a multimédia szinte teljes spektruma megjelenik. A készülék gyártók már elkészítették prototípusaikat is. Az alábbiakban erre láthatunk példát.
Motorola | Nokia | Ericsson |
Iskolai alkalmazások
Tudjuk, hogy a mobil kommunikáció nagyon vonzó a fiatalok számára; ezt az előnyt az iskolákban is ki lehetne használni. Szakkör vagy fakultáció keretében a HTML nyelvet ismerő tanulókat be lehet vezetni a WML nyelv rejtelmeibe. A szakkör feladata lehet pl. az iskolai honlap WAP-os megjelenésének kidolgozása. (ismertető, fontos telefonszámok, rendezvények, felvételi eredmények).
Néhány iskola már élen jár ebben, ilyen pl. a Karinthy Frigyes Gimnázium, amely a http://wap.karinthy.hu/ címen hasznos információkat ad az iskoláról!
Bízom benne, hogy a cikkel sikerült felkelteni az érdeklődést a WAP illetve a WML nyelv iránt, és az iskolai, vagy magánjellegű oldalak száma is gyarapodni fog. (hogy legyen új a WAP alatt... :-))
Abonyi Tóth Andor
Egyetemi tanársegéd
ELTE TTK
Informatika Szakmódszertani Csoport