Wap model

666 views 34 slides Aug 01, 2020
Slide 1
Slide 1 of 34
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34

About This Presentation

Wireless Application Protocol (WAP)


Slide Content

Wireless Application Protocol
WAP

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

with WML
-
Script

Client
WML
WML-
Script
WTAI
Etc.
WAP Gateway
WML Encoder
WMLScript
Compiler
Protocol Adapters
HTTP WSP/WTP

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

<WML>
<CARD>
<DO TYPE="ACCEPT" LABEL="Next">
<GO URL="#card2"/>
</DO>
Acme Inc.<BR/>Directory
</CARD>

<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