1 / 42

Introduction and Overview

WAP Architecture . Introduction and Overview. 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. The WAP Architecture.

Télécharger la présentation

Introduction and 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.


Presentation Transcript

  1. WAP Architecture Introduction and Overview

  2. 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. The WAP Architecture

  3. Comparison between Internet and WAP Technologies Wireless Application Protocol Wireless ApplicationEnvironment (WAE) Other Services and Applications HTML JavaScript Session Layer (WSP) Transaction Layer (WTP) HTTP TLS - SSL Security Layer (WTLS) Transport Layer (WDP) TCP/IP UDP/IP Bearers: IS-136 CDPD PDC-P CDMA Etc.. SMS USSD CSD Internet

  4. WAP specifies… • Wireless Application Environment • WML Microbrowser • WMLScript Virtual Machine • WMLScript Standard Library • Wireless Telephony Application Interface • WAP Content Types • Wireless Protocols • Wireless Session Protocol (WSP) • Wireless Transport Layer Security (WTLS) • Wireless Transaction Protocol (WTP) • Wireless Datagram Protocol (WDP) • Wireless network interface definitions

  5. WHY WAP ? • WAP utilizes standard Internet markup language technology (XML) • 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, JAVA, etc.

  6. <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> <WML> <CARD> <DO TYPE="ACCEPT"> <GO URL="/submit?Name=$N"/> </DO> Enter name: <INPUT TYPE="TEXT" KEY="N"/> </CARD> </WML> Wireless network Internet HTTP/HTML WAP Content encoding <HTML> <HEAD> <TITLE>NNN Interactive</TITLE> <META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html"> 010011010011110110010011011011011101010010011010 Why is HTTP/HTML not enough? Big pipe - small pipe syndrome

  7. WHY WAP ? • Good relationships with standards • WAP compliance profile for GSM. • WAP is actively working with the W3C and IETF • HTML-NG (HTML Next Generation) • HTTP-NG (HTML Next Generation)

  8. WAP Application Environment WML and WMLScript Wireless Telephony Architecture Content Formats

  9. WAE Goals • Network-neutral application environment; • For narrowband wireless devices; • With an Internet/WWW programming model; • And a high degree of interoperability.

  10. WAE Requirements • Internet standard technology • Device Independent • Network Independent • International Support

  11. Requirements (cont.) • Initial focus on phones • Slow bearers • Small memory • Limited CPU • Small screen • Limited input model

  12. WAE First Generation • Architecture • Application model • Browser, Gateway, Content Server • WML • Display language • WMLScript • Scripting language • WTA • Telephony services API and architecture • Content Formats • Data exchange

  13. WML Second Generation • Extensions and enhancements • Currently under development • Performance Enhancements • Caching, etc.

  14. Network Application Gateway Client WAE Abstract Network Architecture WSP/HTTP Request {URL} WSP/HTTP Reply {Content}

  15. Client WAP Gateway WML CGI Scripts etc. WML Encoder WML-Script WMLScript Compiler WTAI Protocol Adapters Content Etc. Network Example #1: WAP Gateway Web Server WSP/WTP HTTP WML Decks with WML-Script

  16. Client WML WML Encoder WML-Script WMLScript Compiler WTAI Protocol Adapters Content Etc. Network Example #2:WAP Application Server WAP Application Server Application Logic WSP/WTP WML Decks with WML-Script

  17. 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 and HTML

  18. WML (cont.) • 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

  19. Handling User Input • Select lists • Choose from a list of options • Input fields • Enter a string of text or numbers • KEY variables • Set by SELECT and INPUT elements • How user input is passed to other cards and the application server

  20. The SELECT Element • Display a list of options • Each option may set the KEY variable and/or bind a task to the ACCEPT key • TITLE= dynamically sets the label string <CARD> <DO TYPE="ACCEPT" LABEL="View"> <GO URL="getcity.cgi?location=$city"/> </DO> Forecast <SELECT KEY="city"> <OPTION VALUE="ber">Berlin</OPTION> <OPTION VALUE="rom">Rome</OPTION> <OPTION TITLE="Find" ONCLICK="find.cgi">New City</OPTION> </SELECT> </CARD> Forecast 1 Berlin 2 Rome 3>New City ____________ Find

  21. Other SELECT Attributes • MULTIPLE="TRUE" • Allows user to pick multiple items • UP.Browser reserves soft key for item-picker • Key value is a semicolon-separated list • DEFAULT=key_value • Default KEY value, if one is not chosen • Sets cursor to the default choice entry, if a corresponding OPTION / VALUE exists

  22. A Long Select List <CARD> <DO TYPE="ACCEPT"> <GO URL="get_addr.cgi?id=$recid"/> </DO> Addr [1..9] <SELECT KEY="recid" MULTIPLE="TRUE" DEFAULT="1;3;5"> <OPTION VALUE="1">Neil</OPTION> <OPTION VALUE="2">Kurt</OPTION> <OPTION VALUE="3">Jim</OPTION> <OPTION VALUE="4">Natasha</OPTION> <OPTION VALUE="5">Liz</OPTION> <OPTION VALUE="6">Aneesh</OPTION> <OPTION VALUE="7">Jennifer</OPTION> <OPTION VALUE="8">Jesse</OPTION> <OPTION VALUE="9">Dawnell</OPTION> <OPTION ONCLICK="#card2">More...</OPTION> </SELECT> </CARD>

  23. The INPUT Element • Prompts user to enter a string of text • Use FORMAT= to constrain input • UP.Browser reserves soft key fortext entry mode, if necessary Soc. Security: 287-33- _ ____________ NUM <CARD> <DO TYPE="ACCEPT"> <GO URL="?get=person" METHOD="POST" POSTDATA="userid=$ssn"/> </DO> Soc Security: <INPUT KEY="ssn" FORMAT="NNN\-NN\-NNNN"/> </CARD> Soc. Security: 287-33- 7629 ____________ OK

  24. Other INPUT Attributes • DEFAULT=key_value • Default KEY variable (displayed to user) • FORMAT=format_specifier • If omitted, free-form entry is allowed • EMPTYOK="TRUE" • Browser will accept null input, even with format • TYPE="PASSWORD" • Special entry mode handled by the browser • MAXLENGTH=number • Maximum number of allowed characters

  25. FORMAT Control Characters • N Numeric character • A, a Alphabetic character • X, x Numeric or alphabetic character • M, m Any character • Leading backslash specifies forced characters • Forced characters included in KEY variable value • Leading * specifies 0 or more characters • Password: FORMAT=“mmmm*m” • Leading number specifies 0..N characters • Zipcode: FORMAT=“NNNNN\-4N”

  26. Displaying Images • Insert app images or local icons within display text • 1-bit BMP format • Images are ignored by non-bitmapped devices • Check HTTP_ACCEPT for “image/bmp” <CARD> <DO TYPE="ACCEPT"> <GO URL="#c2"/> </DO> Continue <IMG LOCALSRC="righthand" ALT="forward..."/> </CARD> <CARD NAME="c2"> <IMG SRC="../images/logo.bmp" ALT="Unwired Planet"/> <BR/>Welcome! </CARD>

  27. Special WML Characters • Use character entities in display text&quot; " &amp; & &apos; ' &lt; < &gt; > &nbsp; Blank space &shy; Soft hyphen (discretionary line break) • Replace the “&” character in URL stringsURL="query.cgi?first=$fname&amp;last=$lname" • Use “$$” to display a single “$” character

  28. Doing more with WML • Setting card styles to create forms • Using variables to cache user data • Using card intrinsic events to trigger transparent tasks • Using timers • Securing WML decks • Bookmarking decks

  29. 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

  30. WMLScript (cont.) • Bytecode-based virtual machine • Stack-oriented design • ROM-able • Designed for simple, low-impact implementation • Compiler in network • Better network bandwidth use • Better use of terminal memory/cpu.

  31. WMLScript Standard Libraries • Lang - VM constants, general-purpose math functionality, etc. • String - string processing functions • URL - URL processing • Browser - WML browser interface • Dialog - simple user interface • Float - floating point functions

  32. WMLScript Example Uses • Reduce network round-trips and enhance functionality. • Field validation • Check for formatting, input ranges, etc. • Device extensions • Access device or vendor-specific API • Conditional logic • Download intelligence into the device

  33. Functions Variables Programming Constructs WMLScript Example 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; }

  34. Image Element Content Format Example Example Use of an Image: <WML> <CARD> Hello World!<BR/> <IMG SRC=“/world.wbmp” ALT=“[Globe]” /> </CARD> </WML>

  35. Push • Push is under development • Network-push of content • Alerts or service indications • Pre-caching of data • Goals: • Extensibility and simplicity • Security • User friendly

  36. WAE Technical Collaboration • W3C • Technical collaboration • CC/PP • HTML-NG • HTTP-NG • Etc.

  37. Summary: WAE Status • First generation released • Implementations are in progress • Specifications include: • WAE, WML, WMLScript • WBMP, WTA, WTAI, etc. • Second generation in development • Focusing on: • Push, Interoperability, UAProf • Telephony, Internationalization, etc.

  38. 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 Layers

  39. Capabilities • Capabilities are defined for: • 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

  40. Suspend and Resume • Server knows when client can accept a push • Multi-bearer devices • Dynamic addressing • Allows the release of underlying bearer resources

  41. Connection And Connectionless Modes • Connection-mode • Long-lived communication • Benefits of the session state • Reliability • Connectionless • Stateless applications • No session creation overhead • No reliability overhead

More Related