volgende
inhoudstafel


Hoofdstuk 1: WAP in een notendop

1.1 Inleiding

Dit werk "Implementing WAP Services" bevat de beschrijving van de verschillende componenten die gebruikt worden bij de praktische ontwikkeling en implementatie van diensten en toepassingen voor WAP.

We gaan na wat nodig is om zelf applicaties te ontwikkelen. Daarom beginnen we, in hoofdstuk twee en drie met een (beperkte) bespreking van de Wireless Markup Language (WML) en de bijhorende scripttaal WMLScript.

Vervolgens geven we, in hoofdstuk vier, een aantal praktische regels die gerust de "tien geboden" voor de ontwikkelaar kunnen genoemd worden. Daarna bespreken we de ontwikkelomgeving waarin zal worden gewerkt (zie hoofdstuk vijf).

Ook wordt de applicatie volledig besproken, en kan de lezer de volledige code van het script nalezen in hoofdstuk 6.

In de drie volgende hoofdstukken gaan we na welke extra’s we kunnen voorzien om onze applicatie ten volle te benutten. Daarin komen de ‘deployment fase’, de testfase en de registratie- en certificatieprocedure aan bod.

Tenslotte wordt dit boek afgesloten met een een conclusie waarin de toekomst van WAP en een vergelijking met het World Wide Web worden toegelicht.

1.2 Teach yourself WAP in five minutes

Deze paragraaf kan de lezer die niet vertrouwd is met WAP en die de bijlage "WAP Specification" niet gelezen heeft, een heel summier antwoord bieden op de vraag: "Wat is WAP?". De "WAP Specification" geeft de lezer een zeer grondige analyse van WAP. Maar voor wie snel aan de slag wil, volgt hier een korte beschrijving.

De Wireless Application Protocol standaard specificeert twee essentiële elementen van draadloze communicatie: een applicatieprotocol en een applicatie-omgeving gebaseerd op een browser. Het applicatieprotocol is een gelaagd communicatieprotocol dat zit ingebakken in elke WAP-ondersteunende user agent. De netwerkzijde is een server die in staat is om met een WAP user agent te communiceren. Vaak is het ook zo dat deze server de taak van gateway op zich neemt en de verzoeken van de user agent doorstuurt (cf. routing) naar de applicatieserver. De gateway kan fysiek gelokaliseerd zijn in een telecommunicatie- of computernetwerk, en heeft als functie een brug te slaan tussen de twee netwerken. Onderstaande figuur illustreert de WAP netwerkstructuur.

WIRELESS TERMINAL/WAP GATEWAY/APPLICATION SERVER
Figuur 1: de WAP netwerkstructuur

Een WAP toepassing bestaat uit een client- en een serverapplicatie die door de gateway worden gedownload vanaf de applicatieserver naar de user agent om uitgevoerd te worden. Een standaard applicatieomgeving is noodzakelijk zodat een zelfde clientapplicatie kan draaien op verschillende mobiele terminals. WAP voorziet zo’n standaard, die bestaat uit een browser en een scriptvertaler. De browser is zeer gelijkaardig met een Web browser en kan inhoud (content) weergeven die is opgesteld in WML (Wireless Markup Language). De browser heeft ook een ingebouwde scriptvertaler om applicaties in de user agent te draaien. Deze toepassingen zijn geschreven in een scripttaal die we WMLScript noemen.

Boven op deze programmeertaal implementeert de scriptvertaler ook een aantal bibliotheken die de applicatie toelaten om bepaalde diensten van de user agent te gebruiken. WML en WMLScript zijn ontworpen voor gebruik bij draadloze netwerken met lage bandbreedte, en ze worden dan ook beiden binair gecodeerd om zo een optimale efficiëntie voor transmissie te bekomen.

Het WAP protocol heeft vier lagen, waarop de Wireless Application Environment (WAE) op steunt:

Voor een diepgaande bespreking van elk van deze lagen, kan de lezer steeds terecht in de bijlagen. Op figuur 2 kan de lezer een voorstelling vinden van de WAP protocolarchitectuur. Als referentie werd ook de typische Internet protocolstack opgenomen. De vier bovengenoemde lagen werden genummerd.

HTML, HTTP, TLS-SSL, TCP/IP en UDP/IP
Figuur 2: de WAP- en Internetprotocolstack

In de meeste gevallen is het zo dat de eigenlijke applicatie op een Webserver is gelokaliseerd. De inhoud (content) kan dan WAP zijn, gecreëerd met WML en WMLScript, of het kan HTML zijn. Sommige gateways zijn dan ook in staat om HTML in WML te vertalen.

Bij WAP worden de applicaties geadresseerd via een URL, op dezelfde manier waarop dit gebeurt in andere Internet protocollen. De figuur op de volgende pagina illustreert dit proces. De stapsgewijze verklaring van de genummerde stappen werd ter verduidelijking onder de figuur opgenomen.

De technische specificatie van WAP gaat dieper in op de mogelijkheid om inhoud die in HTML is opgesteld, automatisch te converteren naar het formaat dat geschikt is voor de mobiele terminals.

Client, WAP Gateway, Web Server
Figuur 3: de procedure bij een verzoek van een mobiele terminal (WAP)

Zoals gezegd is WAP zeer gelijklopend met een Web model, en het functioneert als volgt:

  1. De gebruiker drukt een telefoontoets is waaraan een verzoek is verbonden. Bij de applicatie die doorheen dit boek wordt ontwikkeld, is dat de URL
        http://mmm.wap43.com/jake/go.wml
    
  2. De user agent zendt dit verzoek naar een WAP gateway, gebruik makend van het WAP protocol.
  3. De gateway start dan een conventioneel HTTP verzoek op voor de doorgezonden URL en zendt dat naar de Web server.
  4. Het HTTP verzoek wordt verwerkt door de Web server. De URL kan verwijzen naar een statisch bestand, of naar een CGI-script (Common Gateway Interface) of een ander scripttoepassing. In het eerste geval zal de Webserver dit bestand zoeken en er een header aan toevoegen. Als de URL verwijst naar een scripttoepassing, dan zal de Web server deze toepassing starten.
  5. De Web server verstuurt het WML deck met de toegevoegde HTTP header of de WML uitvoer van de CGI of andere scriptapplicatie.
  6. De WAP gateway verifieert de HTTP header en de WML inhoud en codeert ze in binaire vorm. De gateway genereert dan een WAP antwoord dat WML bevat en stuurt dit door naar de user agent.
  7. De user agent ontvangt het WAP antwoord. Het verwerkt de WML code en toont de eerste card van het WML deck aan de gebruiker. Het cardconcept komt in hoofdstuk twee van dit werk uitvoerig aan bod.

volgende
inhoudstafel