Mobile Computing
Chapter 8
WAP
Asoke K Talukder
Hasan Ahmed
© Tata McGraw Hill
WAP
Wireless Application Protocol
Designed for access to Internet and advanced telephony
services from mobile phones
Pays intelligent sensitivity to the constraints of these devices
like small display, limited keys on the keypad, no pointer device
like mouse, etc.
Networks for WAP
All GSM modes
GPRS
CDMA IS-95 and cdma2000
TDMA IS-136
i-mode
3G systems: IMT-2000, UMTS, W-CDMA and Wideband IS-95
Architecture of WAP
Components of WAE
User agent which is the browser or a client program
Wireless Markup Language (WML) which is a lightweight
markup language optimized for use in wireless devices
WMLScript which is a lightweight client side scripting
language
Wireless Telephony Application
WAP Push Architecture which allow for mechanisms to allow
origin servers to deliver content to the terminal without the
terminal requesting for it
WAE
Primary objective of WAE is to provide an interoperable
environment to build services in wireless space
Content is transported using standard protocols in the WWW
domain and an optimized HTTP like protocol in the wireless
domain
WAE architecture allows all content and services to be hosted
on standard Web servers when all content is located using WWW
standard URLs
WAE enhances some of the WWW standards to reflect some of
the telephony network characteristics
Architecture of WAE
User Agent
User Agent is the user facing browser software, while in WAE
this is generally referred to as micro-browser.
WAE only defines fundamental services and formats that are
needed to ensure interoperability among implementations and
different layers.
User Agent Profile (UAProf) specification allows WAP to
notify the content server about the device capability.
Devices that support UAProf architecture provide a URL in the
WAP or HTTP session header which points to a XML file that
describes the profile of that device which is used to deliver the
content to best suit the terminal’s capabilities.
WML Script
Provides ability to do local validation of user input before it is
sent to the content server
Provides ability to access device resources, functions and
peripherals
Provides ability to interact with the user without reference to
the origin server
WSP
Wireless Session Protocol
Provides a consistent interface between two session
services (like client and server)
Provides the cooperating client/server applications to
establish a reliable session from client to server and close it
in an orderly manner, agree on a common level of protocol
functionality using capability negotiation and exchange
content between client and server using compact coding
WSP helps suspend and resume the session
WSP
It offers both connection oriented and connectionless service
while connectionless service is most suitable when applications do
not need reliable delivery of data and do not care about
confirmation.
Connection oriented session services are divided into Session
Management facility, Method Invocation facility, Exception
Reporting facility, Push facility, Confirmed Push facility and
Session Resume facility.
Designed to function on the transaction and datagram services
between WAE and the WTP and as such WSP itself does not
require a security layer.
WTP
Wireless Transaction Protocol
Runs on top of a datagram service and provides a lightweight
transaction oriented protocol that is suitable for implementation in
thin clients while employing asynchronous transactions
Allows for interactive browsing (request/response) applications
and supports three transaction classes: unreliable with no result
message, reliable with no result message and reliable with one
reliable result message
Optional user to user reliability and optional out-of-band data
on acknowledgements
PDU concatenation and delayed acknowledgements to reduce
the number of messages sent
WTLS
Wireless Transport Layer Security
Security protocol based upon the Transport Layer Security
(TLS) protocol
Intended for use with the WAP transport protocols and has
been optimized for use over narrow band communication
channels
Provides support for:
1. Data Integrity
2. Privacy
3. Authentication
4. Denial of service protection
WDP
Wireless Datagram Protocol
Transport layer protocol in the WAP architecture
Operates above the data capable bearer services supported by
the various network type general transport service
Offers a consistent service to the upper layer protocols of WAP
and communicates transparently over one of the available bearer
services
Uses User Datagram Protocol (UDP)
By keeping the transport layer and the basic features consistent,
global interoperability can be achieved using mediating gateways
WAP Gateway
Acts as a middleware which performs coding and
encoding between cellular device and the web server
Can be located either in a telecom network or within a
computer data network (ISP)
Implements a WAP protocol stack
Does protocol translation between phone and server
Compresses WML pages to save bandwidth
Does user authentication and billing
WAP Gateway
External interfaces of WAP gateways are:
1. SMS center using various protocols
2. HTTP servers to fetch WML pages
3. WAP devices using WAP protocol stack
Keeps the number of packets small to keep costs down and
make the best use of available bandwidth
May include the charging function
Architecture of WAP Gateway
WML
Wireless Markup Language
Tag based document manipulation language which shares a
heritage with HTML and HDML.
WML is designed to specify presentation and user interaction
on mobile phones and other wireless devices.
WML implements a deck and card metaphor. A deck is a
logical representation of a document and made up of multiple
cards. Each WML card, in a deck, performs a specific task for a
particular user interaction.
To access a document, a user navigates to a card; reviews its
contents, makes a choice or enters requested information and then
moves to another card.
WML
WML has support for:
1. Text
2. User input
3. Task invocation control
4. Universal character support
5. MMI independence
6. Narrow band optimization
7. State and context management
WML
All WML tags are case sensitive and must be properly closed.
Cards within a deck can be related to each other with links
A card element can contain text, input fields, links, images,
etc.
When a WML page is accessed from a mobile phone, all the
cards in the page are downloaded from the WAP server.
Navigation between the cards is done inside the phone without
any extra access trips to the server.
WML
Example code of printing “Hello World!” in WML
WML
Output of the previous code
WML Script
Extended subset of JavaScript and forms a standard means for
adding procedural logic to WML decks
Used to do client side processing and can be used very
effectively to add intelligence to the client and enhance the user
interface
Using WML Script, it is possible to access the device resources
and provides the application programmer with a variety of
interesting capabilities