280 likes | 776 Vues
Wireless Application Protocol. Kulesh Shanmugasundaram kulesh@photon.poly.edu. Introduction. History of WAP Ericsson develop ITTP for VAS - 1995 Unwired Planet develop HDML, HDTP - 1996 Nokia develop Smart Messaging, TTML – 1997 WAP Forum formed in June 1997 Table of Contents
E N D
Wireless Application Protocol Kulesh Shanmugasundaram kulesh@photon.poly.edu
Introduction • History of WAP • Ericsson develop ITTP for VAS - 1995 • Unwired Planet develop HDML, HDTP - 1996 • Nokia develop Smart Messaging, TTML – 1997 • WAP Forum formed in June 1997 • Table of Contents • Architecture • Protocol Stack • Development • Future of WAP Kulesh Shanmugasundaram
Architecture of WAP WAP! WAP!! Encoded Request HTTP Request CGIScripts User Agent Encoders & Decoders content Encoded Response HTTP Response Server (Web Server) Gateway(WAP Server) Clients(handheld device) Kulesh Shanmugasundaram
Architecture of WAP Kulesh Shanmugasundaram
Architecture of WAP Kulesh Shanmugasundaram
Limited CPU, Memory Limits… LimitedBandwidth I’m Popular! LimitedDisplay LimitedKeyboard Kulesh Shanmugasundaram
WAP Protocol Stack Application Layer (WAE) Other Services & Applications Session Layer (WSP) Transaction Layer (WTP) Security Layer (WTLS) Transport Layer (WDP) Bearers: iDEN GSM CDMA CDPD IS-136 Kulesh Shanmugasundaram
WAP Protocol Stack • Makes applications independent of bearers and other hardware • External applications and services may access the layers directly • Modified to allow for • Lower Bandwidth (9.6kbps – 14.4kbps) • Network latency (6 – 10 seconds on SMS) • Unreliable connections Kulesh Shanmugasundaram
Wireless Application Environment (WAE) • A micro-browser environment containing • Addressing Model (URL, URI) • Wireless Markup Language (WML) • WMLScript • Content Formats – WBMP, vCard, vCalendar • WTA User Agent • Handles wireless devices telephony functions Kulesh Shanmugasundaram
Wireless Session Protocol (WSP) • A strip down version of HTTP/1.1 (“B”) • Maintain session states • Session suspend, resume (long-lived sessions) • Facilitate reliable & unreliable data push • Protocol feature negotiation • Header caching Kulesh Shanmugasundaram
Wireless Transaction Protocol (WTP) • Three types of transactions • Unreliable one-way requests (class 0) • Reliable one-way requests (class 1) • Reliable two-way request-reply (class 2) • Reliability thru [selective] re-transmission & delayed acks • PDU concatenation • Asynchronous transactions Kulesh Shanmugasundaram
Wireless Transport Layer Security (WTLS) • WTLS is an optional layer • Privacy thru encryption • Data integrity thru MACs • Authentication & nonrepudiation thru digital certificates • Compression • Elliptic Curve Cryptography (ECC) http://www.certicom.com/ Kulesh Shanmugasundaram
Wireless Datagram Protocol (WDP) • Offers consistent services to upper layers and communicate transparently over one of the available bearer services. • Global interoperability can be achieved using mediating gateways. • IP & IPLess bearers • Use UDP for IP bearers (eg. CSD) • Follow WAP Specs for others (GSM) • Error handling done by WCMP Kulesh Shanmugasundaram
How limits are handled • Low bandwidth • WML contents are encoded • WSP supports long-lived sessions • WTP designed to minimize number of transactions • High latency • Asynchronous request/response model • Client side programming using WMLScript • WTA repositories • Unreliable connection • WSP supports long-lived sessions to resume efficiently • Selective retransmission of segments by WTP Kulesh Shanmugasundaram
How limits are handled (cont…) • Small Display • Decks and card interface • Limited input facilities • Decks and card makes inter-page navigation easier • Limited memory & CPU • Binary encoding of WML contents saves memory • Limited set of functionality of WMLScript & libraries • Limited battery power • Minimizing bandwidth needs Kulesh Shanmugasundaram
What is in a client? • WML • A lightweight markup language, similar to HTML but optimized for hand-held devices • WMLScript • Similar to ECMA Script, enhanced with libraries • Micro-browser • WTA Libraries Kulesh Shanmugasundaram
What is in a WAP Server? SNMP Java Logging Sub. DB M A N A G E M E N T BillingData Subscriber Data Encoders ServerApplications Context Manager WSP HTTP WTP WTLS WDP/Adaptation TCP/IP Bearers Internet/FW Kulesh Shanmugasundaram
What is in a WAP Server? • WAP Server bridges the mobile hand-held device and rest of the world • Usually it is the homepage of the browser in a handheld device • WML/HTML Filters • Two types of deployment strategies can be used (figures) Kulesh Shanmugasundaram
What does the web server do? • Nothing unusual • How to make your web server serve WAP contents. Define these MIME types Document typeMIME typeTypical extension Plain WML documents text/vnd.wap.wml .wml Wireless Bitmap Images image/vnd.wap.wbmp .wbmp Compiled WML documentsapplication/vnd.wap.wmlc .wmlc WMLScripts text/vnd.wap.wmlscript .wmls Compiled WML Scripts application/vnd.wap.wmlscriptc .wmlsc • You are ready to serve WAP contents! Kulesh Shanmugasundaram
WAP Development • Development on the client side: • Limited memory, limited display, limited power, limited everything… • Most programming is done with WML, WMLScript, WTAI • Some in ANSI C • A Sample code Kulesh Shanmugasundaram
WML: “Howdy World!” <?xml version=“1.0”?> <!DOCTYPE WML PUBLIC “-//WAPFORUM//DTD WML 1.1//EN”http://www.wapforum.org/DTD/wml_1.1.xml> <wml> <card> <p> Howdy World! </p> </card> </wml> Kulesh Shanmugasundaram
WAP Development • Development on server side: • Most of the development is done at WAP Server • Vendor dependent development tools • Java Servlets, C/C++ & PERL • Usually APIs are provided • Network operator may develop VAS on WTA Server Kulesh Shanmugasundaram
WAP Development • What can we develop? • Tetris, yay! • Push technology at its best • Access to your intranet • Advanced telephony features using WTA • Remotely control your house (MultiSens) • Anything you wish! Kulesh Shanmugasundaram
Future of WAP • Internet on a cell-phone • Speech API • Vendor independent telephony services • Streaming media • Multicasting • Downloadable applications Kulesh Shanmugasundaram
Resources • http://www.wapforum.com • http://www.phone.com • Nokia WAP Developer Forumhttp://www.forum.nokia.com/developers/wap/ • The Independent WAP/WML FAQhttp://wap.colorline.no/wap-faq/ • Yahoo!http://search.yahoo.com/bin/search?p=WAP • WAP Portalhttp://www.wapdrive.net/ Kulesh Shanmugasundaram
The End The End Kulesh Shanmugasundaram