Wireless Application
Protocol &
Wireless Markup
Language
Meng Gan
Institute of
Telematics
University of
3/11/200
1
Karlsruhe 1
Overvie
w
■ Motivation
■ WAP
■ WML
■ Applicatio
ns
■ Conclusio
3/11/200 WAP&WM 2
1 L
Motivati
on
■ Advances of mobile
communication systems,
especically GSM
■ Phenomenal growth of handy, PDA
and other handheld devices
■ New services required
3/11/200 WAP&WM 3
1 L
Wireless
Communication
3/11/200 WAP&WM 4
1 L
M-
Commerce
3/11/200 WAP&WM 5
1 L
Applicatio
ns
3/11/200 WAP&WM 6
1 L
PC +
Internet
■ High performance PC
■ Wired Internet connection
(V.90 modem, ISDN, xDSL,
Ethernet, ...)
■ Network protocols: TCP/IP +
HTTP
■ Document format: HTML
3/11/200 WAP&WM 7
1 L
Problems with Wireless
Networks
■ Low bandwidth
■ High latency and jitter
■ High transmission error
rate
■ Low connection stability
3/11/200 WAP&WM 8
1 L
Problems with Wireless
Terminals (Handy,
PDA,...)
■ Small screen, limited display
capability
■ One-finger navigation
■ Limited RAM/ROM
■ Limited CPU performance
■ Low battery life
3/11/200 WAP&WM 9
1 L
Solutio
ns
■ Internet access via handheld
devices was possible before
WAP, but the technologies
never took off commercially
because they used proprietary
technologies that didn‘t work
across different platforms.
3/11/200 WAP&WM 10
1 L
WAP-
Forum
■ http://www.wapforum.org
■ A consortium of hardware,
software, service and other
wireless-industry vendors
■ Founded in June 1997
3/11/200 WAP&WM 11
1 L
WAP Overview
(I)Designed to address small devices‘
■
technical limitations
■ Work with a variety of wireless
platforms
■ Offer a scalable, extensible protocol
stack
■ Designed to solve some of the problems
caused when small low-powered devices on
different platforms try to use low-bandwidth
wireless network technology to access
services or data-intensive content via the
Internet
■ WAP uses proxy technology to connect
3/11/200 WAP&WM 12
1 wireless technologyL with the Web.
WAP Overview
(II)
■ The WAP system architecture is based on the
WWW programming model, yet optimized to
suit the characteristics of a mobile network.
■ WAP is a global multi-layered protocol which
is designed to bring Internet contents to
“Thin-Client“ devices
■ Wireless Application Protocol (WAP) is a set of
communications protocols that standardise
the way that wireless devices can be used
for internet-based access
3/11/200 WAP&WM 13
1 L
WAP Overview
(III)
■ Client/Server approach
■ Microbrowser in the mobile
phone, requiring only limited
resources
■ WAP puts the intelligence in the
WAP Gateways
3/11/200 WAP&WM 14
1 L
WAP Service
Model
3/11/200 WAP&WM 15
1 L
How It
Works
3/11/200 WAP&WM 17
1 L
WAP Network
Elements Fixed Network Mobile Network
HTML WML WAP Binary
Intern
filter WML prox
et
y
HTML WML
HTML
filte Binary WML
r/
web HTML WAP
prox
serve y
r
WTA Binary
server WML
PSTN
Binary WML: binary file format for
3/11/200 clients
WAP&WM 18
1 L
WAP Reference
Model
Internet WAP
HTML, Java Application Layer additional
(WAE) services and
applications
HTTP Session Layer
(WSP)
Transaction Layer
(WTP)
SSL/TLS Security Layer (WTLS)
TCP/IP, Transport Layer (WDP)
UCP/IP, Transport technologies (GSM, CDPD, ...)
media
WAE comprises WML (Wireless Markup Language), WMLScript,
WTAI etc.
3/11/200 WAP&WM 19
1 L
WDP - Wireless
Datagram Protocol
■ Protocol of the transport layer within the WAP
architecture
■ Uses directly transport mechanisms of different
network technologies
■ Offers a common interface for higher layer
protocols
■ Allows for transparent communication using
different transport technologies
■ Goals of WDP
■ Create a worldwide interoperable transport system
with the help of WDP adapted to the different
underlying technologies
■ Transmission services such as SMS in GSM might
3/11/200 change, new services can replace the old ones
WAP&WM 20
1 L
WTLS -Wireless
Transport Layer
Security
■ Goals
■ Data integrity
■ prevention of changes in data
■ Privacy
■ prevention of tapping
■ Authentication
■ creation of authenticated relations between a
mobile device and a server
■ Protection against denial-of-service attacks
■ protection against repetition of data and unverified
data
■ WTLS
■ Based on the TLS (Transport Layer Security) protocol
(former SSL, Secure Sockets Layer)
3/11/200■ Optimized for low-bandwidth
WAP&WM communication channels 21
1 L
WTP - Wireless
Transaction Protocol
■ Common interface to transport mechanisms, port-based abstract
interface to applications
■ Application is independent of transport mechanisms
■ Support of different communication scenarios
■ Connection oriented (WTP/C): reliable, full-duplex, QoS
negotiation, flow control, message oriented
■ Transaction oriented (WTP/T): reliable, data already in the first
packet, flow control
■ Connectionless (WTP/D): unreliable, ca be UDP if IP used for
layer 3
■ Supports peer-to-peer, client/server and multicast applications
■ Low memory requirements, suited to simple devices (< 10kbyte )
■ Efficient for wireless transmission
■ Segmentation/reassembly
■ Selective retransmission
■ Header compression
■ Optimized connection setup (setup with data transfer)
3/11/200 WAP&WM 22
1 L
WSP - Wireless Session
Protocol
■ HTTP 1.1 functionality
■ Request/reply, content type
negotiation, ...
■ support of client/server, transactions,
push technology
■ key management, authentication,
Internet security services
■ session management
(interruption, resume,...)
3/11/200 WAP&WM 23
1 L
WAE - Wireless
Application
Environment
■ Goals
■ Network independent application environment for low-bandwidth,
wireless devices
■ Integrated Internet/WWW programming model with high
interoperability
■ Requirements
■ Device and network independent, international support
■ Manufacturers can determine look-and-feel, user interface
■ Considerations of slow links, limited memory, low computing
power, small display, simple user interface (compared to
desktop computers)
■ Components
■ Architecture: application model, browser, gateway, server
■ WML: XML-Syntax, based on card stacks, variables, ...
■ WMLScript: procedural, loops, conditions, ... (similar to
JavaScript)
■ WTA: telephone services, such as call control, text messages,
phone book,
3/11/200 WAP&WM 24
... (accessible from WML/WMLScript)
1 L
■ Content formats: vCard, vCalendar, Wireless Bitmap, WML, ...
Examples for WAP
protocol stacks
WAE user agent WAP standardization
WAE outside WAP
transaction
WSP based
application
datagram
WTP based
WTP
application
WTLS
WTLS WTLS
UDP WDP
UDP WDP UDP WDP
IP non IP
(GPRS, ...) (SMS, ...) IP non IP IP non IP
(GPRS, ...) (SMS, ...) (GPRS, ...) (SMS, ...)
typical WAP
pure data
application
application
with complete
with/without
stac
protocol
3/11/200 k WAP&WM additional security 2
1 L 4
Network Example
#1 WAP Gateway
3/11/200 WAP&WM 26
1 L
Network Example
#2 WAP Application
Server
3/11/200 WAP&WM 27
1 L
Payload vs.
Overhead
3/11/200 WAP&WM 28
1 L
HTML and mobile
devices
■ HTML
■ designed for computers with “high” performance, color high-
resolution display, mouse, hard disk
■ typically, web pages optimized for design, not for
communication
■ Mobile devices
■ often only small, low-resolution displays, very limited input
interfaces (small touch-pads, soft-keyboards)
■ Additional “features”
■ animated GIF, Java AWT, Frames, ActiveX Controls,
Shockwave, movie clips, audio, ...
■ many web pages assume true color, multimedia support, high-
resolution and many plug-ins
■ Web pages ignore the heterogeneity of end-systems!
■ e.g., without additional mechanisms, large high-resolution pictures
would be transferred to a mobile phone with a low-resolution
display causing high costs
3/11/200 WAP&WM 29
1 L
WML/
WMLScript
■ Wireless Markup Language
■ Based on XML
■ WML enables small and flexible
information display on mobile
phones or PDAs
■ WML permits scale of display
■ WMLScript is based on ECMAScript
3/11/200 WAP&WM 30
1 L
WML
(I)
■ Tag-based browsing language
■ Screen management (text,
images)
■ Data input (text, selection lists,
etc.)
■ Hyperlinks and navigation
support
■ W3C XML-based language
■ Inherits technology from HDML
3/11/200 WAP&WM 31
1 and HTML L
WML
(II)
■ Card metaphor
■ User interactions are split into
cards
■ Navigation occurs between cards
■ Explicit inter-card navigation
model
■ Hyperlinks
■ UI event handling
■ History
■ State management and
variables
3/11/200 WAP&WM 32
1 ■ Reduce networkL traffic
WML Example
(I)
<?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=„no1“ title="Image">
<p>
This is an image
<img src="../images/stickman.wbmp"
alt="stickman" />
in a paragraph
</p>
</card>
</wml>
3/11/200 WAP&WM 33
1 L
WML Example
(II)
<?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="card1" title="School">
<do type="accept" label="Answer">
<go href="#card2"/>
</do>
<p>
<select name="name">
<option value="HTML">HTML School</option>
<option value="XML">XML School</option>
<option
</select> value="WAP">WAP School</option>
</p>
</card>
<card id="card2" title="Answer">
<p>
You selected: $(name)
</p>
</card>
</wml>
3/11/200 WAP&WM 34
1 L
WMLScri
ptWMLScript is the scripting language
■
used in WML pages
■ WMLScript is a light version of the
JavaScript language
■ WML scripts are not embedded in the
WML pages. WML pages only contains
references to script URLs
■ WMLScript is compiled into byte code
on the server before it is sent to the
WAP browser
■ WMLScript is a part of the WAP
3/11/200 WAP&WM 35
1 specification L
WMLScript
Example
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD
WML 1.1//EN"
"http://www.wapf extern function go_url(the_url)
orum.org/DTD/wml_1.1.xml" {
> if (String.find(the_url,"http://") < 0)
<wml> {
<card id="no1" title="Go to URL"> the_url="http://"+the_url;
<do type="options" label="Go"> }
<go WMLBrowser.go(the_url);
href="check.wmls#go_url('my_url')"/> }
</do>
<p>
Enter a URL: check.wmls
<input type="text" name="my_url"/>
</p>
</card>
</wml>
3/11/200 WAP&WM 36
1 L
Contents
Provision
3/11/200 WAP&WM 37
1 L
Implementati
on
■ Nokia Activ Software
Suite
■ Phone.com UP.Link
Server
■ Kannel
■ http://www.kannel.org
■ Open Source Project
3/11/200 WAP&WM 38
1 L
Test WAP on
PC
■ Virtual WAPJAG
■ http://virtual.wapjag.com
■ http://virtual.wapjag.com/?url=wa
p.n-
tv.de
3/11/200 WAP&WM 39
1 L
Useful WAP
sites:
■ WAP sites catalog
■ http://www.wap.de/Katalog/index.
html
■ News
■ wap.n-tv.de
■ wap.tagesschau.de
■ Information
■ wap.lufthansa.de
■ wap.bahn.de
■ Search engine
■ wap.fireball.de
3/11/200 WAP&WM 40
1 L
Possible
Applications
M-commerce - shopping, tickets, micro-payments
■
■ Finance - statements, funds transfer, shares trading
■ M-billing - notification, presentation and payment of
bills
■ Enterprise access - inventory, shipment/sales
updates, email
■ M-care - customer service, payment status, account
updates
■ Entertainment - games, gambling, interactive
multi-player events
■ Messaging - communication and collaboration
■ Travel - scheduling, advisories, reservations
■ Location services - traffic reports, parking
information, store discounts,
3/11/200 WAP&WM event 41
1 L
recommendations
Consumer
Applications
■Simple Person ■ Prepayment
to Person ■ Ringtones
Messaging ■ Mobile Commerce
■ Voice and Fax ■ Affinity Programs
Mail
Notifications
■ Mobile Banking
■ Unified
■ Chat
Messaging ■ Information
■ Internet Email Services
3/11/200 WAP&WM 42
1 L
Corporate
Applications
■Job Dispatch ■ File Transfer
■ Remote Point Of ■ Web Browsing
Sale ■ Document Sharing
■ Customer Service ■ Collaborative
■ Remote Monitoring Working
Such As Meter ■ Audio
Reading ■ Still Images
■ Vehicle Positioning ■ Moving Images
■ Corporate Email ■ Home Automation
■ Remote LAN Access
3/11/200 WAP&WM 43
1 L
WAP 2.0 - the
Next
Generation
■XHTML (with backwards
compatibility to WML)
■ TCP
■ Color graphics
■ Animation
■ Large file downloading
■ Location-smart services
■ Streaming media
■ Data synchronization with desktop
PIM
3/11/200 WAP&WM 44
1 L
But, What is Actually
WAP
■Where are the phones
■ Wasn‘t actually possible
■ Challenges
■ Will it offer appealing content
■ Will it be obsolete by other technologies
■ What happens if „Thin-Client“ becomes
more powerful
■ What happens if more bandwidths are
available
3/11/200 WAP&WM 45
1 L