55
WAP (Wireless Application Protocol)

WAP (Wireless Application Protocol)

Embed Size (px)

DESCRIPTION

A detailed presentation about WAP (Wireless Application Protocol)

Citation preview

Page 1: WAP (Wireless Application Protocol)

WAP (Wireless Application Protocol)

Page 2: 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.

Page 3: WAP (Wireless Application Protocol)

Access to WWW-wireless

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

Page 4: WAP (Wireless Application Protocol)

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

Page 5: WAP (Wireless Application Protocol)

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)

Page 6: WAP (Wireless Application Protocol)

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

Page 7: WAP (Wireless Application Protocol)

• 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

Page 8: WAP (Wireless Application Protocol)

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

Page 9: WAP (Wireless Application Protocol)

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

Page 10: WAP (Wireless Application Protocol)

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

Page 11: WAP (Wireless Application Protocol)

• 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

Page 12: WAP (Wireless Application Protocol)

Simple Web Architecture

Page 13: WAP (Wireless Application Protocol)

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)

Page 14: WAP (Wireless Application Protocol)

WAP-internet for mobile devices

Page 15: WAP (Wireless Application Protocol)

WAP Architecture

Page 16: WAP (Wireless Application Protocol)

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)

Page 17: WAP (Wireless Application Protocol)

WAP Protocol Architecture

Page 18: WAP (Wireless Application Protocol)

Protocol Features

Page 19: WAP (Wireless Application Protocol)

WAP Reference Model

Page 20: WAP (Wireless Application Protocol)

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

Page 21: WAP (Wireless Application Protocol)

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

Page 22: WAP (Wireless Application Protocol)

WTLS Handshake

Client says HelloServer says HelloServer sends Public KeyInitiates key exchange

Client generates Session Key

Server acks session key

Encrypted Data Encrypted Data

Page 23: WAP (Wireless Application Protocol)

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

Page 24: WAP (Wireless Application Protocol)

– 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

Page 25: WAP (Wireless Application Protocol)

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

Page 26: WAP (Wireless Application Protocol)

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)

Page 27: WAP (Wireless Application Protocol)

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

Page 28: WAP (Wireless Application Protocol)

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

Page 29: WAP (Wireless Application Protocol)

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

Page 30: WAP (Wireless Application Protocol)

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

Page 31: WAP (Wireless Application Protocol)

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

Page 32: WAP (Wireless Application Protocol)

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

Page 33: WAP (Wireless Application Protocol)

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

Page 34: WAP (Wireless Application Protocol)

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

Page 35: WAP (Wireless Application Protocol)

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)

Page 36: WAP (Wireless Application Protocol)

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

Page 37: WAP (Wireless Application Protocol)

• 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?

Page 38: WAP (Wireless Application Protocol)

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

Page 39: WAP (Wireless Application Protocol)

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

Page 40: WAP (Wireless Application Protocol)

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

Page 41: WAP (Wireless Application Protocol)

• 1. Write your own code

• 2. Convert from HTML

• 3. Visual tools

How to Make WML page

Page 42: WAP (Wireless Application Protocol)

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>

Page 43: WAP (Wireless Application Protocol)

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

Page 44: WAP (Wireless Application Protocol)

WAP Solutions

• Success• Challenges• Future

Page 45: WAP (Wireless Application Protocol)

Available Wireless Services

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

Page 46: WAP (Wireless Application Protocol)

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

Page 47: WAP (Wireless Application Protocol)

WAP: Scalable and Comprehensive

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

Page 48: WAP (Wireless Application Protocol)

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

Page 49: WAP (Wireless Application Protocol)

WAP Achievement: Examples

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

Page 50: WAP (Wireless Application Protocol)

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

Page 51: WAP (Wireless Application Protocol)

WAP: Challenges - Commercial

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

Page 52: WAP (Wireless Application Protocol)

WAP Challenges - Network

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

Page 53: WAP (Wireless Application Protocol)

WAP Challenges - Usability

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

                                                                                                  

Page 54: WAP (Wireless Application Protocol)

WAP Challenges - Legal Issues

• Privacy: Location information• Eavesdropping

                                 

Page 55: WAP (Wireless Application Protocol)

Competition for WAP

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