1 / 42

Wireless Application Protocol Overview

Wireless Application Protocol Overview. Jari Alvinen Nokia. Business challenge. There must be one global wireless network language and protocol stack Internet developers will only write to one global wireless Internet. carriers require multiple sources for compatible handsets.

krikor
Download Presentation

Wireless Application Protocol Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wireless Application ProtocolOverview Jari Alvinen Nokia

  2. Business challenge • There must be one global wireless networklanguage and protocol stack • Internet developers will only write to one global wireless Internet. • carriers require multiple sources for compatible handsets. • handset vendors require common standards for economies of scale.

  3. HTTP/HTML WAP <WML> <CARD> <DO TYPE="ACCEPT"> <GO URL="/submit?Name=$N"/> </DO> Enter name: <INPUT TYPE="TEXT" KEY="N"/> </CARD> </WML> 010011010011110110010011011011011101010010011010 Why is Internet not enough? … or actually ... "too much" ... • Big pipe - small pipe syndrome <HTML> <HEAD> <TITLE>NNN Interactive</TITLE> <META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html"> </HEAD> <BODY BGCOLOR="#FFFFFF" BACKGROUND="/images/9607/bgbar5.gif" LINK="#0A3990" ALINK="#FF0000" VLINK="#FF0000" TEXT="000000" ONLOAD="if(parent.frames.length!=0)top.location='http://nnn.com';"> <A NAME="#top"></A> <TABLE WIDTH=599 BORDER="0"> <TR ALIGN=LEFT> <TD WIDTH=117 VALIGN=TOP ALIGN=LEFT> Internet Content encoding <HTML> <HEAD> <TITLE>NNN Interactive</TITLE> <META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html"> Wireless network

  4. Why is Internet not enough? … or actually … "too much" ... • Big screen - small screen syndrome ?

  5. Why WAP? • WAP is an open technology based on Internet technologies • Allows competition - lower cost • WAP is backed by major vendors • Nokia, Ericsson, Motorola, Microsoft, IBM • Future proof • WAP Forum is open for all • WAP is not “take it or leave it” • Over one hundred companies have joined the WAP Forum • WAP supports several wireless systems • GSM, IS-136, CDMA, PDC etc. • WAP has a layered architecture • The same application can be used via several systems

  6. CCL WAP Forum members

  7. What can be done with WAP? • Information services • Similar to web browsing • Small downloadable programs • WAP script language is based on JavaScript™ • Telephony functionality combined with browser • Call the airline when your flight is delayed • Push • Server initated content push

  8. What is defined in WAP? • Layered telecommunication stack including • Datagrams and Transactions • Security • Session • Micro browser • Concept that is similar to the Internet browsing • XML based markup language ( WML ) • Scripting ( WMLS ) • WTA / WTAI • Access to telephone functionality • Content formats e.g. • Service Indication • Wireless Bitmap ( WBMP )

  9. Client Web Server WAP Gateway WML CGI Scripts etc. WML Encoder WML-Script WSP/WTP HTTP WML Decks with WML-Script WMLScript Compiler WTAI Protocol Adapters Content Etc. WAP Architecture

  10. Wireless Session Layer (WSP) Wireless Transport Layer Security (WTLS) Internet and WAP architecture Internet Wireless Application Protocol Other Services and Applications HTML JavaScript™ Wireless ApplicationEnvironment (WAE) HTTP Wireless Transaction Protocol (WTP) TLS - SSL TCP/IP UDP/IP Wireless Datagram Protocol (WDP) Bearers: UDP PDC-P R-Data Packet Etc... SMS USSD CSD

  11. WAP & Standards • Submit specifications for adoption by appropriate industry and standards bodies • Good relationships with standards bodies • Several Liaisons with ETSI • ETSI / WAP compliance profile for GSM and UMTS. • CTIA official Liaison Officer to the WAP Forum • WAP is actively working with the W3C and IETF

  12. Wireless Session Service Access Point Wireless Session Protocol Wireless Transaction Service Access Point Wireless Transaction Protocol Transport Service Access Point (TSAP) Wireless Datagram Protocol Bearer Service D Bearer Service C WCMP Bearer Service B Bearer Service A Physical Layer Air Link Technology WAP Protocol Stack • Developed by • Wireless Protocols Group (WPG) • A WAP technical working group.

  13. WAP Protocol Stack - WSP • Provides shared state between client and server used to optimize content transfer • Provides semantics and mechanisms based on HTTP 1.1 • Enhancements for WAE, wireless networks and “low-end” devices • Enhancements beyond HTTP • Binary header encoding • Confirmed and non-confirmed data push • Capability negotiation • Suspend and resume • Connectionless service

  14. WAP Protocol Stack - WSP • Binary header encoding • Compact binary encoding of headers, content type identifiers and other well-known textual or structured values • Reduces the data actually sent over the network • Capabilities • Message Size, client and server • Protocol Options: Confirmed Push Facility, Push Facility, Session Suspend Facility, Acknowledgement headers • Maximum Outstanding Requests • Extended Methods • Header Code Pages • Suspend & Resume • Allows the release of underlying bearer resources

  15. WAP Protocol Stack - WSP • Connection & Connectionless service • Connection-mode • Long-lived communication • Benefits of the session state • Reliability • Connectionless • Stateless applications • No session creation overhead • No reliability overhead

  16. WAP Protocol Stack - WTP • Reliable data transfer based on request/reply paradigm • No explicit connection setup or tear down • Data carried in first packet of protocol exchange • Seeks to reduce 3-way handshake on initial request • Supports • retransmission of lost packets • selective-retransmission • segmentation / re-assembly • port number addressing (UDP ports numbers) • flow control • abort function for outstanding requests • concatenation of PDUs • Message oriented (not stream)

  17. Client Server (PDUs) T-TRInvoke.req Invoke T-TRInvoke.ind Ack T-TRInvoke.cnf T-TRInvoke.res Result T-TRResult.req T-TRResult.ind Ack T-TRResult.cnf T-TRResult.res WAP Protocol Stack - WTP • WTP Protocol Exchange

  18. WAP Protocol Stack - WDP • WDP provides a connection-less, unreliable datagram service • WDP is adapted to each particular wireless network to provide the generic datagram transport. • The basic datagram service is fundamental to all wireless networks and makes it possible to utilize WAP everywhere • Replaced by UDP when used over an IP network layer. • WDP over IP is UDP/IP • Uses the Service Primitive • T-UnitData.req .ind

  19. WAP Protocol Stack - Bearer support • GSM SMS, USSD, C-S Data, GPRS • IS-136 R-Data, C-S Data, Packet • CDMA SMS, C-S Data • PDC C-S Data, Packet • PHS C-S Data • CDPD • iDEN SMS, C-S Data, Packet • FLEX and ReFLEX • DataTAC

  20. WAP Proxy/Server Mobile WAE Apps on Other Servers WAE WSP WSP ISP/RAS IWF WTP WTP UDP UDP IP IP IP PPP PPP Subnetwork Subnetwork CSD-RF CSD-RF PSTN Circuit PSTN Circuit RAS - Remote Access Server IWF - InterWorking Function WAP Protocol Stack - Bearer Example • WAP over GSM Circuit Switched

  21. WAP Protocol Stack - Bearer Example • WAP over GSM Short Message Service WAP Proxy/Server Mobile WAE WAE Apps on other servers WSP WSP SMSC WTP WTP WDP WDP SMS WDP Tunnel Protocol WDP Tunnel Protocol SMS Subnetwork Subnetwork under development

  22. WAP Protocol Stack - WTLS • Specifies a framework for secure connections, using protocol elements from common Internet security protocols like SSL and TLS. • Provides connection security for two communicating applications • Privacy (encryption) • Data integrity (MACs) • Authentication (public-key and symmetric) • Lightweight and efficient protocol with respect to bandwidth, memory and processing power • Employs special adapted mechanisms for wireless usage • Long lived secure sessions • Optimised handshake procedures • Provides simple data reliability for operation over datagram bearers

  23. Wireless Application Environment ( WAE ) • WAP Application framework • Network-neutral application environment; • Suitable for narrowband wireless devices; • Follows the Internet/WWW programming model; • Ensures high degree of interoperability. • Leverages Internet standard technology • Device Independent • Network Independent • International Support • Developed by • Wireless Applications Group (WAG); • A WAP technical working group.

  24. WAE "Components" • WML • Display language • WMLScript • Scripting language • WTA • Telephony services API and architecture • Content Formats • Data exchange • User Agent Profiling • Content customized for device • Push • Server-initiated content delivery

  25. Client WAP Gateway WML CGI Scripts etc. WML Encoder WML-Script WMLScript Compiler WTAI Protocol Adapters Content Etc. WAE - WAP Gateway Web Server WSP/WTP HTTP WML Decks with WML-Script

  26. Client WML WML Encoder WML-Script WMLScript Compiler WTAI Protocol Adapters Content Etc. WAE - WAP Application Server WAP Application Server Application Logic WSP/WTP WML Decks with WML-Script

  27. WAE - WML • Wireless Markup Language (WML) is a Tag-based browsing language: • Screen management (text, images) • Data input (text, selection lists, etc.) • Hyperlinks & navigation support • W3C XML-based language

  28. WAE - WML • 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

  29. Navigation Card Variables Input Elements WAE - WML <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> Deck

  30. WAE - WML Script • 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 • Bytecode-based virtual machine • Stack-oriented design • Designed for simple, low-impact implementation • Compiler in network • Better network bandwidth use • Better use of terminal memory/cpu.

  31. WAE - WML Script • Reduces network round-trips and enhance functionality. • Example usages • Field validation • Check for formatting, input ranges, etc. • Device extensions • Access device or vendor-specific API • Conditional logic • Download intelligence into the device

  32. Functions Variables Programming Constructs WAE - WML Script WMLScript is very similar to JavaScript function currencyConvertor(currency, exchRate) { return currency*exchangeRate; } function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay; }

  33. WAE - WTA • WTA Browser • Extensions added to standard WML/WMLScript browser • Exposes additional API (WTAI) • WTAI includes: • Call control • Network text messaging • Phone book interface • Indicator control • Event processing • WTAI available in WML & WMLScript

  34. WTAI Call Input Element WAE - WTA • Placing an outgoing call with WTAI <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“wtai:cc/mc;$(N)”/> </DO> Enter phone number: <INPUT TYPE=“TEXT” KEY=“N”/> </CARD> </WML>

  35. WTAI Call WAE - WTA • Placing an outgoing call with WTAI function checkNumber(N) { if (Lang.isInt(N)) WTAI.makeCall(N); else Dialog.alert(“Bad phone number”); }

  36. WAE - Content Formats • Common interchange formats • Promoting interoperability • Formats: • Business cards: IMC vCard standard • Calendar: IMC vCalendar standard • Images: WBMP (Wireless BitMaP) • Compiled WML, WMLScript • Service Indication ( Proposed ) • Service Loading ( Proposed ) • Cache Operation ( Proposed )

  37. Image Element WAE - Content Formats • Binary format for size reduction • Bytecodes/tokens for common values and operators • Compressed headers • Data compression (e.g. images) • Example use of image <WML> <CARD> Hello World!<BR/> <IMG SRC=“/world.wbmp” ALT=“[Globe]” /> </CARD> </WML>

  38. WAE - Push • Server initiated content push • Provides end-to-end solution • Easy for developers • XML based Push Access Protocol layered on top of HTTP • Helpful push specific content types • Service Indication • Service Loading • Underlying wireless network complexity hidden • Push Specifications are currently on Proposed status

  39. WAE - Push Framework PUSH PROXYGATEWAY PUSHINITIATOR CLIENT OVER-THE-AIR PROTOCOL PUSH ACCESS PROTOCOL PPG SERVICES PUSH MESSAGE

  40. WAE - User Agent Profile (UAPROF) • Assist in content personalization, based upon: • Device characteristics, user preferences • Other profile information • Working with W3C on CC/PP • RDF-based content format • Describes “capability and profile” info • Efficient transport over wireless links, caching, etc. • UAProf specification is currently on Proposed status

  41. Questions ?

  42. Thank you! More information: www.wapforum.org

More Related