SESSION Pltaforms for Mobile Applications Mobile computing platforms
SESSION : Pltaforms for Mobile Applications ·Mobile computing platforms ·Middleware to support mobile commerce ·Wireless Application Protocol (WAP) ·I-mode and Wireless Java • Voice Markup Language Amjad Copyright: Umar A. Umar
Mobility Issues at Various Levels M-Business and Mobile Applications Wireless Infrastructure Platforms for Mobile Applications -Middleware Platforms (WAP, I-Mode, J 2 ME) - Mobile Platform Services (Mobile OS, Utilities) Wireless Networks Copyright: A. Umar
Mobile Computing Platforms Copyright: A. Umar
Mobile Computing Platforms • Mobile operating systems - Palm OS -Windows CE - Symbian OS • Mobile database managers • Mobile transaction managers • Utilities for mobile devices • Wireless Middleware • Wireless Gateways • Mobile Application Servers Copyright: A. Umar
Support Needed for Mobile Apps • Depends on how extensively the applications use the underlying network. • Applications in mobile computing fall into the following three broad categories: – Stand-alone applications run entirely on mobile computers in disconnect (detached) mode. – Simple C/S applications (e. g. , DB query). the connection time for C/S interactions is short. – Advanced mobile applications (groupware and distributed multimedia) - information exchanged is time critical (i. e. , real time) Copyright: A. Umar
The Role of Wireless Middleware Hide the underlying wireless/wired issues • Transformation: Convert between two contents (HTML to WML) • Detection and adjustment: Wireless middleware products can detect different devices and can optimize the wireless data output according to device attributes. • Compression. Middleware products can use various datacompression algorithms to minimize the amount of data being sent over the wireless link. • Security: Wireless middleware should ensure end-to-end security from handheld devices to application servers. • Message delivery: Middleware can perform message storage and forwarding should the user get disconnected from the network. • Operation support: Middleware should offer utilities and tools to allow MIS personnel to manage and troubleshoot Copyright: A. Umar wireless devices.
Middleware for Mobile Computing Applications Two approaches: • "information hiding” wireless middleware – attempts to smooth over the mobile computing issues – the same applications can run on wired as well as wireless networks. – This goal is met through specialized APIs – Example: WAP • "information providing" wireless middleware – provides as much information about the underlying environment to the application as possible. – exploits the network quality of service, cost, and location information for optimum performance – Many specialized middleware systems Copyright: A. Umar
Mobile Application Servers Copyright: A. Umar
WAP(Wireless Application Protocol) • Intended for data entry/display on cellular phones • “An open, global specification that empowers mobile users with wireless devices to easily access and interact with information and services instantly. ” www. wapforum. org • Complete protocol stack similar to Internet protocols but optimized for wireless information pull and push transport layer and above; across multiple wireless technologie • Designed to work with all wireless networks such as GSM, CDMA, and TDMA Copyright: A. Umar
New Versus Old WAP Copyright: A. Umar
Wireless Markup Language (WML) Features • Text and image support – formatting and layout commands • Deck/card organizational metaphor – WML documents subdivided into cards, which specify one or more units of interaction • Support for navigation among cards and decks – includes provisions for event handling; used for navigation or executing scripts Copyright: A. Umar
Wireless Markup Language (WML) Example <WML> <CARD> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#card 2"/> </DO> Acme Inc. <BR/>Directory </CARD> Acme Inc. Directory _______ Next <CARD NAME="card 2"> Services <DO TYPE="ACCEPT"> 1>Email <GO URL="? send=$type"/> 2 Phone ______ </DO> OK Services <SELECT KEY="type"> <OPTION VALUE="em">Email</OPTION> <OPTION VALUE="ph">Phone</OPTION> <OPTION VALUE="fx">Fax</OPTION> </SELECT> </CARD> </WML> Copyright: A. Umar Slide adapted from WAP web site
WMLScript • Scripting language derived from Java. Script. TM – Optimized for use with small CPU, small-memory devices – Omits some functions – Integrates easily with WML • Assumes a bytecode-based, stack-oriented VM • Assume compiler is in network for reducing network bandwidth and terminal memory/CPU usage • Libraries for URL processing, simple dialog (UI) processing, math and string processing, WML browser interface Copyright: A. Umar
WMLScript Example function currency. Convertor(currency, exch. Rate Functions ) { return currency*exchange. Rate; } function my. Day(sun. Shines) { var my. Day; Variables if (sun. Shines) { my. Day = “Good”; Programming } else { Constructs my. Day = “Not so good”; }; return my. Day; } Copyright: A. Umar
Wireless Telephony Application (WTA) • Application framework for telephony services • Adds to the WAP architecture a user-agent on client side and WTA server for mobile telephony • Adds extensions to the WML/WMLScript browser • Security by having a separate WTA browser and port • Exposes additional API (WTAI) for: – – – Call control Network text messaging Phone book interface Indicator control Event processing Copyright: A. Umar
Slides from WAP web site WTA Example: Placing a call WTAI Call Input Element WTAI Call <WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“wtai: cc/mc; $(N)”/> </DO> Enter phone number: <INPUT TYPE=“TEXT” KEY=“N”/> </CARD> </WML> function check. Number(N) { if (Lang. is. Int(N)) WTAI. make. Call(N); else Dialog. alert(“Bad phone number”); } Copyright: A. Umar
Wireless Application Environment (WAE) • WAE specifies an application framework for wireless devices • WAE elements: – WAE User agents – software that executes in the wireless device – Content generators – applications that produce standard content formats in response to requests from user agents in the mobile terminal – Standard content encoding – defined to allow a WAE user agent to navigate Web content – Wireless telephony applications (WTA) – collection of telephonyspecific extensions for call and feature control mechanisms – Libraries • common • network specific (GSM) Copyright: A. Umar
Wireless Session Protocol (WSP) • Transaction-oriented protocol based on the concept of a request and a reply (based on HTTP) • Provides applications with interface for two session services: – Connection-oriented session service – operates above reliable transport protocol WTP – Connectionless session service – operates above unreliable transport protocol WDP • PDUs contain WML, WMLscript, images and headers Copyright: A. Umar
Wireless Transaction Protocol (WTP) • Lightweight protocol suitable for "thin" clients and over low-bandwidth wireless links (e-commerce transactions) • WTP features – Three classes of transaction service – Optional user-to-user reliability: WTP user triggers confirmation of each received message – Optional out-of-band data on acknowledgments – PDU concatenation and delayed acknowledgment to reduce the number of messages sent – Asynchronous transactions WTP Transaction Classes • Class 0: Unreliable invoke message with no result message (unreliable push) • Class 1: Reliable invoke message with no result message (reliable push, get acknowledgement) • Class 2: Unreliable invoke message with one reliable result message (supports a request-reply model with some data from server) Copyright: A. Umar
Wireless Transport Layer Security (WTLS) • Data integrity – ensures that data sent between client and gateway are not modified, using message authentication • Privacy – ensures that the data cannot be read by a third party, using encryption • Authentication – establishes authentication of the two parties, using digital certificates • Denial-of-service protection – detects and rejects messages that are replayed or not successfully verified WTLS Protocol Stack: two layers of protocols – WTLS Record Protocol – provides basic security services to various higher-layer protocols – Higher-layer protocols: • The Handshake Protocol • The Change Cipher Spec Protocol • The Alert Protocol Copyright: A. Umar
Wireless Datagram Protocol (WDP) • Used to adapt higher-layer WAP protocol to the communication mechanism used between mobile node and WAP gateway • WDP hides details of the various bearer networks from the other layers of WAP • Adaptation may include: – Partitioning data into segments of appropriate size for the bearer – Interfacing with the bearer network Copyright: A. Umar
Wireless Control Message Protocol (WCMP) • Performs the same support function for WDP as ICMP does for IP (I. e. , provide feedback on problems - not reaching destination, router buffer problems) • Used in environments that don’t provide IP bearer and don’t lend themselves to the use of ICMP • Used by wireless nodes and WAP gateways to report errors encountered in processing WDP datagrams • Can also be used for informational and diagnostic purposes Copyright: A. Umar
Figure 2: WAP Prototype WAP Devices WML Gateway HTML/XML over HTTP over WAP Web Server Web HTML/XML Browser Servet over HTTP Copyright: A. Umar Content (XML/HTML) e. Commerce Module
WAP Summary • WAP is becoming an important element of the wireless and mobile middleware space • WAP penetration is greater in Europe and Far East than US and elsewhere -- but gaining ground rapidly • Some questions: – How many content providers will generate WAP/WML content? How well will automatic HTML/WML translators work? – Will existing Internet technology mature fast enough to reduce impact of WAP? – Will sophisticated e-commerce services for mobile users (e. g. stock purchase, transactions etc. ) really become a significant market? Copyright: A. Umar
I-Mode • Very popular in Japan (around 20 Million users) • Competitor to WAP • Very heavy graphics oriented • WAP and I-mode may combine • NTT Docomo runs I-mode • Always on service (use GPRS) • 9. 6 Kbps at present - 3 G later • Need a special I-mode phone, larger screens • I-mode sites have pre-fabricated. Copyright: content. A. Umar
Wireless Java and J 2 ME Wireless Java = J 2 ME + other Java Technologies (e. g. , Java Cards) Copyright: A. Umar
BREW • Qual. Comm created the BREW to address a specific problem – Nearly every cell phone sold today is expected to be thrown away. – Handset manufacturers must load each phone's applications onto the handset at the factory. – Each application must be custom-built for each individual handset. – How can the applications installed on your current phone be transferred to your new one quickly • BREW is intended to simplify application development on CDMA handsets (from Qual. Comm) • End users can download new applications as binary code. Copyright: A. Umar
Voice Browsers WAP Browser WML Stylesheet Processor Voice Browser Dialog ML Voice Browser HTML Browser XSL or Voice XML Web Content in XML Stylesheet HTML Stylesheet • Voice-Commerce is an area of considerable activity (voice portal) • Voice communication is convenient but more complex • Voice. XML is used for dialogs Copyright: A. Umar
Voice. XML Prototype WML Voice. XML WAP Gateway Voice. XML Gateway HTML/XML Copyright: A. Umar Web Server Servelet Content (XML/HTML) e. Commerce Module
• • Voice XML for V-Commerce Voice XML Forum (www. voicexml. org) Extension of XML in cooperation with W 3 C Participation through IBM, AT&T, Lucent Goals • Enable internet access via voice and phone (e. g Voice activated web browsing). • Make setup of voice services, development of interactive speech-enabled applications easier and cheaper. Example • Enable easy integration of voice and data services. C: would you like coffee, milk, or tea? <? xml version=“ 1. 0”> U: Juice <vxml version=“ 1. 0”> C: Sorry, try Again <form> U: Tea <field name=“drink”> <prompt> would you like coffee, milk, or tea? </prompt> <grammar src=“drink. gram” type=“application/x-jsgf”/> Coffee | Black, </field> Cream&sugar; <block> Milk | Milk; <submit next = “http: //www. drink. example/drink 2. asp”/> Tea | ice, hot; </block> | </form> Copyright: A. Umar
Voice. XML gateway Speech Text to Speech Text Voice XML Automated Text Speech Gateway Recognition Voice Browser Speech Web Server VXML Doc • User calls a site • Site sends VXML • Voice browser handles VXML • TTS translates to speech • User answers • Gateway invokes ASR to convert to VXML text • Browser sends VXML to the server Copyright: A. Umar
- Slides: 31