Bryggorna mellan waptelefon och webbserver

PDF-fil med översiktstabell över wap-bryggor

En wap-brygga eller »gateway» sitter mellan wap-enheten - det må vara en telefon, en handdator eller en wap-läsare på en persondator - och vanliga webbservrar som står för innehåll och tillämpningar. Bryggans uppgift är att översätta mellan de protokoll och dataformat som används.

En viss begreppsförvirring råder eftersom bryggan ofta kallas »wapserver», »mobile Internet server» och liknande. Dessutom säljs ofta integrerade produkter med wap-brygga, webbserver, SMS-server (Short Message Service) och andra funktioner. I tabellen finns även sådana produkter. På grund av detta och eftersom många leverantörer vänder sig till operatörer och har komplicerade prisstrukturer har vi inte tagit med något pris. Det finns dock wapbryggor med fast prissättning, främst avsedda för företagsinternt bruk. Flera bryggor med öppen källkod är dessutom gratis.

Wap i sig specificerar inte hur data ska transporteras mellan läsaren och wap-bryggan, utan det är upp till bärartjänsten. Men i stort sett alla GSM-baserade läsare använder idag det förbindelselösa UDP (User Datagram Protocol) för kommunikationen till wap-bryggan, vilket förenklar något. SMS är också ett alternativ, som vi dock aldrig sett användas i praktiken. Att inte SMS används kan bero på att det finns en rad ostandardiserade gränssnitt till SMS-tjänsterna. Att en brygga klarar SMS betyder inte att den klarar SMS till alla operatörers nät.

Ovanpå bärartjänsten ligger själva stacken med wap-protokoll. Utrymmet här är för begränsat för att i detalj gå in på hur wap-protokollen fungerar. I princip motsvarar strukturen och funktionen den som används på Internet för vanliga webbtjänster.

Säkerhetsprotokoll halva vägen

Av alla protokoll är säkerhetsprotokollet WTLS (Wireless Transport Layer Security) bra att känna till. Det sköter kryptering av kommunikationen samt säker identifiering av användare och servrar. WTLS motsvarar webbens SSL (Secure Sockets Layer) och kräver likaledes kryptocertifikat för servrarna och/eller för användare. Notera att WTLS bara sköter säkerheten fram till wap-bryggan, från bryggan till webbservern måste något annat protokoll användas, vanligtvis SSL. Det sker alltså en dekryptering och omkryptering av data i wap-bryggan, varför lösningen inte lämpar sig för riktigt känsliga tillämpningar.

Wap-bryggan sitter mellan wap-läsaren och webbservern med innehåll och tillämpningar. Bryggans uppgift är att översätta mellan "vanliga" textbaserade webbprotokoll och de binärkodade wap-protokollen.


En väsentlig skillnad gentemot hur webben funkar är att binär-kodning av data används för wap. En vanlig webbserver lämnar ifrån sig text, som är läslig i vilken texteditor som helst. För wap kodas texten om i kompaktare binärformat, vilket ger mindre data att skicka. Antingen kan binärkodning skötas av webbservern eller av wap-bryggan, beroende på vald systemlösning. Det vanligaste är att wap-bryggan sköter kodningen.

Kommunikationen mellan webbservern och wap-bryggan funkar precis som vanlig webb, HTTP används. Dataformatet är WML (Wireless Markup Language), som lånat drag av äldre HTML, men är mer strikt definierat i XML.

Wap har inga kakor

Det som är intressant för en wap-brygga är vilken version av wap den klarar. Till exempel har version 1.2 av wap funktioner för att mata läsarna med data från servern (push). Implementationen av säkerhetsprotokollet WTLS är viktigt för känsliga tjänster som bank- och företagstjänster.

Men det krävs en lång rad tjänster utanför själva wap-standarden för att kunna bygga användbara system. Wap-bryggan behöver därför gränssnitt mot externa program, till exempel för att koppla till system för debitering och loggning.

Viktigt är också vilka bärartjänster som bryggan hanterar. Även om alla GSM-produkter idag använder UDP är det aktuellt med andra protokoll på andra marknader än Europas.

En eftersatt funktion är användaridentifikation, motsvarande webbservrarnas kakor (cookies). Wap saknar idag möjligheten att på ett standardiserat sätt identifiera wap-enheter. Det är en klar miss, speciellt med tanke på att telefonnumret i GSM utgör en säker och unik identitet. Wap-bryggor har därför tillverkarspecifika sätt att identifiera wap-enheter och lagra information om dem. När man bygger system måste man ta hänsyn till detta och i så stor utsträckning som möjligt använda automatisk identifikation av användare mellan wap-bryggan och webbservern. De flesta wap-tillämpningar blir nämligen flera gånger mer lättanvända om användaren slipper knappa in användarnamn och lösen varje gång.

Sist men inte minst är identifikation och rapportering av vilken typ av wap-läsare som används viktig. Wap-bryggan måste skicka information om vilken läsare som används till webbservern, så att den kan skicka WML-sidor avpassade för just den läsaren. Alla wap-bryggor klarar tyvärr inte detta.

Vi tar tacksamt emot tips på fler wap-bryggor!



Text : Ola Sigurdson

  (20000824)

Läs mer om

Wap