Académique Documents
Professionnel Documents
Culture Documents
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)
Fundamentally Different
Low processing and batter power
Manish
Motivation
Examples:
Delays with Interactive Voice Response (IVR)
laptop…)
SMS: billions of messages per month
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
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
Content Developers
Manish
What is WAP
WAP is both an architecture and set of specifications that
provide:
Wireless Application Environment (WAE)
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
Comparison
Web: Security at 2 levels: IPSec and TLS
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 ]
Manish
WTP
Reliable data transfer
No explicit connection setup
Reduces 3-way handshake
Supports:
Retransmission, selective-retransmit,
Manish
WTP Example
Manish
Session Protocol: WSP
Equivalent to HTTP
Enhancements to HTTP 1.1
Compact encoding (WBXML)
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
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
Manish
Markup Language: WML
Web equivalent: XML/HTML
Tag-based browsing language
Screen management
Data input
Hyperlinks
Manish
WML
WML Cards
User interactions are split into cards
Card Navigation
Hyperlinks, UI event handling
History
State Management
Shared Variables
Manish
WML
Syntax
<p> paragraph </p>
Linebreak <br/>
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)
Manish
WAE - WMLScript
In Practice:
Bytecode-based virtual machine
ROM-able
Manish
Questions ?
Manish
PUSH Framework
Goals :
Reduce penalty of polling
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
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
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
Manish