WAP & WML Digest

Manish

Manish

Roadmap
       

Motivation WAP History Introduction to WAP WAP protocol stack Stack Components WML Future of WAP Related Technologies

Manish

Differing Views on Wireless Messaging

Just a “scaled down version”  IP could be modified (Mobile IP)  Retain web technologies Fundamentally Different  Low processing and batter power  Only a few lines of display  “Not always on”  WAP follows this school of thought

Manish

Motivation

Examples:  Delays with Interactive Voice Response (IVR)  1-simple device rather than n-devices (palmtop, laptop…)  SMS: billions of messages per month  Mobile camera/printer example  Virtual cash – coke machine example  Flight Delay example
Manish

Origin & Inspirations
   

Phone.com’s HDML browser and UP.Link server Nokia’s smart messaging The Internet : Browser as thin client! Carriers needed Value Added Services

Manish

How to think of WAP
 

Not Wireless Web Value added Service to cellular phones

Manish

WAP Goals

   

Force a single new box upon carriers (WAP Gateway)  Minimal initial investment  Minimal disruption to infrastructure Do not force IP on carriers (Own protocol suite) Provide security (“Walled Garden” Approach, WTLS) Integrate telephony support (WTA) Make content suitable for one handed devices (WML…)

Manish

WAP Introduction

Manish

WAP Forum
 

Established 1997 Aim is ‘to develop the de-facto world standard for wireless information and telephony services on digital mobile phones and other wireless terminals.’ Comprises of  Network Operators, Network Infrastructure suppliers  Mobile Device Suppliers, IT Companies  Content Developers

Manish

What is WAP

WAP is both an architecture and set of specifications that provide:  Wireless Application Environment (WAE)  Protocol stack for WAE  Transport Layer security  Additional Specifications for Telephony, PUSH etc..

Manish

Abstract Network Architecture

WAP Abstract Network Architecture resembles Internet Browser Request-Response model

Manish

Questions ?

Manish

WAP Stack

Based on the Internet Protocol Stack

Manish

Application Environment (WAE)

W hat is W AE ?  Top of the W AP stack exposed to user and developers  Components:

Manish

WAP vs Internet

Mapping Internet protocols onto W AP

Manish

WAP: Deployment Models

WAP WSP Server  WAP + Web Server WAP Proxy  WAP + HTTP Client

Manish

Deployment Model: WSP Server

Manish

Deployment Model: WSP Proxy/Gateway

Manish

Abstract View

Manish

Questions ?

Manish

WAP Protocol Stack: Components

Manish

WDP
      

Web: UDP Replaced by UDP by carriers running Mobile IP Goals: To accommodate airlink addresses Addressing by port numbers Ports allocated in dynamic, private port space Defines separate ports for secure connections Problem: Too many ports, Ports not registered

Manish

WDP Example: WDP on SMS

Manish

WTLS: Transport Layer Security

Goals  Reliable data transfer  Support for certificates Comparison  Web: Security at 2 levels: IPSec and TLS  WAP: only one level (single point of contact?)

Manish

WTLS
 

 

Provides for compression and encryption No explicit connection setup/tear down (message oriented and not stream oriented) Reliable data transfer Reduce 3-way handshake

Manish

WTLS
    

Supports port number addressing Abort for outstanding requests User Acknowledgement or Stack acknowledgement Between client & proxy or WSP server Problem: Does not interoperate with TLS/SSL

Manish

Transactional Prococol: WTP

Goals  Efficient request-reply based transport mechanism Inspiration  T/TCP (Transactional TCP) 3-message models:  Class 0: Unreliable invoke (no result) [ Current session ]  Class 1: Reliable invoke (no result) [ PUSH ]  Class2 : Reliable invoke with one confirmed result WTP Ack could include explicit user confirmation!
Manish

WTP
   

 

Reliable data transfer No explicit connection setup Reduces 3-way handshake Supports:  Retransmission, selective-retransmit, segmentation/reassembly, port number addressing, flow control Message oriented (not stream) Supports Abort

Manish

WTP Example

Manish

Session Protocol: WSP
 

Equivalent to HTTP Enhancements to HTTP 1.1  Compact encoding (WBXML)  Support for PUSH  Suspend and resume  Asynchronous requests

Manish

WSP

Enhancements to HTTP 1.1
    

Connectionless service Capability negotiation Content-negotiation (content-type) Header copy (for maintaining state across requests) Multiple-transaction support (eg. file & image at same time?)

Manish

Application Environment: WAE

Goals:  Network-neutral application environment  Narrow-band suited  Device independence  Leverage on Internet technologies  Enable telephony aware apps

Manish

WAE Application Components

Manish

WAE – Content Formats
    

WML & WMLScript WBXML Images: WBMP Business Cards: IMC vCard Calendar: IMC vCalendar

Manish

Questions ?

Manish

Binary XML: WBXML
 

Similar to zip/deflate in http Tokenized XML  Zip form has structure  Allows skipping fields, random access etc.. Allows for 31 tags per code page

Manish

Markup Language: WML
 

 

Web equivalent: XML/HTML Tag-based browsing language  Screen management  Data input  Hyperlinks XML based language Inherits from HDML (Phone.com) and HTML

Manish

WML

WML Cards  User interactions are split into cards  Navigation between cards possible Card Navigation  Hyperlinks, UI event handling  History State Management  Shared Variables  Reduced network traffic
Manish

WML

Syntax  <p> paragraph </p>  Linebreak <br/>  WML Tasks e.g. <go>, <prev>, <refresh>, … Tokenized WML sent to client  Implies content provider does not know the size   About 1.5k maximum binary size

Manish

WML Deck
  

Deck = file.wml Must contain atleast one card Eg. <?XML verstion=1.0?> <! doctype wml PUBLIC …> <wml> <card> … </card> … </wml>
Manish

WML Example

Manish

WAE: WMLSciprt

Overview:  Scripting language like Java-script (ECMAScript)  Integrated with WML  Reduces overall network traffic  Client side logic

Manish

WAE - WMLScript

In Practice:  Bytecode-based virtual machine  ROM-able  Better use of bandwidth and terminal memory  Provides loops etc., shares variables with decks

Manish

Questions ?

Manish

PUSH Framework

Goals :  Reduce penalty of polling PUSH Framework provides:  Special control mechanisms for lifetime and removal

Similar to expires etc..

Security framework

Information Flow:  PushInitiator -> Push Proxy Gateway -> WAP Client
Manish

WAE: Telephony Services (WTA)

Telephony sepcific extensions  Call control, logging etc. WTA Browser:  Extensions added to WML/WMLScript browser  e.g. “wtai://” url => Call placed  Currently Data session terminates   Cannot resume data session

Manish

WAE: User Agent Profile (UAPROF)

Permits devices to advertise capabilities to WAP proxies or WSP servers and Application servers Developed jointly with W3C

Manish

Related Technologies
      

RealNames : keyword based navigation voiceXML Palm.net Avantgo Model iMode (based on cHTML) SMS, (EMS, MMS) Mobile Platforms: Symbian, CE, Palm

Manish

WAP Future

   

WAP 2.0 expected this year  Move to XHTML basic  Unclear whether WML will be discarded Short term solution until better processing capabilities Convergence with iMode expected Interaction with voiceXML Long term: Multi-modal support expected (bluetooth, wap etc.)

Manish

Questions ?

Manish

Related Technologies: SMS
   

 

Simple Messaging System Originally developed with GSM Transmitted on Signalling Channel Limit on number of characters ( 160? )  MAP protocol limitation Cheap Used for  Messaging  SIM activation/configuration  Dial tone download
Manish