WML introduction - PowerPoint PPT Presentation

1 / 74
About This Presentation
Title:

WML introduction

Description:

Sitan Wei Zhiyuan Lu Zhongmin Shi Yang Yang Xiaowei Song Agenda Introduction to WAP WAE and WAP Gateway WML Introduction and Implementation WMLScript and Dynamic WML ... – PowerPoint PPT presentation

Number of Views:806
Avg rating:3.0/5.0
Slides: 75
Provided by: zlu7
Category:
Tags: wml | introduction

less

Transcript and Presenter's Notes

Title: WML introduction


1
W_at_P
Technology and Application
Sitan Wei Zhiyuan Lu Zhongmin Shi Yang
Yang Xiaowei Song
2
Agenda
  • Introduction to WAP
  • WAE and WAP Gateway
  • WML Introduction and Implementation
  • WMLScript and Dynamic WML Page
  • WAP Solution-Success,Challenges, Future

3
Part 1 Introduction to WAP
  • What is WAP?
  • WAP Overview
  • WAP protocol layer

4
What is WAP?
  • The Wireless Application Protocol(WAP) is an
    open, global specification that empowers mobile
    users with wireless devices to easily access and
    interact with information and services instantly.
  • Composed by a set of communication protocol.

5
WAP Overview
  • What type of devices will use WAP?
  • Handheld digital wireless devices such as
    mobile phones, pagers, two-way radios,
    smartphones and communicators -- from low-end to
    high-end.

6
WAP Device Manufacturers
7
Which Wireless Networks Does WAP Work With?
WAP is designed to work with most wireless
networks such as CDPD, CDMA, GSM, PDC, PHS, TDMA,
FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC, Mobitex.
8
WAP Wireless Operators
9
WAP Software Companies
10
WAP Example
  • http//www.mobilewap.com/mobile/index.html

11
WAP Features
  • Low bandwidth
  • Long latency
  • Small screen size
  • Mobile client

12
Why WAP?
  • WAP enables any data transport
  • --TCP/IP,UDP/IP,GUTS,SMS or USSD
  • WAP utilizes standard Internet markup language
    technology (XML)
  • The WML UI components map well onto existing
    mobile phone user interface
  • WAP utilizes plain Web HTTP1.1 servers

13
WAP Protocol Stack
14
WAP Layers
  • WAEmain interfaces to the client devices and
    specify a markup language, a scripting language,
    and a telephony interface.
  • WSPprovide connection-based services to the
    application layer
  • WTLSoptional layer which consists of description
    devices
  • WTP WDP and Bearer ServiceThey provide reliable
    transmission of WSP data packets between the
    client and server over a wireless link.

15
Part 2 WAP Application Environment and WAP
Gateway
  • Overview
  • Architecture
  • WAP Gateway
  • WML and WMLScript
  • Content Formats
  • Current Development

16
WAE Overview
  • For network applications
  • On small, narrowband devices
  • High degree of interoperability
  • WAE defines basics
  • For WAP user agents
  • For WAP gateways.
  • WAE contains
  • WML and WMLScript specifications
  • Wireless Telephony Application Interface (WTAI)

17
WAE Abstract Network Architecture
18
How It Works
Static file or CGI Output WML
HTTP
WAP
19
Application Example
20
Why Do I Need a WAP Gateway?
  • Unable connect directly from current WAP devices
    to web servers.
  • Speak a different language between WAP Devices
    and the Web Servers
  • An extra server to handle translation
  • WAP Gateway, or WAP Proxy

21
WAP Gateway
  • Provides a link between a mobile network and
    Internet
  • Converts the 'WAP' request into a 'Web' request
  • Converts the 'Web' response into a 'WAP' response

22
WAP Gateway (contd)
  • A particular piece of software located on a
    server
  • Handles incoming requests from your WAP phone.
  • Compiling the WML pages into bytecode (WMLC)
  • Reduce the size and number of packets
  • Provide hosting capabilities themselves
  • For dynamic Web applications
  • determine more about your target client's request
  • Provide transaction security

23
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

24
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

25
Content Formats
  • Common interchange formats
  • Promoting interoperability
  • Formats
  • Business cards IMC vCard standard
  • Calendar IMC vCalendar standard
  • Images WBMP (Wireless BitMaP)
  • Compiled WML, WMLScript (Wmlc, Wmlcs)

26
Content Format Example
Example Use of an Image
ltWMLgt ltCARDgt Hello World!ltBR/gt ltIMG
SRC/world.wbmp ALTGlobe
/gt lt/CARDgt lt/WMLgt
27
Current Development
  • Push Model
  • Alerts or service indications
  • Pre-caching of data
  • http//www-106.ibm.com/developerworks/eeng/library
    /prowap.htm
  • User Agent Profiles (UAProf)
  • Goal content personalization
  • Working with W3C on CC/PP
  • Efficient transport over wireless links, caching
  • http//www.w3.org/TR/NOTE-CCPP/

28
Part 3 WML Introduction and Implementation-
Make and display WML page
29
How to Make WML page
  • 1. Write your own code
  • Write code directly
  • From a CGI script
  • 2. Convert from HTML
  • 3. Visual tools

30
Write your own code WML Example
lt?xml version"1.0"?gt lt!DOCTYPE wml PUBLIC
"-//WAPFORUM//DTD WML 1.1//EN" "http//www.wapforu
m.org/DTD/wml_1.1.xml"gt ltWMLgt ltCARDgt ltDO
TYPEACCEPTgt ltGO URLeCard/gt
lt/DOgt Welcome! lt/CARDgt ltCARD
NAMEeCardgt ltDO TYPEACCEPTgt ltGO
URL/submit?N(N)S(S)/gt lt/DOgt Enter
name ltINPUT KEYN/gt Choose speed
ltSELECT KEYSgt ltOPTION VALUE0gtFastlt/OPT
IONgt ltOPTION VALUE1gtSlowlt/OPTIONgt
ltSELECTgt lt/CARDgt lt/WMLgt
31
Write your own code WML Elements
  • Deck/Card Elements
  • wml card template head access meta
  • Event Elements
  • Do ontimer onpick onevent postfield
    onenterforward onenterbackward
  • Tasks
  • Go prev efresh noop
  • Variables
  • Setvar
  • User input
  • Input select option optgroup fieldset
  • Anchors, Images, and Timers
  • a anchor img timer
  • Text Formatting
  • br p table tr td

32
Write your own code Defining the Navigation
Path
ltWMLgt ltCARDgt ltDO TYPE"ACCEPT"
LABEL"Next"gt ltGO URL"card2"/gt
lt/DOgt DalhousieltBR/gtDirectory
lt/CARDgt ltCARD NAME"card2"gt ltDO
TYPE"ACCEPT"gt ltGO
URL"?sendtype"/gt lt/DOgt
Services ltSELECT KEY"type"gt
ltOPTION VALUE"em"gt1.Emaillt/OPTIONgt
ltOPTION VALUE"ph"gt2.Phonelt/OPTIONgt
ltOPTION VALUE"fx"gt3.Faxlt/OPTIONgt
lt/SELECTgt lt/CARDgt lt/WMLgt
33
Write your own code 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

ltCARDgt ltDO TYPE"ACCEPT" LABELFind"gt ltGO
URL"getcity.cgi?locationcity"/gt lt/DOgt
Forecast ltSELECT KEY"city"gt ltOPTION
VALUE"ber"gtBerlinlt/OPTIONgt ltOPTION
VALUE"rom"gtRomelt/OPTIONgt ltOPTION
TITLE"Find" ONCLICK"find.cgi"gtNew
Citylt/OPTIONgt lt/SELECTgt lt/CARDgt
Forecast 1 Berlin 2 Rome 3 New
City ____________ Find
34
Write your own code The TEMPLATE Element
  • Defines actions events for all cards in a deck

ltWMLgt ltTEMPLATEgt ltDO TYPE"OPTIONS"
LABEL"Main"gt ltGO URL"main_menu.wml"/gt
lt/DOgt lt/TEMPLATEgt ltCARD NAME"msg1"gt ltDO
TYPE"ACCEPT" LABEL"Next"gt ltGO
URL"msg2"/gt lt/DOgt First story
lt/CARDgt ltCARD NAME"msg2"gt Second story
lt/CARDgt lt/WMLgt
First story _____________ Next Main
Second story ... _____________ OK Main
35
Write your own code Add Image
  • ltimg srclogo.wbmp" altLogo"/gt
  • WBMP File Generator
  • JPG, GIF,BMP -gt WBMP
  • http//amazingvb.latinaddress.com

36
Converting HTML to WML
  • How
  • translates non-complex HTML documents in to WML
  • tag-by-tag processing and discard all
    incompatible tags and contents
  • Significance
  • Dramatically accelerates wireless content
    development by using abundant HTML resources

37
Converting HTML to WML Server Based
Converter
  • Zygo http//wap.z-y-g-o.com
  • embedded in the Apache web server via the
    mod_perl mechanism.
  • For internal use.
  • Download
  • http//wap.z-y-g-o.com/tools/zygo-html2wml.
    zip
  • installing the .pm file in the APACHEROOT/Zygo/
    directory and modify Apache httpd.conf file.
  • The best option of web sites
  • Enable server error messages to be displayed in
    handset
  • Enable Billions of HTML pages, the major resource
    of Internet, to be shared by wireless device.

38
Converting HTML to WML User-based
Converter
  • WapTools http//www.argogroup.com

39
Visual Tools
  • to develop wireless applications using only
    point-and-click and drag-and-drop approach
  • DotWAP 1.0
  • http//www.inetis.com/english/solutions_dotwap.htm
  • XYBO v1.4
  • http//www.xybo.com/
  • MobileDev 2.0
  • http//mobiledev.speedware.com/

40
Visual Tools Example
41
How to Display WML Pages
  • PDA or Cell phone
  • Emulator
  • SmartPhone Emulator Developer Edition 1.2
  • http//www.yospace.com
  • WinWAP v3.0 PRO
  • http//www.slobtrot.com/winwap/
  • M3Gate
  • http//www.m3gate.com/

42
(No Transcript)
43
Online Test
  • online utility for code errors, common mistakes,
    and valid links
  • The Wireless Internet Lab of www.AnywhereYouGo.com

44
Embedded Browser
  • YoSpace JavaBean Edition 1.0 Handset
    Manufacturer Support
  • Put WAP emulation capability into your
    application software using the SmartPhone as a
    JavaBean
  • 5NINE
  • an open source development project for creating a
    WML Browser to work with all types of Linux
    environments.
  • make wireless device an attractive alternative
    for hard-ware manufacturers.

45
Standard Java Classes for WAP
  • develop and debug WAP programs with standard Java
    development tools
  • Waba SDK and VM
  • http//www.wabasoft.com
  • UP.SDK 4.2
  • http//developer.openwave.com

46
Part 4 WMLScript Dynamic WML Page
47
What Is WMLScript
  • WMLScript is the client-side scripting language
    used for WML pages
  • WMLScript is based on ECMAScript, like JavaScript
  • WML scripts are not embedded in the WML pages,
    they are sent separately.

48
What Is WMLScript Used for ?
  • WMLScript is used to calculate or validate user
    input
  • WMLScript is used to generate message boxes and
    dialog boxes locally
  • WMLScript is used to access facilities of the
    user agent 

49
WMLScript Example
  • WML source file (check.wml)
  • lt?xml version"1.0"?gt
  • lt!DOCTYPE wml PUBLIC "- //WAPFORUM//DTD WML
    1.1//EN" "http//www.wapforum.org/DTD/wml_1.1.xml"
    gt
  • ltwmlgt
  • ltcard id"no1" title"Go to URL"gt
  • ltdo type"options" label"Go"gt
  • ltgo href"check.wmlsgo_url((url)')"/gt
  • lt/dogt
  • ltpgt Enter a URL ltinput type"text"
    name"url"/gt lt/pgt
  • lt/cardgt
  • lt/wmlgt
  • WMLScript source file (check.wmls)
  • extern function go_url (url)
  • if (String.find(url,"http//") lt 0)
  • url"http//"url
  • WMLBrowser.go(the_url)

50
WMLScript File
  • WMLScript source files (.wmls)
  • For WML browser or WML simulator
  • WMLScript compiled files (.wmlsc)
  • For WAP device
  • Stored on server
  • Compiled by WAP gateway automatically

51
WMLScript Interpreter
52
Standard Libraries
  • Lang Library (WMLScript language core)
  • E.g. min(), max(), exit(), abort(), random(),
    seed()
  • Float Library (arithmetic floating-point
    functions)
  • E.g. pow(), round(), sqrt()
  • String Library (string functions)
  • E.g. length(), trim(), charAt(), subString(),
    find(), replace()

53
Standard Libraries (cont.)
  • URL Library (handling both absolute and relative
    URL)
  • E.g. isValid(), getHost(), getPort(),
    getParameters(), getQuery()
  • Browser Library (access the associated WML
    context)
  • E.g. getVar(), setVar(), go(), prev(), refresh()
  • Dialogs Library (user interface functions)
  • E.g. prompt(), confirm(), and alert()

54
WMLScript vs. JavaScript
  • WMLScript
  • Used for WML
  • No objects array
  • Support library
  • Separate file (.wmls)
  • Support compiled file
  • JavaScript
  • Used for HTML
  • Support objects array
  • No library
  • Embedded in HTML file
  • No compiled file

55
Dynamic WML Page
  • Server Side Tools
  • CGI
  • Perl
  • C/C
  • ASP
  • JSP
  • Java Servlet

56
Perl Example
  • !/usr/bin/perl
  • print "Content-Type text/vnd.wap.wml\n"
  • print "\n"
  • print "lt?xml version\"1.0\"?gt\n"
  • print "lt!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD
    WML 1.1//EN\" \n"
  • print "\"http//www.wapforum.org/DTD/wml_1.1.xml\"
    gt\n"
  • print "ltwmlgt\nltcard id\"index\"
    title\"index\"gt\n"
  • print "ltpgtHello everyonelt/pgt\n"
  • print "lt/cardgt\nlt/wmlgt"

57
Web Server Configuration
  • Apache Server
  • httpd.conf
  • WML MIME Type
  • AddType text/vnd.wap.wml
    .wml
  • AddType application/vnd.wap.wmlc
    .wmlc
  • AddType text/vnd.wap.wmlscript
    .wmls
  • AddType application/vnd.wap.wmlscriptc .wmlsc
  • AddType image/vnd.wap.wbmp
    .wbmp

58
Part 5 WAP Solutions
  • Success
  • Challenges
  • Future

59
Available Wireless Services
  • Voice
  • SMS Short Message Service
  • Data (over voice)
  • WAP simplistic and expensive

60
Attractions of WAP
  • WAP combines two of the fastest growing
    industries wireless and the Internet IP
  • WAP is an attempt to define the standard for how
    content from the Internet is filtered for mobile
    communications
  • WAP is developed to make readily available
    content from the Internet easily available to
    mobile terminals

61
WAP Scalable and Comprehensive
  • Any mobile phone
  • Any existing or planned wireless service
  • Any mobile network standard
  • Multiple input terminals

62
Fast Growing of WAP
  • WAP Forum Limited
  • Over 450 members
  • device manufacturers
  • network operators
  • SMS center suppliers
  • SMS software suppliers
  • Other vendors

63
WAP Major Achievements
  • Reduces resources and enriches the functionality
    of the network
  • Generates additional traffic on the network and
    revenue
  • Facilitates migration of applications between
    networks and bearers

64
WAP Achievement Examples
  • Web browsing
  • WAP email
  • WAP conference
  • WAP search
  • Document sharing
  • Collaborative working
  • Still images

65
WAP Promises Examples
  • Moving images
  • Home automation
  • Job dispatch
  • Remote point of sale
  • Customer service
  • Remote monitoring (Meters)
  • Vehicle positioning
  • Remote LAN access
  • File transfer

66
WAP Challenges - Commercial
  • End-to-end security
  • Client identification
  • Encryption/Authentication

67
WAP Challenges - Network
  • Less bandwidth (300 bps to 9600 bps)
  • More latency
  • Less connection stability
  • Less predictive availability

68
WAP Challenges - Usability
  • Screen size
  • Advanced applications
  • Data input
  • Integration with voice

69
WAP Challenges - Legal Issues
  • Privacy Location information
  • Eavesdropping

70
WAP Detractors and Controversies
  • Difficult to configure for new services
  • Unlikely in a long time-few mobile phones support
  • WAP standard is incomplete
  • WAP gateway vendors competing against each other
  • Other protocols already widely supported or
    designed to supercede WAP
  • WAP services be expensive
  • Example of doubt on WAPs future
  • http//www.infoworld.com/

71
New Era of Wireless
  • Next release of WAP
  • WSG work area
  • WTLS services
  • WDP datagram protocol

72
Competition for WAP
  • Subscriber identity module (SIM) toolkit
  • Windows CE
  • JavaPhone

73
Reference
  • http//www.sce.carleton.ca/wmc/chameleon/wapdoc/wa
    pintro.html
  • http//www.iec.org/tutorials/wap/topic04.html
  • http//www.anywhereyougo.com/wap/Article.po?typeW
    AP_Tutorialpage7402
  • http//www.tenetindia.com/Wap/whatswap/Faq/Faq.asp
  • http//www.tenetindia.com/Wap/Resources/Software/S
    oftware.asp?choiceResources
  • http//www.123wapinfo.com/softwares/
  • http//allnetdevices.com/faq/?faqrediryes
  • http//www.palowireless.com/wap/
  • http//www-106.ibm.com/developerworks/eeng/library
    /eeng_wapexpo.htm
  • http//www9.org/w9cdrom/228/228.html

74
?
WAP or NOT WAP
Write a Comment
User Comments (0)
About PowerShow.com