Wireless Application Protocol (WAP)

Page 1

WAP

Wireless Application Protocol Zeb Bhatti 1


About the Author - Aurangzeb “Zeb” Bhatti launched Computerland LAX in 1985 and through acquisitions of PACTEL InfoSystems and NYNEX Computer Systems grew the company to a US$ 250 million+ and 400 employees. The new company called NovaQuest InfoSystems was sold to SARCOM, Inc. in 1998. In 1999, Zeb launched WebVision Inc, and acquired eNom Inc. in 1999. eNom is the largest wholesaler of Internet domains in the world, providing domain name registration and other online services to small and home-based businesses, individuals, traffic aggregators and resellers (http://www.enom.com). In 2004, Zeb launched an On-Line university (McKinley University) and authored the Virtual University System (VUS) product. EXPERTISE: Network, Systems and Telecommunications ( Architected and Build a Fiber-Optics Network and a series of Data Centers connecting five major cities in he US. The high-speed network was one of the first to implement EMC Storage Area Network technology for real-time mirroring and redundancy) Information Security – Chief Information Security Officer - Zeb has United States Patents on the Virtual University Appliance (“VU Appliance”) -used by educational institutions to E-Learning environments easily. Software has features for creating/aggregating content for courses, Courseware Repository, Learning Management and Registration System (LMS), Online Quiz and Exams Server, Online Evaluations by Students and Instructors, Collaboration, Discussion, Online Marketing for courses and recruiting Instructor/Mentors - CO-Author of Curum Gold VIP (Visual Iconic Programming Language)

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

2


Timeline of Wireless Mobile Internet voice

It’s a phone! data

It’s a computer!

voice & data

Digital Cell Phone

It’s both

Nokia, Ericsson, Sprint, BellSouth …

1990

Java phone

Pagers Motorola, Ericsson, etc.

Handheld Computer Grid, Slate, Go

PDA

Handheld Communicator

Newton Palm, Handspring share with my desk

Mobile Desktop Winpad, Wince, PocketPC wirelessknowledge Windows Everywhere! (not)

2000

ICRAS (General Magic) Mix’n’match peripherals

Company X

Smart Radio

2010

Teleputer Voice interfaces Broadband optical

Mobile Devices

Transcoded media

Norand, Telxon, Symbol, Psion The trucks of the industry

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

3


Wireless Carrier Standards

3G Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

4


Connected LAN vs Wireless WAN

Professional

2.4Mb/sec vs 9K bits per second

LAN Wireless 802.11 Ethernet – solid connect 2.4M – proximity requirements; custom Education, Gov’t, Large Corp. Canvases Vertical industries: Warehouse SCM, Transport

Consumer

WAN Wireless – Unpredictable Connections 300 bits (SMS) 9.2 (CDPD), GSM – 9.6K Dial up 33.6 – 128K (Metricom, now under Chapter 11)

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

5


Connected LAN vs Wireless WAN

Professional

Wireless Ethernet (802.11x) This standard is a product of the IEEE 802.11 Working Group Utilizes the 2.4 GHz Band (Industrial, Scientific and Medical Band – or ISM Band) Allows for 2mb/sec & 11mb/sec data rates at distances of up to 3.5 miles More improvements are made to the QoS, Security and data rate aspects of this standard. Can expect data rates of upto 20mb/sec within a couple of years

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

6


Connected LAN vs Wireless WAN

Professional

Wireless Ethernet (802.11x)

The 802.11 standard allows for two different Air Interfaces (Radio Interfaces) DSSS: Direct Sequence Spread Spectrum FHSS: Frequency Hopping Spread Spectrum

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

7


Wireless Carrier Network Limitations Hostile network environment Lack of IP addressability Low bandwidth Reliability The limited characteristics of devices Connection library availability Limited CPU, memory, and networking resources

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

8


3G Wireless

Wireless Carrier Messaging Standards & Convergence

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

9


Optimal WAP Bearer & Wireless Carrier Messaging SMS - Short Messaging Service USSD – Unstructured Supplementary Services Data CSD – Circuit Switched Data

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

10


SMS - Short Messaging Service Given its limited length of 160 characters per short message, SMS may not be an adequate bearer for WAP because of the weight protocol of the protocol. The overhead of the WAP protocol that would be required to be transmitted in an SMS message would mean that even for the simplest of transactions several SMS messages may in fact have to be sent. This means that using SMS as a bearer can be a time consuming and expensive exercise. Only one network operator- SBC of the US- is known to be developing WAP services based on SMS.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

11


CSD - CIRCUIT SWITCHED DATA Most of the trial WAP based services use CSD as the underlying bearer. Since CSD has relatively few users currently, WAP could kickstart usage of and traffic generated by this bearer. However, CSD lacks immediacy- a dial up connection taking about 10 seconds is required to connect the WAP client to the WAP Gateway, and this is the best case scenario when there is an complete end to end digital callin the case of the need for analog modem handshaking (because the WAP phone does not support V.110 the digital protocol, or the WAP Gateway does not have a digital direct connection such as ISDN into the mobile network), the connect time is increased to about 30 seconds.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

12


UNSTRUCTURED SUPPLEMENTARY SERVICES DATA Unstructured Supplementary Services Data (USSD) is a means of transmitting information or instructions over a GSM network. USSD has some similarities with SMS since both use the GSM network's signaling path. Unlike SMS, USSD is not a store and forward service and is session-oriented such that when a user accesses a USSD service, a session is established and the radio connection stays open until the user, application, or time out releases it. This has more in common with Circuit Switched Data than SMS. USSD text messages can be up to 182 characters in length.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

13


UNSTRUCTURED SUPPLEMENTARY SERVICES DATA USSD has some advantages and disadvantages as a tool for deploying services on mobile networks: Turnaround response times for interactive applications are shorter for USSD than SMS because of the sessionbased feature of USSD, and because it is NOT a store and forward service. According to Nokia, USSD can be up to seven times faster than SMS to carry out the same two-way transaction. Users do not need to access any particular phone menu to access services with USSD- they can enter the Unstructured Supplementary Services Data (USSD) command direct from the initial mobile phone screen. Because USSD commands are routed back to the home mobile network's

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

14


UNSTRUCTURED SUPPLEMENTARY SERVICES DATA Home Location Register (HLR), services based on USSD work just as well and in exactly the same way when users are roaming. Unstructured Supplementary Services Data (USSD) works on all existing GSM mobile phones. Both SIM Application Toolkit and the Wireless Application Protocol support USSD. USSD Stage 2 has been incorporated into the GSM standard. Whereas

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

15


UNSTRUCTURED SUPPLEMENTARY SERVICES DATA USSD was previously a one way bearer useful for administrative purposes such as service access, Stage 2 is more advanced and interactive. By sending in a USSD2 command, the user can receive an information services menu. As such, USSD Stage 2 provides WAP-like features on EXISTING phones. USSD strings are typically complicated for the user to remember, involving the use of the "*" and "#" characters to denote the start and finish of the USSD string. However, USSD) strings for regularly used services can be stored in the phonebook, reducing the need to remember and reenter them. As such, USSD could be an ideal bearer for WAP on GSM networks.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

16


General Packet Radio Service (GPRS) The General Packet Radio Service (GPRS) is a new packetbased bearer that is being introduced on many GSM and TDMA mobile networks from the year 2000 onwards. It is an exciting new bearer because it is immediate (there is no dial up connection), relatively fast (up to 177.2 kbps in the very best theoretical extreme) and supports virtual connectivity, allowing relevant information to be sent from the network as and when it is generated. At the time of writing , there has been no confirmation from any handset vendors that mobile terminated GPRS traffic (i.e. direct receipt of GPRS packets on the mobile phone) will be supported by the initial GPRS terminals. Availability or not of GPRS MT is a central question with critical impact on the GPRS business case such as application migration from other nonvoice bearers.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

17


General Packet Radio Service (GPRS) There are two efficient means of delivering proactively sending ("pushing") content to a mobile phone: by the Short Message Service which is of course one of WAP bearers or by the user maintaining more or less a permanent GPRS (mobile originated) session with the content server. However, mobile terminated IP traffic might allow unsolicited information to reach the terminal. Internet sources originating such unsolicited content may not be chargeable. A possible worse case scenario would be that mobile users would have to pay for receiving unsolicited junk content. This is a potential reason for a mobile vendor NOT to support GPRS Mobile Terminate in their GPRS terminals. However, by originating the session themselves from their handset, users confirm their agreement to pay for the delivery of content from that service. Users could make their requests via a WAP session, which would not therefore need to be blocked. As such, a WAP session initiated from the WAP microbrowser could well be the only way that GPRS users can receive information onto their mobile terminals.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

18


General Packet Radio Service (GPRS) Since all but the early WAP enabled phones will also support the General Packet Radio Service, WAP and GPRS could well be synergistic and be used widely together. For the kinds of interactive, menu based information exchanges that WAP anticipates, Circuit Switched Data is not immediate enough because of the need to set up a call. Early prototypes of WAP services based on Circuit Switched Data were therefore close to unusable. SMS on the other hand is immediate but is ALWAYS store and forward, such that even when a subscriber has just requested information from their microbrowser, the SMS Center resources are used in the information transfer. As such, GPRS and WAP are ideal bearers for each other. Additionally, WAP incorporates two different connection modesWSP connection mode or WSP connectionless protocol. This is very similar to the two GPRS Point to Point services- connection oriented and connection less.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

19


General Packet Radio Service (GPRS) The predominant bearer for WAP-based services will depend on delays in availability of WAP handsets and delays in the availability of GPRS terminals. If WAP terminals are delayed until the year 2000, most WAP terminals will support GPRS as well. If the first WAP terminals support SMS and Circuit Switched Data, but not GPRS, then SMS could become the predominant initial WAP bearer. WAP certainly will be important for the development of GPRSbased applications. Because the bearer level is separated from the application layer in the WAP protocol stack, WAP provides the ideal and defined and standardized means to port the same application to different bearers. As such, many application developers will use WAP to facilitate the migration of their applications across bearers once GPRS based WAP protocols are supported.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

20


An Internet Primer The Internet is like a spider’s web because it is physically made up of millions of interconnected computers. It is a network of networks—including thousands of corporate, government, and university networks, as well as commercial online services such as America Online and Prodigy. They are all connected by phone lines and other types of media, which we’ll discuss later. The Internet is also like a cloud because it’s huge and formless. No one owns the Internet, no one governs or controls it, and no one even knows exactly how big it is. Yet anyone can use it. Most experts agree that it is used by at least 150 million people around the world.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

21


An Internet Primer The network itself is simply a medium over which messages travel. To enable messages to travel safely and reliably between different types of networking media, certain standards must be enforced. For example, the Internet consists of many different types of computers connected by a wide range of physical media. However, all computers connected to the Internet share one common communications language: Transmission Control Protocol/Internet Protocol (TCP/IP), which enables them to communicate with one another. Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

22


An Internet Primer The Internet is rapidly establishing standards on numerous fronts to make it easier to use and to assure seamless communication. For example, many different types of e-mail systems are used on the Internet. To enable e-mail messages to be sent and received among these varying systems, Simple Mail Transfer Protocol (SMTP) was developed. SMTP allows the exchange of electronic mail between any user and any host on the Internet. The Internet also employs standards that simplify the publication of content onto World Wide Web pages so that users can interact with it. HyperText Transfer Protocol (HTTP) is the key to enabling users to access documents and software on the Web. Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

23


An Internet Primer Web documents themselves are created using another standard: hypertext markup language (HTML). The HTML language was designed to make it easy for developers to include graphics in their documents and to facilitate linking one document to another. By simply clicking on a hypertext link, users are taken to the area of interest automatically. Documents are published on the Internet as “Web pages.” In order for users to access a particular Web page, each Web site is assigned an address called a Uniform Resource Locator (URL). The URL is presented as a string of characters such as http://www.cisco.com.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

24


An Internet Addressing Primer All computers on the Internet use a common ‘addressing’ scheme to identify and reach each other. This is a ‘32-bit IP address’ scheme known as IPv4 Addresses. Just not enough numbers for everyone to have one. 2^32 = 4,294,967,296 Classless Internet Domain Routing (CIDR) was the first accepted answer Dynamic IP was the next answer Still not good enough. Enter Network Address Translation (NAT) gateways (IPv6 is a number of years away)

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

25


Network Address Translation (NAT) Today Everyone on a private network, sharing one IP The private network’s router maintains who’s who Ramifications: No unique IP address means I cannot be a server to others Less vulnerable to attacks Many, many devices will live in private networks

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

26


NAT Ramifications I no longer have a unique IP address for my device (PC, Phone, etc). I can’t by default be a publicly accessible server . But, the peers inside the private network are much less vulnerable to attacks It is very likely that many devices will live in private networks Check out http://me.enhydra.org/ for technologies to overcome NAT limitations Locumi and kHTTP for J2ME devices

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

27


Summary: Wireless Realities Measure in bits and cents Infrastructure is huge and moves slowly: 2-3 year lag times from standard. Base station territories rule! Incompatibility everywhere - Handsets must match towers, bill plan, roaming agreements. Worse internationally. Even with dual-band, tri-mode phones the fine print reads: This is a network and subscription dependent feature--not available in all areas.

Preservation of voice market slows advance (TDMA/GSM) The primary users of the phone network are computers, not people – but is was engineered for people.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

28


How Technology will Influence WAP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

29


How Technology will Influence WAP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

30


How Technology will Influence WAP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

31


Development of Radio Technology

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

32


Development of Radio Technology

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

33


How Technology will Influence WAP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

34


How Technology will Influence WAP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

35


How Technology will Influence WAP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

36


How Technology will Influence WAP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

37


What is WAP?

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

38


What is WAP? What is WAP? What services are possible How does it work What is the WAP forum?

What is WML? What are wireless devices? How is content displayed on a wireless device Pros and cons of using WAP Issues for content creators

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

39


What is WAP? WAP stands for ‘Wireless Application Protocol’ Very different to SMS (Short Message Service) that many of us use every day via our mobile phones Fast becoming the defacto global standard for providing internet content and services to mobile device users Uniform technology platform i.e. same technology is provided to all vendors regardless of the network they use Aims to get manufacturers, application developers & content providers focused on developing compatible products ‘the Internet on your phone’ ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

40


What is WAP? Designed to work with most wireless networks e.g. CDPD, CDMA, GSM Compatible with most operating systems e.g. PalmOS, Windows, OS/9 Currently over 50 million WAP-enabled handsets in circulation By 2004 est. WAP users in Western Europe alone predicted at 200 million WAP standard is created by wireless and Internet companies around the world in order to to make accessing the Internet as easy and convenient as using a cellular phone

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

41


WAP Principles A complete Wireless Internet Solution that: Uses existing standards Optimized for Wireless Promotes new and open standards Provides Air Interface Independence Provides Device Independence Provides Network-independent Works on packet, circuit, SMS, or a combination Strong industry consensus - over 300 members

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

42


The WAP Model Email Servers Web Servers

MSC Message Center

SMTP TCP/IP Intranet/ Internet

Wireless Network WAP Server Suite

HTML HTTP TCP/IP

Micro Browser

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

43


WAP Infrastructure

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

44


WAP Infrastructure Filter HTML/ WML Server

WML

WML

Wireless Network

WAP Proxy

Binary WML

WML Web Server

WML

Binary WML

WTA Server

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Micro Browser

45


Protocol Translation Wireless Network Browser

Service Request

URL WSP WTP WTLS WDP

Internet Web Server

Gateway URL WSP WTP WTLS WDP

A URL G HTTP(s) E SSL/TLS N TCP T

IP

WMLc WSP Service Response

WTP WTLS WDP

URL HTTP(s) SSL/TLS TCP IP HTML/WML

WMLc WSP WTP WTLS WDP

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

A HTML/WML G HTTP(s) E SSL/TLS N TCP T

IP

HTTP(s) SSL/TLS TCP IP

46


How does WAP work?

“WAP will let me surf the web” WTP

HTTP WAP Gateway

CSD

Web Web Server Server

Server

SMS GPRS UMTS

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Content Store

47


How does WAP work?

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

48


What services are possible with WAP? customer care and provisioning message notification and call management e-mail telephony value-added services and unified messaging mapping and locater services weather and traffic alerts news, sports and information services e-commerce transactions and banking services online address books & directory services corporate intranet applications Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

49


Example: One Person’s Day Now Company telephone list Personal contact list

Future Bank Transactions Train timetable Traffic reports

e-mail addresses

Airlines Schedule

Diary/Schedule

Product Help Guides

Weather forecast

Job reporting Component stock and ordering Expenses and mileage Sandwiches to Order

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

50


Vertical Applications High TECH

UTILITIES & CABLE

LEGAL

MEDICAL

REAL ESTATE

SERVICE DISPATCH

COURIER

TRANSPORTATION

DISPATCH OFFICE SUPPLIES

FOOD & CONSTRUCBEVERAGE TION

FURNITURE & APPLIANCES

DELIVERY

Acknowledgement:

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Unwired Planet

51


A General Purpose Platform For All Applications

SCP

HLR MSC

Cust Care

I

SS7

Infranet

Intranet Acknowledgement:

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Internet Unwired Planet 52


What are wireless devices? Handhelds Descendants of the Palm Pilot Now powerful computers that run many applications and increasingly connect to the Internet

Net-enabled phones Wireless and wired phones that connect to the Internet

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

53


What are wireless devices? Net appliances Small counter-top devices providing fast, easy Internet connections

TV/Set-top boxes Provide Internet connectivity through your TV

Two-way pagers Net-enabled paging devices supporting mainly email

Other appliances Net-enabled household appliances

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

54


What are Wireless Devices Today?

55


Two-way Paging / Messaging

3. Read message

2. Scroll to message 1. Tap mail function

J2ME capable pager devices from Motorola Now Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

56


Palm / Symbol / Handspring / pdQ Consumer & some business Dockable PIM device Optional card slots APIs SDK 3.5, Program in C, ROMS, simulator. J2ME MIDp & PDAp [late 2001] Presentation Technologies: Web clipping – PQA, Palm Query Application WML browsers J2ME / MIDp Samsung, Kyocera, etc Esmertec & others for JVMs/KVMs ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

57


PocketPC - Microsoft ‘Windows Everywhere” APIs for persistent applications 3rd generation Windows CE: C++, CE Basic, Java 1.1.8

Presentation for dynamic applications But, the desktop does not work well in the hand. Network communications architectures Good LAN Weak WAN

iPQA overcame PALM in Q2/2001

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

58


WAP enabled Devices?

59


New wireless devices?

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

60


New wireless devices?

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

61


WAP content on WAP Phones

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

62


Pros of using WAP Portability of mobile devices favors wireless over wired technologies Many, many more people have mobile phones than PCs Immediacy of available information – don’t have to be near a landline or computer Personalization of information Location awareness

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

63


Challenges of using WAP Mobile, handheld devices have: Less powerful CPUs Less memory Restricted power consumption (battery life) Smaller displays and different display sizes and shapes Different input devices e.g. keypad, touch screen, voice input, handwriting recognition

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

64


Challenges of using WAP Wireless networks Less bandwidth Less connection stability Less predictable availability

Cost Currently in Australia, users must dial up to access the WAP server i.e. every item of content costs

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

65


Alternatives to WAP WAP isn’t the only protocol being used or suggested Other industry groups are also working on other suggestions e.g. i-Mode, LEAP Some people and orgs have serious concerns about WAP see e.g. http://www.freeprotocols.org/LEAP/Manifesto/article/TheWA PTrap/split/main.html

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

66


Examples of WAP content - PDA

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

67


Optimizing content for handhelds Provide only the most essential information Avoid scrolling Use simple, easy to understand symbols Offer content in neat, tabular arrangements

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

68


Optimizing content for handhelds Provide drill-down navigation via hypertext links Use a navigation system that is easy to move forward and back Use a deep hierarchy rather than long scrolling pages Set up links to each page via anchor links (acting like a table of contents) Test that your content works across different screen sizes e.g. 160 X 160 pixels; 240 X 320 pixels

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

69


Optimizing content for handhelds

Notice how this content layout works on two different sized screens

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

70


What is the WAP Forum ? ™

The organization established to create and constantly improve the WAP specification Industry-wide association Responsible for drafting the global WAP specifications (now up to version 2.0) Founded by Nokia, Ericsson, Motorola and Wired Planet in 1998

Over 450 current members comprised of Manufacturers representing over 95% of the world’s handsets Carriers representing over 200 million subscribers Leading Internet and wireless infrastructure providers PC software companies Other companies delivering solutions to the wireless industry.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

71


What is the WAP Forum ? ™

The Wireless Industry has chosen the WAP Standard because it is: An open industry-established world standard Based on Internet standards including XML and IP Committed to by handset manufacturers representing over 90% of the world market across all technologies Supported by network operators representing 100 Million subscribers

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

72


WAP Wireless Operators

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

73


WAP Device Manufacturers

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

74


WAP Software Companies

SOFTLINE

CCL

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

75


WAP Infrastructure Companies

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

76


Objectives of the WAP Forum Bring Internet content and advanced services to wireless handsets and other wireless terminals Create a global wireless protocol specification to work across differing wireless network technologies Submit specifications for adoption by appropriate industry and standards bodies Enable applications to scale across a variety of transport options and device types

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

77


The Goals of The WAP Forum

™

Ensure interoperability Foster growth of the wireless market. Make accessing the Internet portable and convenient

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

78


Open Standards Assure interoperability Encourage innovation Foster competition

Benefit the carrier by creating multiple suppliers of interoperable components and valuable applications Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

79


Bearer Independence Allows Applications developed once to work across all networks -- today and tomorrow Protects the Carrier’s investment in wireless data as networks evolve Enables Handset Manufacturers to use common code across product lines

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

80


Device Independence Allows Applications developed once to work across many devices from small handsets to powerful PDA’s Promotes consistent user experience across all of a carrier’s handset offerings Encourages wealth of applications for handset manufacturers that implement the standard

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

81


Challenge: Bandwidth is limited Power and spectrum limitations mean low bandwidth relative to wireline. Higher bandwidth comes at economic expense Trend towards packet means shared channels

Latency is an issue Transactions very small, so users perceive latency

Reliability varies widely, and fails differently from the Internet. I.e, Out-of-coverage is a common occurrence.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

82


WAP Solution: Wireless-optimized Protocols WAP runs only on the Internet and WAP Protocols wireless portion WAP Protocol stack is optimized for wireless WAP runs on all networks, including IP networks WAP even works over SMS

Wireless Network

Wired Internet HTML JavaScript

Dynamic Protocol Translation

WML WML(XML (XMLLanguage) Language) WML Script WML Script

HTTP

Wireless WirelessSession Session Protocol Protocol(WSP) (WSP)

TLS - SSL

Wireless WirelessTransaction Transaction Protocol Protocol(WTP) (WTP)

TCP

Wireless WirelessTransport Transport Layer LayerSecurity Security(WTLS) (WTLS) UDP UDP/ /IP IP

IP

WDP WDP

Wireless Bearers:

Physical

SMS USSD CSD IS-136 CDMA iDEN CDPD PDC-P

Etc..

WAP is working with W3C to merge into HTTP-NG (Next Generation) Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

83


WAP Solution: Wireless-optimized Protocols

Internet and WAP Protocols Wireless Network

Wired Internet HTML JavaScript

Dynamic Protocol Translation

WML WML(XML (XMLLanguage) Language) WML WMLScript Script

HTTP

Wireless WirelessSession Session Protocol Protocol(WSP) (WSP)

TLS - SSL

Wireless WirelessTransaction Transaction Protocol Protocol(WTP) (WTP)

TCP

Wireless WirelessTransport Transport Layer Security Layer Security(WTLS) (WTLS) UDP UDP/ /IP IP

IP

WDP WDP

Wireless Bearers:

Physical

SMS USSD CSD IS-136 CDMA iDEN CDPD PDC-P

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Etc..

84


Challenge: The Devices are smaller Form-factor limited to comfort in the human hand Device has extremely limited CPU power, memory (RAM & ROM) space, and display size Consumers demand long battery life, and therefore low power consumption Increasing bandwidth requires more power Implications: • Screen size and input mechanisms will always be limited. • Consumer desire for longer battery life will always limit available bandwidth, CPU, memory and display. • Consumer-class applications must be handset-aware.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

85


WAP Solution: Microbrowser optimized for the consumer handset Requires minimal RAM, ROM, Display, CPU and keys Provides carrier with consistent service UI across devices Provides Internet compatibility Enables wide array of available content and applications

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

86


What is a WAP Microbrowser? WAP Microbrowsers in Every Phone displays WAP “decks”

Equivalent to Primitive Web Browsers Allows:

Text Images (b&w bitmaps) Hyperlinks Text entry

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

87


WAP & 3G Spectrum is a finite resource The wireless industry has never seen a piece of spectrum it didn’t like (we always need more) WAP is superb at managing spectrum and delivering content using less bandwidth WAP is already working on color, graphics, multimedia and more to capitalize on 3G

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

88


WAP and Interoperability

Meeting the Challenge to Make All WAP-compliant devices and software interoperable

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

89


WAP Architecture

90


The WAP Architecture

Web Server

WAP Gateway

WML

WML Encoder WMLScript

WSP/WTP

WMLScript Compiler

HTTP

CGI Scripts etc.

WTAI

Protocol Adapters

Content

WML Decks with WML-Script

Client

Etc.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

91


The WAP Architecture

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

92


How does WAP work? WAP Gateway

Host

WAP content

W YELLO

Web Server

a. b. c. d. e. f.

User requests URL; phone connects to tower Tower passes request to WAP gateway (WTP) Gateway decodes, passes request to server @ URL (HTTP) Server acts on request, returns data to gateway (HTTP) Gateway encodes, passes data to phone (WTP) Phone decodes, displays WAP deck to user. Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

web content

93


Comparison between Internet and WAP Technologies Wireless Application Protocol Internet HTML JavaScript

Wireless Application Environment (WAE)

Other Services and Applications

Session Layer (WSP)

HTTP Transaction Layer (WTP) Security Layer (WTLS)

TLS - SSL

Transport Layer (WDP)

TCP/IP UDP/IP

Bearers:

SMS

USSD

CSD

IS-136

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

CDMA

CDPD PDC-P

Etc..

94


WAP v1.0 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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

95


WHY WAP ? Wireless networks and phones have specific needs and requirements not addressed by existing Internet technologies.

Only be met by participation from entire industry. WAP enables any data transport TCP/IP, UDP/IP, GUTS (IS-135/6), SMS, or USSD.

The WAP architecture several modular entities together form a fully compliant Internet entity all WML content is accessed via HTTP 1.1 requests.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

96


Converging With An XML World WAP is already prepared for convergence Understanding the “module” effect Content availability increases because less code is needed to render sites properly instead of re-writing whole sites

WAP complies with W3C’s recently approved XHTML standard WAP is Based on Internet standards including XML and IP WAP utilizes standard Internet markup language technology (XML)

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

97


WHY WAP ? Optimizing the content and airlink protocols 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, NSAPI, JAVA, Servlets, etc.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

98


Why is HTTP/HTML not enough? Big pipe - small pipe syndrome Internet HTTP/HTML

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

<HTML> <HEAD> <TITLE >NNN Intera ctive< /TITLE > <META HTTPEQUIV= "Refre sh" CONTEN T="180 0, URL=/i ndex.h tml">

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Wireless network WAP

<WML> <CARD> <DO TYPE="ACCEPT"> <GO URL="/submit?Name=$N"/> </DO> Enter name: <INPUT TYPE="TEXT" KEY="N"/> </CARD> </WML>

Content encoding 010011 010011 110110 010011 011011 011101 010010 011010

99


Wireless Transport Protocols Wireless Session Protocol Wireless Transaction Protocol Wireless Datagram Protocol

100


Protocol Layers in WPG Wireless Session Service Access Point

Wireless Session Protocol Wireless Transaction Service Access Point

Wireless Transaction Protocol Transport Service Access Point (TSAP)

Wireless Datagram Protocol WCMP

Bearer Bearer Service Bearer Service C Service B A

Bearer Service D

Physical Layer Air Link Technology Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

101


WAP Transport Services WSP is the Session Layer Protocol WTP is the Transaction-Oriented protocol WDP is the Datagram protocol

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

102


WSP Overview Provides shared state between client and server used to optimize content transfer Provides semantics and mechanisms based on HTTP 1.1 Enhancements for WAE, wireless networks and “low-end” devices Compact encoding Push Efficient negotiation

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

103


HTTP 1.1 Basis Extensible request/reply methods Extensible request/reply headers Content typing Composite objects Asynchronous requests

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

104


Enhancements Beyond HTTP Binary header encoding Session headers Confirmed and non-confirmed data push Capability negotiation Suspend and resume Fully asynchronous requests Connectionless service

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

105


Why Not HTTP? Encoding not compact enough

No push facility

Inefficient capability negotiation

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

106


Header Encoding Defined compact binary encoding of headers, content type identifiers and other well-known textual or structured values Reduces the data actually sent over the network

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

107


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

108


Suspend and Resume

Server knows when client can accept a push Multi-bearer devices Dynamic addressing Allows the release of underlying bearer resources

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

109


Session Context and Push Push can take advantage of session headers

Server knows when client can accept a push

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

110


Push Push is under development Network-push of content Alerts or service indications Pre-caching of data

Goals: Extensibility and simplicity Build upon WAP 1.0 End-to-end solution Security User friendly

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

111


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

112


WSP Work-in-Progress Support for Quality of Service parameters Multicast data Ordered pipelining WSP Management entities Support for isochronous multimedia objects

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

113


Wireless Transaction Protocol (WTP) Purpose: Provide efficient request/reply based transport mechanism suitable for devices with limited resources over networks with low to medium bandwidth.

Advantages: Operator Perspective - Load more subscribers on the same network due to reduced bandwidth utilization. Individual User - Performance is improved and cost is reduced.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

114


WTP Services and Protocols WTP (Transaction) provides reliable data transfer based on request/reply paradigm no explicit connection setup or tear down data carried in first packet of protocol exchange seeks to reduce 3-way handshake on initial request supports

• • • • •

retransmission of lost packets selective-retransmission segmentation / re-assembly port number addressing (UDP ports numbers) flow control

message oriented (not stream) supports an Abort function for outstanding requests supports concatenation of PDUs

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

115


WTP Services and Protocols WTP uses the service primitives T-TRInvoke.req .cnf. .ind .res T-TRResult.req .cnf .ind .res T-Abort.req .ind

an example of a WTP protocol exchange Client Client T-TRInvoke.req

T-TRInvoke.cnf

(PDUs)

Invoke Ack

Server Server T-TRInvoke.ind T-TRInvoke.res

Result T-TRResult.req

T-TRResult.ind T-TRResult.res

Ack

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

T-TRResult.cnf

116


Wireless Datagram Protocol (WDP) Provide consistent interface to a fundamental transport service across all wireless bearer networks.

Provides a connectionless, unreliable datagram service.

WDP is adapted to each particular wireless network to provide the generic datagram transport.

The basic datagram service is fundamental to all wireless networks and makes it possible to utilize WAP everywhere.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

117


WDP Services and Protocols WDP (Datagram Protocol) provides a connection-less, unreliable datagram service WDP is replaced by UDP when used over an IP network layer. WDP over IP is UDP/IP

uses the Service Primitive T-UnitData.req .ind

Supports port number addressing Example: WDP is UDP when used over an IP network layer.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

118


WDP Services and Protocols Instead of a typical 64-Byte TCP packet containing 15-Bytes of payload, the WDP packet is compressed and will require approx. 20-Bytes of data in total to be transported to the mobile handset.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

119


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

120


Bearers Supported Bearers currently supported by WAP • GSM SMS, USSD, C-S Data, GPRS • IS-136 R-Data, C-S Data, Packet • CDMA SMS, C-S Data • PDC C-S Data, Packet • PHS C-S Data • CDPD • iDEN SMS, C-S Data, Packet • FLEX and ReFLEX • DataTAC

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

121


Service, Protocol, and Bearer Example WAP Over GSM Circuit-Switched Data WAP Proxy/Server

Mobile WAE WSP

IWF

ISP/RAS

WAE Apps on Other Servers WSP

WTP

WTP

UDP

UDP

IP PPP CSD-RF

IP

IP

PSTN Subnetwork Circuit

Subnetwork

PPP CSDRF

PSTN Circuit

RAS - Remote Access Server IWF - InterWorking Function

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

122


Service, Protocol, and Bearer Example WAP Over GSM Short Message Service (SMS) WAP Proxy/Server

Mobile WAE

WAE Apps on other servers

WSP

WSP

SMSC

WTP WDP SMS

WTP WDP

SMS

WDP Tunnel Protocol

WDP Tunnel Protocol

Subnetwork

Subnetwork

under development

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

123


WDP Work-in-Progress Definition of Wireless TCP via liaison with IETF PILC Working Group Over The Air Provisioning Cell Broadcast SMS-C standardized interface (WDP tunneling protocol) UDP Port number assignment from IANA

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

124


WAP Application Environment

(WAE)

125


WAP Application Environment WML and WMLScript Wireless Telephony Architecture Content Formats Push User Agent Profile

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

126


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

127


WAE Requirements Leverage WSP and WTP Leverage Internet standard technology Device Independent Network Independent International Support

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

128


Requirements Vendor-controlled MMI Initial focus on phones Slow bearers Small memory Limited CPU Small screen Limited input model

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

129


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

130


WML Second Generation Extensions and enhancements Currently under development

User Agent Profiling Content customized for device

Push Model Network-initiated content delivery

Performance Enhancements Caching, etc.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

131


WAE Abstract Network Architecture

WSP/HTTP Request {URL}

Client

Gateway

Network Application

WSP/HTTP Reply {Content} Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

132


Network Example #1: WAP Gateway

Web Server

WAP Gateway

WML

WML Encoder WMLScript

WSP/WTP

WMLScript Compiler

HTTP

CGI Scripts etc.

WTAI

Protocol Adapters

Content

WML Decks with WML-Script

Client

Etc.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

133


Network Example #2: WAP Application Server

Client WML WMLScript WTAI

WML Encoder

WSP/WTP

WMLScript Compiler Protocol Adapters

Application Logic

Content

WML Decks with WML-Script

WAP Application Server

Etc.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

134


What is WML? WML stands for Wireless Markup Language Equivalent of HTML on wireless devices Requires very little bandwidth and processing power for data transfer Code interpreted by a browser built into a WAP device (micro browser) Content is accessed over the Internet using the same servers as web content Micro browsers have much more limited capabilities than browsers on PCs

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

135


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 WML is XML (Subset of XML)

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

136


WML 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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

137


All decks must contain... Document prologue XML & document type declaration

<WML> element Must contain one or more cards

<?xml version="1.0"?> <!DOCTYPE WML PUBLIC "-//WAPFORUM//DTD WML 1.0//EN" "http://www.wapforum.org/DTD/wml.xml"> <WML> ... </WML>

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

138


WML Example

Navigation

Variables

Input Elements

<WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“#eCard”/> </DO Welcome! </CARD> <CARD NAME=“eCard”> <DO TYPE=“ACCEPT”> <GO URL=“/submit?N=$(N)&S=$(S)”/> </DO> Enter name: <INPUT KEY=“N”/> Choose speed: <SELECT KEY=“S”> <OPTION VALUE=“0”>Fast</OPTION> <OPTION VALUE=“1”>Slow</OPTION> <SELECT> </CARD> </WML>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Card

Deck

139


A Deck of Cards

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

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Acme Inc. Directory _____________ Next

Services 1>Email 2 Phone ____________ OK

140


Example: Input Activity

Back

First Name:

Last Name:

Jane_ ____________ Next

Doe_ ____________ Done

Query Deck

Accept Prev

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

141


Defining the Navigation Path <CARD> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#card2"/> </DO> First name: <INPUT KEY="fname"/> </CARD> <CARD NAME="card2"> <DO TYPE="ACCEPT" LABEL="Done"> <GO URL="?get=person" METHOD="POST" POSTDATA="first=$fname&last=$lname"/> </DO> Last name: <INPUT KEY="lname"/> </CARD>

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

142


The DO Element Binds a task to a user action Action type:

ACCEPT, OPTIONS, HELP PREV, DELETE, RESET

Label:

Text string or image (optional)

Task:

GO PREV, REFRESH, NOOP

Destination:

URL

Post data:

if METHOD=POST

<DO TYPE="ACCEPT" LABEL="Next"> <GO URL="http://www.mysite.com/myapp.wml"/> </DO>

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

143


Anchored Links

Bind a task to the ACCEPT action, when cursor points to a link TITLE= sets the label string (default = “Link”) Links are not allowed in select list options

<CARD> Please visit our <A TITLE="Visit"> <GO URL="home.wml"/>home page</A> for details. </CARD>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Please visit our home page for ____________ Visit

144


Task Binding Rules

User actions are scoped at three levels • Deck • Card • Anchored links & select list options (ACCEPT) When tasks are bound to an action at different levels, the action with narrower scope takes precedence

Default task bindings User Action ACCEPT, PREV Others

Task PREV NOOP

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

145


The TEMPLATE Element

Defines actions & events for all cards in a deck <WML> <TEMPLATE> <DO TYPE="OPTIONS" LABEL="Main"> <GO URL="main_menu.wml"/> </DO> </TEMPLATE> <CARD NAME="msg1"> <DO TYPE="ACCEPT" LABEL="Next"> <GO URL="#msg2"/> </DO> First story </CARD> <CARD NAME="msg2"> Second story </CARD> </WML>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

First story … _____________ Next Main

Second story ... _____________ OK Main

146


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

147


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 </SELECT> </CARD>

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

Forecast 1 Berlin 2 Rome 3>New City ____________ Find City</OPTION>

148


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

149


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>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

150


The INPUT Element Prompts user to enter a string of text Use FORMAT= to constrain input

UP.Browser reserves soft key for text entry mode, if necessary Soc. Security:

<CARD> <DO TYPE="ACCEPT"> <GO URL="?get=person" METHOD="POST" POSTDATA="userid=$ssn"/> </DO> Soc Security: <INPUT KEY="ssn" FORMAT="NNN\-NN\-NNNN"/> </CARD>

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

287-33- _ ____________ NUM Soc. Security: 287-33- 7629 ____________ OK

151


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

152


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”

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

153


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>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

154


Special WML Characters

Use character entities in display text " & ' < >   ­

" & ' < > Blank space Soft hyphen (discretionary line break)

Replace the “&” character in URL strings URL="query.cgi?first=$fname&last=$lname"

Use “$$” to display a single “$” character

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

155


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

156


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

157


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

158


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

159


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

160


WMLScript Example WMLScript is very similar to JavaScript Functions Variables Programming Constructs

function currencyConvertor(currency, exchRate) { return currency*exchangeRate; } function myDay(sunShines) { var myDay; if (sunShines) { myDay = “Good”; } else { myDay = “Not so good”; }; return myDay; }

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

161


WTA Tools for building telephony applications Designed primarily for: Network Operators / Carriers Equipment Vendors

Network security and reliability a major consideration

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

162


WTA WTA Browser Extensions added to standard WML/WMLScript browser Exposes additional API (WTAI)

WTAI includes: Call control Network text messaging Phone book interface Indicator control Event processing

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

163


WTA Network model for client/server interaction Event signaling Client requests to server

Security model: segregation Separate WTA browser Separate WTA port

WTAI available in WML & WMLScript

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

164


WTA Example Placing an outgoing call with WTAI:

WTAI Call Input Element

<WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“wtai:cc/mc;$(N)”/> </DO> Enter phone number: <INPUT TYPE=“TEXT” KEY=“N”/> </CARD> </WML>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

165


WTA Example

Placing an outgoing call with WTAI:

WTAI Call

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

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

166


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

167


New WAP Content Formats Newly defined formats: WML text and tokenized format WMLScript text and bytecode format WBMP image format

Binary format for size reduction Bytecodes/tokens for common values and operators Compressed headers Data compression (e.g. images)

General-purpose transport compression can still be applied

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

168


Content Format Example Example Use of an Image:

Image Element

<WML> <CARD> Hello World!<BR/> <IMG SRC=“/world.wbmp” ALT=“[Globe]” /> </CARD> </WML>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

169


Push Push is under development Network-push of content Alerts or service indications Pre-caching of data

Goals: Extensibility and simplicity Build upon WAP 1.0 End-to-end solution Security User friendly

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

170


User Agent Profiles (UAProf) UAProf is under development Goal: content personalization, based upon: Device characteristics, user preferences Other profile information

Working with W3C on CC/PP RDF-based content format Describes “capability and profile” info

Efficient transport over wireless links, caching, etc.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

171


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

172


WTA (WAP Telephony API) Tools for building telephony applications Designed primarily for: Network Operators / Carriers Equipment Vendors

Network security and reliability a major consideration

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

173


WTA WTA Browser Extensions added to standard WML/WMLScript browser Exposes additional API (WTAI)

WTAI includes: Call control Network text messaging Phone book interface Indicator control Event processing

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

174


WTA Network model for client/server interaction Event signaling Client requests to server

Security model: segregation Separate WTA browser Separate WTA port

WTAI available in WML & WMLScript

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

175


WTA Example Placing an outgoing call with WTAI:

WTAI Call Input Element

<WML> <CARD> <DO TYPE=“ACCEPT”> <GO URL=“wtai:cc/mc;$(N)”/> </DO> Enter phone number: <INPUT TYPE=“TEXT” KEY=“N”/> </CARD> </WML>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

176


WTA Example

Placing an outgoing call with WTAI:

WTAI Call

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

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

177


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

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

178


New WAP Content Formats Newly defined formats: WML text and tokenized format WMLScript text and bytecode format WBMP image format

Binary format for size reduction Bytecodes/tokens for common values and operators Compressed headers Data compression (e.g. images)

General-purpose transport compression can still be applied

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

179


Content Format Example Example Use of an Image:

Image Element

<WML> <CARD> Hello World!<BR/> <IMG SRC=“/world.wbmp” ALT=“[Globe]” /> </CARD> </WML>

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

180


WAP Development for Handheld Devices

181


WAP - Advantages Universal middleware (networks rolling out worldwide, with initial takeup in corporate accounts) Common communications protocol and applications interface -- can be used across a variety of wireless networks, operating systems, and handheld devices Accelerator for mobile data -- greater variety of System Integrators (SI’s) and VARs now entering marketplace

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

182


WAP - Disadvantages Limited functionality in 1.1 (particularly personalisation and localisation) Proprietary browsers (Nokia, Ericsson, other) Poor graphics capability (WBMP) Little processing capabilities (WMLScript is subset of Java Script) No end-to-end security (gateway must be trusted)

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

183


WAP Limitations WAP runs across phones, PDAs, PCs, etc Info. often limited to few lines of text plus cascading menus Cannot offer end to end security Ideal for simple look up applications on 1/4 VGA devices and below

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

184


Key Corporate Considerations Synchronisation - identical versions of applications & data maintained on multiple devices Connection to data sources - shop, customer information, pricing (including legacy systems) User interface on device - WAP enabled ‘Smartphones’ and handheld devices may lower training requirements Performance - call set up, speed of access, coverage, recovery from lost connections Support for management of databases Level of security required - needs to be end to end for financial transactions

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

185


Why Develop WAP Games? Better environment than SMS Links & Lists make for better UI Not limited to 160 characters Can rely on image-display capability Latency issues not as brutal

Main Format for Games in North America and acceptable in Europe

Functional business model Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

186


Game Session Should Take < 10 Minutes If They’ve Got More Time, They’ll Find a Real Game Machine

Can Mean: Short Game Saved Gamestate Playable in 5 Minute Chunks

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

187


Think COLS, not Internet Entering URLs is a Pain in the Ass People stick with the carrier’s navigational hierarchy

People Pay—the Carriers, Not You Like the old Commercial Online Services Need a deal to gain access to customers… Customers funnelled to you Share revenue with the carrier

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

188


WAP Is Inconsistently Implemented

Inconsistent Browser Behavior Test for Nokia, Ericsson, OpenWave Use URL Links, not Select Lists Avoid Soft Buttons & Tables

Cookies Not Always Available Use URL Encoding

User Timers, Not Push Forget about WTAI & WMLScript Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

189


Latency of 1-2 Seconds Unlike SMS (can be 1 min +)

Multiple Interactions Within a Session Each can be of modest importance

Forget Twitch Games

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

190


Network Not Reliable Handle Drops Gracefully Design so Player Disappearance Doesn’t Matter AI Take-Over Allow Player Re-Entry Stand-bys?

Allow Reentry Without Data Inconsistency Time-Outs on Decks

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

191


Decks Must be < 1.4k Well, it’s better than SMS Unlike HTTP, Text & Images Sent as a Single Request

HTTP > WTP Encoding Includes Compression

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

192


Dealing with 1.4k Limit

Write Tersely

Use Graphics Sparely Make Animations Separate Deck with timer to autoload next deck

Can Make Long Documents Multiple Decks Consider “Terse” Mode for Experienced Players ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

193


Evolution of WAP Near-Term: WMLScript WTAI (Wireless Telephony Application Interface)

WAP 2.0: Supports HTTP & TCP/IP XHTML (Mobile Profile) Cascading Stylesheets Local persistent storage MMS Integration

WAP likely to no longer be the main event Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

194


A Web Browser for Mobile Phones? Shared Web Features information sources addressed by the URL information can be anywhere in hyperspace information source appears similar to hypertext dynamically generated information is available

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

195


What do WAP Applications Use WAP Transport Layer WAP Mark-Up Language WAP Script

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

196


WAP Limits Very slow data communications Screen small black and white only text and icons only

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

197


WAP Vision Access to public information Multi layer indexes controlled by network operator Visit other addresses by keying in URL Service provider interprets and converts web information for WAP use

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

198


Application Features The application must be stored in the SIM transfer to RAM to run be written in WAP Script provide the user interface include security include validation accept personalisation

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

199


Storing WML and WAP Script All applications are pages of mark-up language or script Need to be able to temporarily store test edit permanently store on SIM

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

200


Progress Achieved a recommendation that all terminals should have adequate RAM

Yet to be achieved terminals with a development software interface terminals with program storage

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

201


Wireless Internet WANs WAP, i-mode & J2ME

202


The WAP Architecture

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

203


Wireless Internet WAN PROTOCOL USA CDPD, Mobitex, DataTAC, GSM

HDML & WML Handheld Dynamic Markup Language

Europe WAP (GSM)

Japan i-mode (PDC-P)

Any Network

PRESENTATION WML Wireless Markup Language

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

cHTML

J2ME MIDlet GUI Components

Compact Hypertext Markup Language

204


The Wireless World Today i-mode: 60% of the world's wireless internet users WAP: 39% of the world's wireless internet users Palm: 1% of the world's wireless internet users

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

205


WAP WAP Forum alliance of carriers & handset manufacturers, promising uniformity of deployment WML Derived from Phone.com’s HDML WML is an XML language WAP incorporates its own scripting language and security stack Optimized for network constraints WAP in USA & Europe is far more limited than WAP in Japan

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

206


i-mode A presentation language, a protocol, and a carrier all in one NTT has a near monopoly Packet Network – 9.6kbs [64-384kbs begin 10/01], always on Devices are RIGIDLY enforced to i-mode specs NTT sets the standards, the handset manufacturers comply Guaranteed 16 chars [8 double-byte chars] by 6 lines

Phones have an IP stack, and most offer SSL / TLS support

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

207


J2ME J2SE J2EE The smallest of the Java continuum Targeting mobile devices, runtime of equivalent size to WAP 2.0 / imode 3.0 browser stacks MIDlets installed via a Palm-like synchronization Over the air install in October - Nextel

MIDlets offer persistence, offline use Licensing of J2ME requires passing compatibility test suite (Motorola, Nokia, RIM, etc.) Watch Nextel, Cingular, and Sprint

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

208


WAP Pros 2nd largest global penetration to end users, ubiquity in Europe, not USA Carrier and handset independent 500 members in WAPforum

Provides light-weight scripting language Committed to move toward XHTML-basic in v. 2.0

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

209


WAP Cons Geoworks Patent – all providers must currently pay royalties Gateway required transcoding occurs, unpredictably between vendors Difficult debugging, browser & server implementations vary Security hole between WAP and Web [fixed in WAP 2.0 in Q3/01] 1k page size, nominal graphics, no color [except Japan!] Language not open No W3C spec Language not consistently implemented – especially USA Existing HTML sites must be rewritten, code optimized per device

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

210


i-mode: Pros Real Business Model for 3rd Party Application Providers Packet Network means push and pull, today Moving to XHTML-Basic in i-mode 3.0, Q2/01 Large 5k per page capability (<2K recommended) Color support, animated GIF support on 502i color models Gateway / Security / VPN– network gateway required, https supported

I-Appli supports MIDlets, full HTTPS support, 5M!!!! Strongest WW penetration – 25.9 million subscribers, 30,000+ sites

Location-aware today [i-area]

Language is scaleable: HTML/cHTML use existing web-based tools.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

211


i-mode: Cons Controlled by a single corporation i-mode is only by NTT DoCoMo roaming now in Africa/EC/ AT&T,etc. No scripting language like WMLScript i-mode email limited to 500 bytes cHTML is a proposed W3C standard, but really controlled by i-mode

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

212


J2ME Pros: Security Supports HTTPS protocol for e2e security – Nextel/DoCoMo

No gateways Lower costs, simpler testing and more…

MIDlet GUI offers uniform behavior across devices Adopted by handset manufacturers and carriers globally MIDlet GUI components familiar to Swing developers ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

213


J2ME Cons: Nominal penetration: 5M devices released since 02/01 Existing HTML sites/solutions must be re-written [same as WAP] Extremely limited GUI components [2 elements: text and graphics] Installation overhead Over the air in future, available in Japan, USA and Europe today (as a pilot)

Requires different UI designer; HTML designers add little value in developing presentations Technology is early, many missteps Sony, NEC & crew have recalled > 1M Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

214


Comparing and Contrasting the APIs One Sample app 4 presentations [HTML, cHTML, WAP, J2ME] Server side code handles the database access Easily extensible to your own types of query based applications

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

215


Simple Tutorial – An Address Book Easily extensible for other needs Local restaurants [query by city & type] Local movies [query by city & time] Your UPS package [query by name & ID]

Sample Application Phone Book – retrieve contact information Supports 4 client types HTML – web browser WML – WAP phone cHTML – i-mode phone XML – J2ME client application

Demonstrates how device independence is implemented Assumes you’re adding a J2ME client to an existing application

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

216


High Level Address Book Architecture

Web PC

cHTML

User Interface: HTML Resident Software: Browser

HTML

WML Gateway

J2ME Device XML

User Interface: J2ME GUI components Resident Software: KVM, MIDlet (which embeds kXML)

Enhydra Application Server A Servlet with Presentation/Business/Data layers HP-UX, NT, Linux, e3000 JDBC

InstantDB Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

217


Enhydra XMLC™ - What is it? An Open Source development tool A member of the Enhydra Open Source family of technologies A methodology for… generating content (e.g., HTML, WML, J2ME) dynamically from Java leveraging XML to build easy to maintain Web application presentations. building device-independent application presentations Building presentations that can be reworked without modifications to Java code

A portable presentation technology (e.g., Enhydra, BEA)

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

218


About XMLC Open Source alternative to JSP A push strategy: dynamic content is pushed into a DOM, rather than pulled in by a JSP tag http://xmlc.enhydra.org Book: Enhydra XMLC for Java Presentations

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

219


Enhydra XMLC Key Elements XML – more than just data transport Defined by W3C Foundation for evolving standards, e.g. VoiceXML, WML, XHTML, CML)

DOM – Document Object Model Defined by W3C How a program represents an XML/HTML document in memory A hierarchical representation of an XML/HTML document as represented in a software programming language, e.g. Java Library for traversing, pruning, accessing portions of the DOM “tree”

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

220


Enhydra XMLC Key Elements XML Parser (from Apache Xerces Project) Parses an XML text file, turning the results into a Java DOM tree in memory.

CSS ID attributes Used to “tag” elements targeted for dynamic content. And for eliminating need to write lots of tree traversal logic

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

221


Sample Application Structure

Unlike HTML & WML clients, J2ME clients receive XML data streams from the application server. The XML is parsed by kXML, and displayed using the MIDP GUI components

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

222


Presentation Tier PoBoDo Detects incoming client type Requires the developer to create unique presentations for each presentation technology WML cHTML HTML J2ME/MIDP

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

223


Business Tier

Po

BoDo

Focus on business logic at this level Decision making processes happen here. Main workflow is clear in this layer. The ‘meat’ of the application

Resist temptation to put any presentation or data specific code into this layer.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

224


Four Aspects For Device Independence 1. Device specific templates. 2. Common XMLC API. 3. Template selection mechanism. 4. Generic DOM template manipulation.

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

225


XMLC Key Elements XML – more than just portable data Defined by W3C Foundation for evolving standards, e.g. XHTML, VXML, WML, CML)

DOM – Document Object Model Defined by W3C How a program stores an XML/HTML document in memory A hierarchical representation of an XML/HTML document as represented in a software programming language, e.g. Java Library for traversing, pruning, accessing portions of the DOM “tree”

XML Parser (from Apache Xerces Project) Translating an XML text file into a Java DOM tree in memory.

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

226


kXML.enhydra.org HttpConnection conn = (HttpConnection) Connector.open (URL); XmlReader parser = new XmlReader ( new InputStreamReader (conn.openInputStraem())); … while (parser.skip() != Xml.END_TAG) { parser.require(Xml.START_TAG, null, null); String name = parser.getName(); parser.next(); String text = parser.readText(); if (name.equals(“title”)) title = text; parser.require (Xml.END_TAG, null, name); } ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

227


HTML & WAP Device Specific Templates <p id="person">

HTML

<b><span id="name">John Doe</span></b><br> <b>Position: </b><span id="position">President</span><br> <b>Phone: </b><span id="phone">111.2222</span><br> <b>Fax: </b><span id="fax">222.3333</span><br>

WML

</p> <card id="indexTemplate" title="Details"> <p id="person"> <b><em id="name">John Doe</em></b><br /> <b>Position: </b><em id="position">President</em><br /> <b>Phone: </b><em id="phone">111.2222</em><br /> <b>Fax: </b><em id="fax">222.3333</em><br /> </p> </card>

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

228


J2ME Device Specific Template XML - Details.xml

sample.dtd

...

...

<Person id="person">

<!ELEMENT Person (Name, Phone, Position, Fax)>

<Name id='name'>John Doe</Name>

<!ATTLIST Person id ID #IMPLIED>

<Phone id='phone'>111.2222</Phone> <Position id='position'>President</Position>

<!ELEMENT Name (#PCDATA)> <!ATTLIST Name id ID #IMPLIED>

<Fax id='fax'>222.3333</Fax> </Person>

<!ELEMENT Phone (#PCDATA)> <!ATTLIST Phone id ID #IMPLIED>

<!ELEMENT Position (#PCDATA)> <!ATTLIST Position id ID #IMPLIED>

<!ELEMENT Fax (#PCDATA)> <!ATTLIST Fax id ID #IMPLIED>

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

229


J2ME HTTPConnection /** * Retrieves the contact information for a particular person */ public Person getDetails(String oid) throws IOException { HttpConnection con = null; InputStream in = null; Document document = null;

try { StringBuffer detailsURL = new StringBuffer(DETAILS_SERVICE); detailsURL.append("?id="); detailsURL.append(oid);

con = (HttpConnection) Connector.open(detailsURL.toString(), Connector.READ, true); con.setRequestMethod(HttpConnection.GET); con.setRequestProperty("Accept", "text/xml"); con.setRequestProperty("Content-Language", "en-US"); in = con.openInputStream(); Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

230


J2ME GUI for Details.java /** * Builds the screen with the information of a particular Person. */ private void buildPersonInfo(Object person) { if (size() != 0) { clearScreen(); }

Person p = (Person) person; setTitle(p.getName()); append("Phone: " + p.getPhone(), null); append("Position: " + p.getPosition(), null); append("Fax: " + p.getFax(), null); }

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

231


WAP Security WTLS Services & Characteristics

232


WSG Work Area Provide mechanisms for secure transfer of content, to allow for applications needing privacy, identification, verified message integrity and non-repudiation Transport level security is WTLS, based on SSL and TLS from the Internet community Working on various mechanisms for improved end-to-end security and application-level security

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

233


WTLS Services and Characteristics Specifies a framework for secure connections, using protocol elements from common Internet security protocols like SSL and TLS. Provides security facilities for encryption, strong authentication, integrity, and key management Compliance with regulations on the use of cryptographic algorithms and key lengths in different countries Provides end-to-end security between protocol end points

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

234


WTLS Services and Characteristics Provides connection security for two communicating applications privacy (encryption) data integrity (MACs) authentication (public-key and symmetric)

Lightweight and efficient protocol with respect to bandwidth, memory and processing power Employs special adapted mechanisms for wireless usage Long lived secure sessions Optimised handshake procedures Provides simple data reliability for operation over datagram bearers

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

235


Goals and Requirements for WTLS Interoperable protocols Scalability to allow large scale application deployment First class security level Support for public-key certificates Support for WAP transport protocols

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

236


WTLS Internal Architecture

Transaction Protocol (WTP)

WTLS

Handshake Protocol

Alert Protocol

Application Protocol

Change Cipher Spec Protocol

Record Protocol Record protocol

Datagram Protocol (WDP/UDP)

Bearer networks

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

237


Current Work Items Improved support for end-to-end security Various mechanisms under consideration for extending WTLS protocol endpoint beyond WAP Gateway Introduction of application level mechanisms for encryption and signing, which will be interoperable between WAP and the Internet world

Integrating Smart Cards for security functions Wireless Identity Module specification will integrate Smart Cards into the security framework of WAP Uses Smart Card for storage of security parameters, as well as performing security functions

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

238


Current Work Items Providing a scalable framework for Client Identification Public Key Infrastructure for provisioning and management of certificates Simpler mechanisms for clients that do not support certificates

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

239


Services and Protocols Provide reliable data transfer based on request/reply paradigm No explicit connection setup or tear down Data carried in first packet of protocol exchange Seeks to reduce 3-way handshake on initial request Supports port number addressing Message oriented (not stream) Supports an Abort function for outstanding requests Supports concatenation of PDUs User acknowledgement or Stack acknowledgement option acks may be forced from the WTP user (upper layer) default is stack ack Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

240


Classes of Operation WTP Classes of Service Class 0 Unconfirmed Invoke message with no Result message a datagram that can be sent within the context of an existing WSP (Session) connection

Class 1 Confirmed Invoke message with no Result message used for data push, where no response from the destination is expected

Class 2 Confirmed Invoke message with one confirmed Result message a single request produces a single reply

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

241


WTP Ongoing Work Items Define a connection oriented protocol (IETF) Bearer selection/switching Management entity definition (functions and interface) Protocol verification (reference implementation) Quality of service definitions

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

242


WAP End-to-end security the problems and the solutions

243


End-to-End Security with WAP

Wireless terminal

WAP server

Privacy – encryption

Integrity – hashing (cryptographic check-sums)

Authentication – client and server certificates (WTLS class 2 and 3)

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

244


Security – Threat Models

Eavesdropping Passive recording of data

Impersonation, ”Trojan horse” Attacker creates a ”ghost” WAPapplication to record sensitive information

Man-in-the-middle Intercepts and replaces information

Flooding Destructive attacks resulting in denial-ofservice ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

245


What is true end-to-end security – WAP Gateway scenarios 1. Operator hosted WAP gateway

The classic configuration with a WAP gateway located at the operator’s site. There are several obvious security problems with this solution:

no way for the web server to require that the phone use the security protocol WTLS

anyone with access to the Internet can make requests to the web server

all data is always decrypted at the gateway

”blind” trust in third party operator for both ends ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

246


WAP Gateway scenarios 2. Corporate operated WAP gateway

To host the WAP gateway at the corporate premises is the natural next step to try to increase the security.

slightly increases server side security

communication security between gateway and web server still has to be trusted in ”blind” by client

considerably easier for those with physical access to the WAP gateway or the computer network to monitor or modify WAP traffic

requires additional configuration and support ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

247


WAP Gateway scenarios 3a. Proprietary WAP server

A WAP server communicates directly with the WAP phone without a gateway. A WAP server may be used to achieve end-to-end security.

proprietary solutions (e.g. Nokia)

require additional training to handle configuration, support and application development

often used as gateways connecting real web servers -> non-secure Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

248


WAP Gateway scenarios 3b. WAP server based on existing web server

The WAP-stack is built into or integrated with an existing webserver, e.g. Microsoft IIS or Netscape I-Planet. This solution combines the best of two worlds.

maximum ease of use and minimal administration

support and application base of an industry strength web server

end-to-end security of a WAP server

WAP Security Connector Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

249


When is security important and what information needs to be protected? This a question that can only be answered by each organization Firewall

Internet

Corporate network

GSM Mail GPRS

ISP

Databases WAP Security Connector

UMTS

ERP

Intranet

WAP with WTLS Class 3

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

250


Examining Consumer vs. Corporate security Consumer

Corporate

•Transactions, eBusiness

•Access to corporate data

•Integrity

•Device can be standardized

•No control of device

PUBLIC NETWORKS Public services:

Corporate services:

Banking

Mail, calendar, contacts

Stock trading

Surveillance

Gambling

ERP systems

Purchasing

Decision support

Reservations, bookings

File systems

INTERNET ©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

LAN 251


Can WTLS take the weight

WAP Forum has specified implementation of WTLS in different classes

Class 1 Encryption

Class 2 Encryption + server certificate

Class 3 Encryption + client/server certificates

WTLS can take the weight especially when creating corporate security Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

252


WAP Security – Certificates

A certificate holds someones identity

Root (CA) certificates Downloaded to WAP device (or pre-installed) Represents a trusted third-party Same in web world

Server- and client certificates A trusted third-party (CA) validates and signs the certificate Examples of CA companies: VeriSign, Entrust and Baltimore Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

253


Conclusion The Wireless Industry has chosen the WAP Standard because it is: An open industry-established world standard Based on Internet standards including XML and IP Committed to by handset manufacturers representing over 90% of the world market across all technologies Supported by network operators representing 100 Million subscribers

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

254


Conclusion WAP is not a “Product” nor a “Service” WAP is an “enabling technology” that overcomes current constraints in the delivery of Time-Critical Information to mobile users WAP is an innovative and exciting technology WAP is a market opportunity !

©2001-2009, Aurangzeb Bhatti, Digital Learning Institute

255


WAP URLs WAP Forum: www.wapforum.org OpenWave SDK (includes emulator): http://developer.openwave.com/download/ Nokia WAP emulator: http://www.forum.nokia.com/wapforum/nokiasim _new.html Ericsson WAP emulator: http://www.ericsson.com/mobilityworld/sub/open /technologies/wap/tools.html

Š2001-2009, Aurangzeb Bhatti, Digital Learning Institute

256


Questions & Answers


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.