What is WAP?
•A set of protocols which allow data exchange for
mobile cellular systems
•The current world standard for the presentation and
delivery of wireless information
•It is device independent
•It is network independent
Wireless Application Protocol
(WAP)
•Goal: a set of communication protocol standards to
make accessing online services from a mobile phone
simple
•“The motivation for developing WAP was to extend
Internet technologies to wireless networks, bearers and
devices.”[90], page 4.
•Initially conceived by four companies: Ericsson,
Motorola, Nokia, and Openwave Systems Inc.
(formerly Unwired Planet)
•WAP Forum is an industry association to promote WAP,
they are now called “The Open Mobile Alliance Ltd.”
http://www.openmobilealliance.org/
WAP (first round) Summary
•Massive failure, because:
•tried to introduce a WAP protocol stack
•did not really provide an end-to-end service {because they wanted to
keep the operator in the middle of all transactions} - the result is that
content was in clear text in the WAP gateway
•the result was significant security problems - especially because the changes that were
introduced into the “WAPified” SSL introduced problems
•most operators used SMS to carry the WAP traffic and this was too
expensive and had very significant delay problems
•many terminals had problems with their software and each type had its
own resolution, size, … - so content had to be prepared for a specific
terminal {which increased content development costs - since automatic
conversion was not really successful}
•WAP 2.0 moves toward being an IP based stack (with HTTP, TLS, and
TCP) - although of course they still support their earlier “optimized /
wapified” stack. The new model is a direct connection between mobile
and HTTP server.
WAP 2.0
Wireless Profiled
HTTP (WP-HTTP)
a profile of HTTP for the wireless environment and is fully
interoperable with HTTP/1.1. Built on HTTP request/response
transaction. Supports message body compression of responses
and the establishment of secure tunnels.
Transport Layer
Security (TLS)
a wireless profile of the TLS protocol, includes cipher suites,
certificate formats, signing algorithms and the use of session
resume. Support
end-to-end security at the transport level.
Wireless Profiled
TCP (WP-TCP)
provides connection-oriented services, optimized for wireless
environments and fully interoperable with standard TCP
implementations. Builds upon IETF Performance Implications of
Link Characteristics (PILC) working group recommendations
Wireless Session
Protocol (WSP)
Wireless Transaction Protocol (WTP), Wireless Transport Layer
Security (WTLS), Wireless Datagram Protocol (WDP) - as now
“Legacy Protocol Layers”[90]
WAP 2.0 new & enhanced services
WAP Push
allows content to be sent or "pushed" to devices by server-based applications via
a Push Proxy; real-time applications; provides control over the lifetime of
pushed messages, store & forward capabilities at the Push Proxy, control over
bearer choice for delivery.
User Agent
Profile (UAProf)
provides a mechanism for describing the capabilities of clients and the preferences of
users to an application server, based on the Composite Capabilities / Preference
Profiles (CC/PP) work of the W3C Wireless Telephony Application (WTA)
External
Functionality
Interface (EFI)
specifies the interface between WAE and components or entities with embedded
applications that execute outside of the defined WAE capabilities (i.e., basically
allowing plug-in modules) - thus allowing access to external devices (e.g. smart
cards, GPS, digital cameras, sensors, …)
Persistent
Storage
Interface
a standard set of storage services and interface for organizing, accessing, storing and
retrieving data on the wireless device or other connected memory device.
Data
Synchronization
adopts SyncML language for the data
synchronization (see www.syncml.org)
Multimedia
Messaging
Service (MMS)
permits delivery of varied types of content
Provisioning
provides clients with information needed to operate on wireless networks; permits
network operator to manage the devices on its network using a common set of tools
Pictogram tiny images, that can be used to quickly convey concepts in a small amount of space
Current Constraints of
Wireless Interfaces: Mobile Devices:
Less Bandwidth Less CPU Power
High Latency Less Memory and Storage
Less Stable Connections Restricted Power Consumption
Less Predictable Availability Small / Variable Sized Displays
Diverse range of network standards
Variable Input Types (Keypad, Pen,
etc,)
•Wireless networks and phones
–have specific needs and requirements not addressed by
existing Internet technologies.
•WAP enables any data transport
–TCP/IP, UDP/IP, GUTS (IS-135/6), SMS, or USSD.
•The WAP architecture
–has several modular entities which together form a fully
compliant Internet entity
–all WML content is accessed via HTTP 1.1 requests.
Why Use WAP ?
Why Use WAP ? (cont..)
•WAP utilizes standard Internet markup language technology
(XML)
•Optimizing the content and airlink protocols
•The WML UI components map well onto existing mobile
phone user interfaces
–no re-education of the end-users
–leveraging market penetration of mobile devices
•WAP utilizes plain Web HTTP 1.1 servers
–leveraging existing development methodologies
–CGI, ASP, NSAPI, JAVA, Servlets, etc.
WAP Model
•Now called the WAP “Proxy Model” – since
WAP gateway acts as a proxy:
WAP
gateway
origin
server HTML
WML
filter
WML
microbrowser
Request
WML
Encoded Request
Encoded WML
GSM Network
WAP Programming Model
Aligned with the Web Programming Model, uses the Pull Model
Add telephony support with WTA (Wireless Telephony Application)
and enabling a Push Model, where a server can proactively send
content to the client.
WAP optional Proxy Model
In WAP1.* (1998-2000) a WAP proxy (in the middle) was
used (still required for push)
WAP - Wireless Application Protocol
Goals
deliver Internet content and enhanced services to mobile devices
and users (mobile phones, PDAs)
independence from wireless network standards
open for everyone to participate, protocol specifications will be
proposed to standardization bodies
applications should scale well beyond current transport media
and device types and should also be applicable to future
developments
Platforms
e.g., GSM (900, 1800, 1900), CDMA IS-95, TDMA IS-136, 3rd
generation systems (IMT-2000, UMTS, W-CDMA, cdma2000 1x EV-DO, …)
Forum
was: WAP Forum, co-founded by Ericsson, Motorola, Nokia, Unwired
Planet, further information www.wapforum.org
now: Open Mobile Alliance www.openmobilealliance.org (Open
Mobile Architecture + WAP Forum + SyncML + …)
WAP - scope of standardization
Browser
“micro browser”, similar to existing, well-
known browsers in the Internet
Script language
similar to Java script, adapted to the
mobile environment
WTA/WTAI
Wireless Telephony Application (Interface): access to
all telephone functions
Content formats
e.g., business cards (vCard), calendar
events (vCalender)
Protocol layers
transport layer, security layer, session layer etc.
•The basic (erroneous) thoughts behind WAP were:
•that terminals were “limited” in processing / memory / display,
•that the communication channel was expensive,
•that the operator was “the” natural intermediary in every mobile
user’s interaction with any services, and
•that a special protocol stack was necessary to “optimize” for the
above.
•An emphasis was on push services: In push services content is
sent to the user without the user requesting it.
The WAP Architecture
Web Server
Content
CGI
Scripts
etc.
WML Decks
WAP Push
This service allows content to be sent or "pushed" to devices by
server-based applications via a Push Proxy
WAP Push messages are specially formatted SMS messages that
display an alert message to the user, and give the user the option of
connecting directly to a particular URL via the mobile phone's WAP
browser
Push functionality is especially relevant to real-time applications – e.g.
that send notifications as messaging, stock price and traffic update
alerts
Without push, these applications would require the devices to poll
application servers for new information or status
In wireless environments such polling activities would constitute
inefficient and wasteful use of the resources of wireless networks.
More Acronyms to learn
•WAE - Wireless Application Environment
•WSP - Wireless Session Protocol
•WTP - Wireless Transaction Protocol
•WTLS - Wireless Transport Layer Security
•WDP - Wireless Datagram Protocol
WAP 1.x - reference model and protocols
Security Layer (WTLS)
Session Layer (WSP)
Application Layer (WAE)
Transport Layer (WDP) TCP/IP,
UDP/IP,
media
SSL/TLS
HTML, Java
HTTP
Internet Wireless Application Protocol
Transaction Layer (WTP)
additional services
and applications
WCMP
A-SAP
S-SAP
TR-SAP
SEC-SAP
T-SAP
SMS USSD CSD IS-136 CDMA CDPD PDC-P Etc.
Bearers, ...
WAP Protocols
•WSP (Wireless Session Protocol)
–Provides the application layer of WAP with a consistent
interface for two session services.
•A connection-oriented service that operates above the
transaction layer protocol WTP.
•A connectionless service that operates above a secure or
non-secure datagram service (WDP).
WAP Protocols
•WTP (Wireless Transaction Protocol)
–Provide efficient request/reply based transport
mechanism suitable for devices with limited resources
over networks with low to medium bandwidth.
•WTP Push mode allows server to “push” data to a client
without request (e.g. notification of stock hitting target
price)
•WTP/WDP uses less than half the packets that TCP/IP
uses to transfer the same amount of data.
WAP Protocols
•WTLS (Wireless Transport Layer Security)
–A security protocol based upon the industry-standard
Transport Layer Security (TLS) protocol, formerly known as
Secure Sockets Layer (SSL). WTLS is intended for use with
the WAP transport protocols and has been optimized for
use over narrow-band communication channels.
WAP Protocols
•WDP (Wireless Datagram Protocol)
–The Transport layer protocol in the WAP architecture
–Provides a common interface to the Security, Session,
and Application layers
–Allows these upper layers to function independently
of the underlying wireless network. This is the key to
global interoperability
An incomplete list of corporations currently developing WAP
products and/or services:
• AT&T
• Bell Atlantic Mobile
• GTE
• Sprint PCS
• US West
• Nextel
• France Telecom
• Telenor (Norway)
• Bell Mobility (Canada)
• Japan Telecom
• Nokia
• Ericsson
• Motorola
• Qualcomm
• Samsung
• Palm Computing (3Com)
• IBM
• Phone.com (Unwired Planet)
WAP Developers
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, ... (accessible from WML/WMLScript)
content formats: vCard, vCalendar, Wireless Bitmap, WML, ...
Wireless Markup Language (WML)
WML follows deck and card metaphor
WML document consists of many cards, cards are grouped to
decks
a deck is similar to an HTML page, unit of content transmission
WML describes only intent of interaction in an abstract
manner
presentation depends on device capabilities
Features
text and images
user interaction
navigation
context management
•Tag-based browsing language:
–Screen management (text, images)
–Data input (text, selection lists, etc.)
–Hyperlinks & navigation support
•XML-based language
•Inherits technology from HTML
WML
Wireless Markup Language
WML
Wireless Markup Language
•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
–Reduce network traffic
–Results in better caching
WML Script
Complement to WML
Provides general scripting capabilities
Features
validity check of user input
check input before sent to server
access to device facilities
hardware and software (phone call, address book
etc.)
local user interaction
interaction without round-trip delay
extensions to the device software
configure device, download new
functionality after deployment
<CARD NAME="card2">
<DO TYPE="ACCEPT">
<GO URL="?send=$type"/>
</DO>
Services
<SELECT KEY="type">
<OPTION VALUE="em">Email</OPTION>
<OPTION VALUE="ph">Phone</OPTION>
<OPTION VALUE="fx">Fax</OPTION>
</SELECT>
</CARD>
</WML>
Acme Inc.
Directory
____________
Next
Services
1>Email
2 Phone
3 Fax
____________
OK
A WML Example
Wireless Telephony Application (WTA)
Collection of telephony specific extensions
Extension of basic WAE application model
content push
server can push content to the client
handling of network events
client side there is a table indicating how to react on certain
events from the network
access to telephony functions
any application on the client may access telephony functions
Example
calling a number (WML)
wtai://wp/mc;07216086415
calling a number (WMLScript)
WTAPublic.makeCall("07216086415");
Advantages of WAP 2
If you are familiar with web technologies such as HTML, XHTML,
and CSS, you can start developing your WAP site almost
immediately
The same development tools can be used to develop both
web sites and WAP sites
Ordinary web browsers can be used to view your WAP site
during the development process
HTML / XHTML pages on your web site can be converted to
XHTML MP documents with minor changes or even without
any changes
XHTML MP supports WAP CSS, which enables the separation
of content and presentation in different files
With XHTML MP and WAP CSS, you have more control over the
presentation: e.g., you can control borders, backgrounds, margins,
padding, font sizes, font families and font colours.
WAP 2.0 Enhancements
User Agent Profile (UAProf) – This service provides a
mechanism for describing the capabilities of clients and the
preferences of users to an application server
Based on the Composite Capabilities / Preference Profiles (CC/PP)
work of the W3C, UAProf supports the client-server transaction
model by sending client and user information to servers with
the request
This information permits the servers to adapt their content
accordingly in preparation for the response
Recognizing the importance of user's privacy, personal information
submitted in these requests may be controlled by the user
Data Synchronization – The SyncML messages are supported
over both the WSP (Wireless Session Protocol) and HTTP/1.1
protocols.
UAProf
UAProf (User agent profile) is an XML document that contains
information about the user agent type and device capabilities
User agent profiles are stored in a server called the profile repository
(often maintained by a mobile device manufacturer)
The URL that points to the user agent profile of a mobile device can be
found in the headers of requests sent by the mobile device: x-wap-
profile header
Example, the UAProf of Nokia N95 8Giga:
http://nds.nokia.com/uaprof/NN95_8GB -
1r100.xml