WAP (Wireless Application Protocol)

Preview:

DESCRIPTION

A detailed presentation about WAP (Wireless Application Protocol)

Citation preview

WAP (Wireless Application Protocol)

By. P. Victer Paul

Dear, We planned to share our eBooks and project/seminar contents for free to all needed friends like u.. To get to know about more free computerscience ebooks and technology advancements in computer science. Please visit....

http://free-computerscience-ebooks.blogspot.com/

http://recent-computer-technology.blogspot.com/

http://computertechnologiesebooks.blogspot.com/

Please to keep provide many eBooks and technology news for FREE. Encourage us by Clicking on the advertisement in these Blog.

Access to WWW-wireless

• HTTP• HTML• Problems in wireless environment• Approaches to improve HTML and HTTP• WAP• WML

HTTP

• Stateless, lightweight, application level protocol for data transfers between servers and clients.

• GET request method returns the requested resource-HTML

• Server responds with different status codes• If client wants to provide data to a function on

server POST method is used• Caching mechanism

Caching

• To avoid unnecessary retransmissions of content that has not changed since last access

• Can be located anywhere between server and client

• Client maintains cache locally to minimise delay

• No-cache entry in header disables caching(dynamic content)

Problems in HTTP-wireless networks

• Bandwidth and delay-HTTP designed foe high bandwidth and low delay connections.

• HTTP protocol headers are large and redundant• Stateless- information fields are transferred over

and over again with each request• Some information can be transferred

uncompressed• DNS Look up time is more in wireless link• Wired networks delay is less compared to

wireless

• Caching is disabled by content providers.• No-cache keyword in the header• <HTML><HEAD> <META HTTP-

EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Expires" CONTENT="-1"> </HEAD><BODY> </BODY> </HTML>

• Dynamic objects cannot be cached-names of links, home pages, mobility(access points),security issues

HTML

• Described the content of web pages in WWW• Designed in desktop computers connected

with fixed wire to internet in mind• Designed primarily for nice presentation of

content, not for efficient transfer of content.• Plug ins required

Device comparisonInternet Mobile

CPU Powerful Less powerful

Memory Large Small

Power Mains Battery

Display Large Small

Input Keyboard, Mice Keypad, stylus

Bandwidth More Less

Latency Less More

Connection stability Good Not so good

Availability Good Less predictable

Wireless access solutions

• Image scaling- lower resolution, title of the picture, clipping, zooming

• Content transformation- special converter• Content extraction/semantic compression-

abstract, keywords• Special languages and protocols-

HDLP(Handheld device transport protocol), HDML(Hand held device markup language)

Less predictable

• Implemented in gateways• HTTP 1.1- improvements-connection reuse,

caching enhancements, mechanism to check integrity, authentication, transfer compressed data

• Cookies – to store state- current state of browsing, user profiles etc

Simple Web Architecture

WAP- Wireless Application Protocol

• Open standard providing mobile users of wireless terminals access to telephony and information services

• – Wireless terminals include wireless phones, pagers and personal digital assistants (PDAs)

• – Designed to work with all wireless network technologies such as GSM, CDMA, and TDMA,UMTS(Universal mobile tele-comm systems)

• – Based on existing Internet standards such as IP, XML, HTML, and HTTP

• – Includes security facilities,interoperability,scaleable,reliable,efficient(QoS)

WAP-internet for mobile devices

WAP Architecture

The WAP Workflow1. The user requests a URL through the WAP browser2. The browser passes the request to the WAP gateway using the WAPProtocol3. The WAP gateway creates a normal HTTP request for the URL andpasses to the origin server.4. The origin servers returns the (possibly WML) content of the URL to theWAP gateway.5. The WAP gateway encodes the HTTP headers and the content (whereapplicable) into binary format (e.g., compiled WML), and transmits on tothe WAP browser6. The WAP browser displays the content (e.g. the first card of the deck)

WAP Protocol Architecture

Protocol Features

WAP Reference Model

Datagram Protocol (WDP)• Goal: To allow transport, security, and session

protocols to operate independent of the underlying bearer (e.g. GSM, CDMA, etc.)

• If bearer already offers IP services UDP is used as WDP

• WCMP-provides error handling mechanism,messages are destination unreachable,parameter problem, message too big etc

• Datagram has DA,DP,SA,SP,user data as mandatory parameters

WTLS (Transport Layer Security)

• Goal: provides the upper-level layer of WAP with a secure transport service interface that preserves the transport service interface (datagram) below it.

• Security level of WTLS depends on the requirements of the given application

• Privacy, data integrity, authentication• Takes into consideration the limitations of

mobile devices

WTLS Handshake

Client says HelloServer says HelloServer sends Public KeyInitiates key exchange

Client generates Session Key

Server acks session key

Encrypted Data Encrypted Data

WTP Services and Protocols• WTP (Transaction)

– provides reliable data transfer based on request/reply paradigm

• no explicit connection setup or tear down• optimized setup (data carried in first packet of protocol exchange)• seeks to reduce 3-way handshake on initial request• Improved Efficiency,Reliablity -is achieved using duplicate

removal, retransmission, acknowledgements and unique transaction identifiers

– supports• header compression• segmentation /re-assembly• retransmission of lost packets• selective-retransmission• port number addressing (UDP ports numbers)• flow control

– message oriented (not stream)– supports an Abort of transactions– Supports asynchronous transactions– supports concatenation of PDUs(invoke PDU,Ack

PDU,result PDU)– supports User acknowledgement or Stack

acknowledgement option• acks may be forced from the WTP user (upper

layer)• default is stack ack

WTP: Wireless Transaction Protocol

• WTP three classes of service– class 0: unreliable message transfer

• unconfirmed Invoke message with no Result message• a datagram that can be sent within the context of an existing Session

– class 1: reliable message transfer without result message• confirmed Invoke message with no Result message• used for data push, where no response from the destination is

expected– class 2: reliable message transfer with exactly one reliable

result message• confirmed Invoke message with one confirmed Result message• a single request produces a single reply

WTP Class 0 Transaction

TR-Invoke.req(SA, SP, DA, DP, A, UD, C=0, H)

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=0, H‘)

initiatorTR-SAP

responderTR-SAP

Source: Schiller

A: Acknowledgement Type (WTP/User)

C: Class (0,1,2)

H: Handle (socket alias)

WTP Class 1 Transaction, no user ack & user ack

TR-Invoke.req(SA, SP, DA, DP, A, UD, C=1, H)

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=1, H‘)

initiatorTR-SAP

responderTR-SAP

Ack PDU

TR-Invoke.res(H‘)

TR-Invoke.cnf(H)

TR-Invoke.req(SA, SP, DA, DP, A, UD, C=1, H)

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=1, H‘)

initiatorTR-SAP

responderTR-SAP

Ack PDUTR-Invoke.cnf(H)

Source: Schiller

WTP Class 2 Transaction, no user ack, no hold on

TR-Invoke.req(SA, SP, DA, DP, A, UD, C=2, H)

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=2, H‘)

initiatorTR-SAP

responderTR-SAP

Result PDU

TR-Result.req(UD*, H‘)

TR-Result.ind(UD*, H)

Ack PDU

TR-Invoke.cnf(H)

TR-Result.res(H)

TR-Result.cnf(H‘)

Source: Schiller

WTP Class 2 Transaction, user ack

TR-Invoke.req(SA, SP, DA, DP, A, UD, C=2, H)

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=2, H‘)

initiatorTR-SAP

responderTR-SAP

Result PDUTR-Result.ind(UD*, H)

Ack PDU

TR-Invoke.res(H‘)

TR-Invoke.cnf(H) Ack PDU

TR-Result.req(UD*, H‘)

TR-Result.res(H)

TR-Result.cnf(H‘)

Source: Schiller

WTP Class 2 Transaction, hold on, no user ack

TR-Invoke.req(SA, SP, DA, DP, A, UD, C=2, H)

Invoke PDUTR-Invoke.ind(SA, SP, DA, DP, A, UD, C=2, H‘)

initiatorTR-SAP

responderTR-SAP

Result PDU

TR-Result.req(UD*, H‘)

TR-Result.ind(UD*, H)

Ack PDU

Ack PDUTR-Invoke.cnf(H)

TR-Result.res(H)

TR-Result.cnf(H‘)

Source: Schiller

WSP - Wireless Session Protocol• WSP Services

– provides shared state between client and server, optimizes content transfer

– session management (establish, release, suspend, resume)

– efficient capability negotiation(SDU size,Max outstanding requests)

– content encoding• WSP/B (Browsing)

– HTTP/1.1 functionality - but binary encoded– exchange of session headers– push and pull data transfer– asynchronous requests

WSP/B session establishment

S-Connect.req(SA, CA, CH, RC) Connect PDU

S-Connect.ind(SA, CA, CH, RC)

clientS-SAP

serverS-SAP

ConnReply PDU

S-Connect.res(SH, NC)

S-Connect.cnf(SH, NC)

WTP Class 2transaction

Source: Schiller

CH: Client Header

RC: Requested Capabilities

SH: Server Header

NC: Negotiated Capabilities

WSP/B session suspend/resume

S-Suspend.req Suspend PDUS-Suspend.ind(R)

clientS-SAP

serverS-SAP

Reply PDUS-Resume.res

WTP Class 2transaction

S-Suspend.ind(R)

~ ~S-Resume.req(SA, CA) S-Resume.ind

(SA, CA)

Resume PDU

S-Resume.cnf

WTP Class 0transaction

Source: Schiller

R: Reason for disconnection

WSP/B session termination

Disconnect PDUS-Disconnect.ind(R)

clientS-SAP

serverS-SAP

S-Disconnect.ind(R) WTP Class 0

transaction

S-Disconnect.req(R)

Source: Schiller

WAE( Wireless Application environment)

• For network applications • On small, narrowband devices• High degree of interoperability• WAE defines basics:

– For WAP user agents

– For WAP gateways. • WAE contains:

– WML and WMLScript specifications– Wireless Telephony Application Interface (WTAI)

How It Works

Web Server

Content

CGIScripts

etc.

WM

L D

ecks

wit

h W

ML

-Scr

ipt

WAP Gateway

Encoder,Decoder

WMLScriptCompiler

Protocol Adapters

Client

WML

WML-Script

WTAI

Etc.

Static file or CGI Output WML

Static file or CGI Output WML

WAP HTTP

1Request

Encoded URL Request

2

HTTP Request

34

HTTP Response

5

Response Encoded WML

Content

6

• Unable connect directly from current WAP devices to web servers.

• Speak a different language between WAP Devices and the Web Servers

• An extra server to handle translation– WAP Gateway, or WAP Proxy

Why Do I Need a WAP Gateway?

WAP Gateway (cont’d)

• A particular piece of software located on a server

• Handles incoming requests from your WAP phone.

• Compiling the WML pages into bytecode (WMLC)

• Reduce the size and number of packets• Provide transaction security

WML

• Tag-based browsing language:– Screen management (text, images)– Data input (text, selection lists, etc.)– Hyperlinks & navigation support

• W3C XML-based language• Inherits technology from HDML andHTMLWML document is made up of multiple cards. Cards can

be grouped into decks. identified by URL

WMLScript

• Scripting language:– Procedural logic, loops, conditionals, etc.– Optimized for small-memory, small-cpu devices

• Derived from JavaScript• Integrated with WML

– Powerful extension mechanism– Reduces overall network traffic

• 1. Write your own code

• 2. Convert from HTML

• 3. Visual tools

How to Make WML page

WML Example

Header

Card2

Card1Navigation

Variable

SelectElements

<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“#eCard”/> </DO> Welcome! </CARD> <CARD NAME=“eCard”> <DO TYPE=“ACCEPT”> <GO URL=“/submit?N=$(N)&S=$(S)”/> </DO> Enter name: <INPUT KEY=“N”/> Choose speed: <SELECT KEY=“S”> <OPTION VALUE=“0”>Fast</OPTION> <OPTION VALUE=“1”>Slow</OPTION> <SELECT> </CARD></WML>

Converting HTML to WML

• How– translates non-complex HTML documents in to WML – tag-by-tag processing and discard all incompatible

tags and contents

• Significance– Dramatically accelerates wireless content

development by using abundant HTML resources

WAP Solutions

• Success• Challenges• Future

Available Wireless Services

• Voice• SMS – Short Message Service• Data (over voice)• WAP – simplistic and expensive

Attractions of WAP

• WAP combines two of the fastest growing industries: wireless and the Internet IP

• WAP is an attempt to define the standard for how content from the Internet is filtered for mobile communications

• WAP is developed to make readily available content from the Internet easily available to mobile terminals

WAP: Scalable and Comprehensive

• Any mobile phone• Any existing or planned wireless service• Any mobile network standard

WAP: Major Achievements

• Reduces resources and enriches the functionality of the network

• Generates additional traffic on the network and revenue

• Facilitates migration of applications between networks and bearers

WAP Achievement: Examples

• Web browsing • WAP email• WAP conference• WAP search• Document sharing• Collaborative working• Still images

WAP Promises: Examples

• Moving images• Home automation• Job dispatch• Remote point of sale• Customer service• Remote monitoring (Meters)• Vehicle positioning• Remote LAN access• File transfer

WAP: Challenges - Commercial

• End-to-end security• Client identification• Encryption/Authentication

WAP Challenges - Network

• Less bandwidth (300 bps to 9600 bps)• More latency• Less connection stability• Less predictive availability

WAP Challenges - Usability

• Screen size• Advanced applications• Data input• Integration with voice

                                                                                                  

WAP Challenges - Legal Issues

• Privacy: Location information• Eavesdropping

                                 

Competition for WAP

• Subscriber identity module (SIM) toolkit• Windows CE• JavaPhone™

Recommended