copyright: a. umar session : pltaforms for mobile applications mobile computing platforms ...

31
Copyright: A. Umar 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 Umar

Upload: malcolm-able

Post on 14-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Copyright: A. Umar

SESSION : Pltaforms for Mobile Applications

Mobile computing platforms Middleware to support mobile commerceWireless Application Protocol (WAP) I-mode and Wireless Java •Voice Markup Language

Amjad Umar

Copyright: A. Umar

Mobility Issues at Various Levels

M-Business andMobile Applications

Wireless Networks

WirelessInfrastructure

Platforms for Mobile Applications-Middleware Platforms (WAP, I-Mode, J2ME)- Mobile Platform Services (Mobile OS, Utilities)

Copyright: A. Umar

Mobile Computing PlatformsM o b ile D ev ice (C e ll P h o n e , P D A , P o ck e t P C )

S e rv e r (W eb S e rv e r, eM ail se rv e r,M a in fra m e)

A p p lica tio n

P h ys ica l W ire le ss N e tw o rk

(A n te n n a s , T ra n sce iv e rs , B a se S ta tio n s , C e llu la r N e tw o rks , 8 0 2 .1 1 L A N s , S a te llite s )

M id d lew are S e rv ice s

N e tw o rkT ran sp o rt S e rv ice s

L o ca lP la tfo rmS erv ice s

A p p lica tio n

M o b ile C o m p u tin gP la tfo rm N etw o rk

T ran sp o rt S e rv ice s

L o ca lP la tfo rmS erv ice s

M id d lew are S e rv ice s

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 data-compression 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 wireless devices.

Copyright: A. Umar

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

Mobile Devices

Wireless Network

Wireless

Network

Stack

Mobility

Middleware

Mobility Application

Back-end

Network

Stack

Middleware

for

Backend

Back-endApplicationsand DatabasesBack-end

Network

Wireless Software Development and Monitoring Control

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 toeasily 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 technologies•Designed to work with all wireless networks such as GSM, CDMA, and TDMA

Web Server

WAPGateway

Wirelessnetworkwith WAPProtocol

WAP Phone

Internet

Copyright: A. Umar

New Versus Old WAP

PhysicalNetwork

IP

Transport(TCP/UDP)

TLS-SSL

HTTP

Wireless Application Environment(WAE

Wireless Networks. CDPD,GSM, Bluetooth

Transport Layer (WDP)

Security Layer (WSL)

Session and Transactionlayers (WSP, WTP)

Wireless Application Environment(WAE)

WAP 2.0 Stack WAP1.2 Stack

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="#card2"/> </DO> Acme Inc.<BR/>Directory </CARD>

<CARD NAME="card2"> <DO TYPE="ACCEPT"> <GO URL="?send=$type"/> </DO> Services <SELECT KEY="type"> <OPTION VALUE="em">Email</OPTION> <OPTION VALUE="ph">Phone</OPTION> <OPTION VALUE="fx">Fax</OPTION> </SELECT> </CARD></WML>

Acme Inc.Directory_____________Next

Services1>Email2 Phone____________OK

Slide adapted from WAP web site

Copyright: A. Umar

WMLScript• Scripting language derived from JavaScriptTM

– 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 Examplefunction currencyConvertor(currency,exchRate) { return currency*exchangeRate; }function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay;}

Functions

ProgrammingConstructs

Variables

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

WTA Example: Placing a 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>

WTAI Call

function checkNumber(N) { if (Lang.isInt(N)) WTAI.makeCall(N); else Dialog.alert(“Bad phone number”);}

Slides from WAP web site

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 telephony-specific 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

WAPDevices

WebBrowser

WAPGateway

WebServer

Servet

Content(XML/HTML)

eCommerceModule

HTML/XMLover HTTP

WMLover WAP

HTML/XMLover HTTP

Copyright: A. Umar

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

I - M o d eG a t e w a y

W e bC o n t e n t

C e l l u l a rC e l l u l a rP h o n eP h o n ew i t hw i t h I - M o d e I - M o d eB r o w s e rB r o w s e r

W e bW e b

S e r v e rS e r v e rc H T M Lo v e rP a c k e t S w i t c h i n g N e t w o r k

•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 - 3G later •Need a special I-mode phone, larger screens•I-mode sites have pre-fabricated content

Copyright: A. Umar

Wireless Java and J2ME

Profiles

Configurations

RuntimeEnvironments

Devices

Personal

CDC

Consumer VirtualMachine (CVM)

High end devices

MIDP, PDA

Kilo Virtual Machine(KVM)

Handheld devices,cell phones

GSM

Java Card API

JavaCard VirtualMachine

Smart cards

CLDC

Applets MIDlets Java card AppletsApplications

J2ME JavaCard

Wireless Java = J2ME + other Java Technologies (e.g., Java Cards)

Wireless Java

Copyright: A. Umar

BREW• QualComm 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 QualComm)

• End users can download new applications as binary code.

Copyright: A. Umar

Voice Browsers

WAP Browser

HTML Browser

WebContentin XML

WML

Stylesheet XSL

Processor

Dialog ML

or Voice XML

Stylesheet

HTML

Stylesheet

Voice Browser

VoiceBrowser

•Voice-Commerce is an area of considerable activity (voice portal) •Voice communication is convenient but more complex•VoiceXML is used for dialogs

Copyright: A. Umar

VoiceXML Prototype

WAPGateway

WebServer

Servelet

Content(XML/HTML)

eCommerceModule

HTML/XML

WML

VoiceXMLGateway

VoiceXML

Copyright: A. Umar

Voice XML for V-Commerce• Voice XML Forum (www.voicexml.org)

• Extension of XML in cooperation with W3C

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

• Enable easy integration of voice and data services.

Example<?xml version=“1.0”><vxml version=“1.0”> <form> <field name=“drink”> <prompt> would you like coffee, milk, or tea?</prompt> <grammar src=“drink.gram” type=“application/x-jsgf”/> </field> <block> <submit next = “http://www.drink.example/drink2.asp”/> </block></form>

C: would you like coffee, milk, or tea?U: JuiceC: Sorry, try AgainU: Tea

Coffee | Black, Cream&sugar; Milk | Milk; Tea | ice, hot;|

Copyright: A. Umar

VoiceXML gateway

Text to Speech

Automated SpeechRecognition

TextVoice XML Gateway

Text

Speech

Speech

Voice Browser

•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

WebServer

VXMLDoc