Wap & WML

Post on 15-Apr-2017

77 views 0 download

Transcript of Wap & WML

Application Layer

By, C.Janani AP / IT,

SSMCE

Topics• WAP Model• Mobile Location Based Services• WAP Gateway• WAP Protocol• WAP User Agent Profile• Caching Model• Wireless bearers of WAP• WML• WML scripts• WTA• iMode• SyncML

1. WAP Model• An international standard establishing how

mobile devices can access information on the Internet.

• Providing Internet communications and advanced telephony services on digital mobile phones, pagers, personal digital assistants, and other wireless terminals - WAP Forum

Definition• Wireless: Lacking or not requiring a wire or wires pertaining to radio

transmission.• Application: A computer program or piece of computer software that is

designed to do a specific task.• Protocol: A set of technical rules about how information should be

transmitted and received using computers.

June 26, 1997, Ericsson, Motorola, Nokia, and Unwired Planet took the initiative to start a rapid creation of a standard for making advanced services within the wireless domain a reality.

In December 1997, WAP Forum was formally created and after the release of the WAP 1.0 specifications in April 1998, WAP Forum membership was opened to all.

Need for WAP• Open and secure and well suited for many

different applications including, but not limited to stock market information, weather forecasts, enterprise data, and games.

Benefits• Device Independent• N/W Independent• WML• Optimizing the content and air link protocols• No reduction of the end users

Architecture• Internet Model

WAP Model

Working of WAP Model• The user selects an option on their mobile device that has a URL with Wireless

Markup language (WML) content assigned to it.• The phone sends the URL request via the phone network to a WAP gateway using

the binary encoded WAP protocol.• The gateway translates this WAP request into a conventional HTTP request for

the specified URL and sends it on to the Internet.• The appropriate Web server picks up the HTTP request.• The server processes the request just as it would any other request. If the URL

refers to a static WML file, the server delivers it. If a CGI script is requested, it is processed and the content returned as usual.

• The Web server adds the HTTP header to the WML content and returns it to the gateway.

• The WAP gateway compiles the WML into binary form.• The gateway then sends the WML response back to the phone.• The phone receives the WML via the WAP protocol.• The micro-browser processes the WML and displays the content on the screen.

WAP protocol

• Application LayerWireless Application Environment (WAE).

• Session LayerWireless Session Protocol (WSP).

• Transaction LayerWireless Transaction Protocol (WTP).

• Security LayerWireless Transport Layer Security (WTLS).

• Transport LayerWireless Datagram Protocol (WDP).

WAE• WML- XML compliant mark-up language • WMLScript - ECMAScript based scripting language • WAP Push mechanism • User Agent profiles • WTA - WAP telephony services

WSP• Provides shared state between client and server used

to optimize content transfer • Provides semantics and mechanisms based on HTTP

1.1 • Supports compact encoding of headers • Supports push functionality • Supports capability negotiation

WTP• Provides efficient, reliable data transfer based on

request/reply paradigm • Supports selective-retransmission • Supports segmentation and re-assembly • Message oriented (not stream) • Supports an Abort function • Supports concatenation of PDUs

WAP Security• Transport level security is WTLS, based on TLS.

Provides privacy, integrity, authentication • End-to-end security mechanism defined at the

transport layer • Application layer security provided via WMLScript

crypto library

WDP• Provides a network and bearer independent interface

to higher layers • Provides port level addressing • Provides segmentation and reassembly • For link layers that support IP, UDP is used as the

Wireless Datagram Protocol layer

WAP and Smart Cards• WAP supports use of Smart Cards to enhance security • Wireless Identity Module specification supports

performing security functions & storage of sensitive data

• Smart Card Provisioning specification defines a file structure for secure storage of provisioning data

WAP’s current status• WAP Forum has 200+ members including – 90% of world’s handset manufacturers – Carriers with over 100 million subscribers – Leading infrastructure providers, software developers &

content providers • WAP v1.2 specification suite approved Dec 99 • Commercial services now widely deployed

Changing marketplace• High speed 2.5G technologies - GPRS, EDGE • 3G technologies being developed with data rates of

up to 2Mbps • Multimedia capable devices being developed • Demand for richer content - high quality graphics,

audio, video

WAP next generation• WAP Architecture Convergence group working to

ensure WAP’s architecture converges with the IETF and other protocols

• WPG reviewing the output from the IETF PILC group with a goal of incorporating TCP into the WAP stack

• WAP continually evolving to ensure compatibility with emerging technologies

Mobile Location Based Services

Location Based Information Systems

• Systems that integrate advances in mobile phones, software development platforms, databases, positioning technology, Geographic Information Systems (GIS), and communications

• All combined make possible the creation of Location-Based Information Systems (LBIS) and Location-Based Services (LBS)– Promise to change the way we live• 3.25 billion mobile phone users in 2007– Half the world’s population• LBS subscribers using GPS-enabled cell phones expected to grow from

12 M in 2006 to 315 M in 2011– 20 M from 500 K in North America

LBIS Challenges• Many players and technologies involved, and many issues unsolved

– Databases, GIS systems, positioning, applications• Erroneous and variable information

– Accuracy of GPS fixes depend on positioning system, user location, weather conditions, interferences, etc.

• Cellular communication networks– Wireless transmission problems, such as fading, interferences,

disconnections, low bandwidth, etc.• Cell phones

– Very resource-constrained device in terms of processing power, storage, and energy capabilities

• Operating systems and interoperability

Location-Based Services (LBS)

• An application that provides users with information based on the geographical position of the mobile device

• Main difference from other applications/systems– Availability of the user’s position in real-time– This single difference makes a BIG difference

• Initial LBS systems were subscription-based– Traffic congestion notifications based on roads selected

from a Web site– Received congestion updates about I-75 when on travel in

NYC!

Types of LBS Applications• LBS can be either Reactive (“pull”) or Proactive (“push”)• A Reactive LBS application is triggered by the user who,

based on his current location, queries the system in search of information

• Many examples– Finding restaurants or places of interest– Obtaining directions– Locating people– Obtaining weather information– Sending emergency notifications to police, insurance companies,

roadside assistance companies, etc.

• In Proactive LBS applications, on the other hand, queries or actions are automatically generated by the LBIS once a predefined set of conditions are met

• System needs to continuously know where you are and evaluate the predefined conditions

• Many examples as well– Geofencing, e.g., children outside predefined boundary– Fleet management– Real-time traffic congestion notifications– Location-based advertisement– Real-time friend finding– Proximity-based actuation– Travel assistant device for riding public transportation,

tourism, museum guided visits, etc

Location• In LBIS and LBS applications everything is about

LOCATION• Important to know about different players and

techniques used in the provision of location information

• A location provider may or may not be the same entity providing the location-based service to the user

• According to who provides the location information, the system can be categorized as network-based, mobile-based, and location provider-based

Network-Based Location Provider

Mobile-Based Location Provider

Location Provider-Based

A Complete LBIS Tracking Example

• General real-time tracking application with visualization– Tracking devices, people, etc.

• Uses the mobile-based location provider architecture• Proactive LBS application consisting of the following

components:– Positioning system– Client device– Transport network– Main control station– Servers

• Standard and free software and standard protocols as much as possible

Hardware• Positioning system

– GPS and Assisted GPS (A-GPS)• Client device

– GPS-enabled cell phone or any device with GPS or embedded positioning system• Transport network

– Cellular network with data plan (GPRS or similar) or network connectivity using Wi-Fi or any other IP-based networking technology

• Main control station– PC connected to the system to control service and visualize data, e.g., set up

geofence and Google maps• Servers

– Database, GIS for geocoding and reverse geocoding, application server for processing

Software• Java platform

– Java SE for clients and Java ME for resource-constrained devices

• Sun’s Glassfish as the application server• Google ‘s Web Toolkit for visualization

– Google Maps and Google Earth• Postgres, and object-oriented relational database• PostGIS, Postgres’s add on to support geographic objects• Standard communication protocols

– HTTP, TCP, UDP

WAP User Agent Profile• Fundamental user agent of the WAE• WAE allows the integration of domain-specific user

agents with varying architectures and environments• Existing Markup language contents designed for PC’s

with large displays ans large memory capacities• WAP handset may not able to store and display the

received contents• To resolve this UA profile also known as capability

and preference information (CPI) allows content generation

UA End to End Systems

Components• Client device capable of requesting and rendering WAP

Content• Wireless network employing WAP 1.1 or later protocols• A WAP capable GW capable of translating WAP requests

into corresponding requests over the internet and translating responses from the internet into corresponding responses over the WAPs

• The internet and intranet using TCP / IP based protocols and possibly having one or more protocol GWs and HTPP / Web Proxies.

• A web server can generate request content.

Caching model• A number of extensions and clarifications have

been specified to facilitate the operation of HTTP/1.1 caching on limited function devices

• A time sensitive cached resource is set to “must revalidate”

• Sesitive to Time Synchronization (Time of day Clock)

• Security enhancements (Prefetching)

Wireless Beares of WAP• Short Message Service (SMS)• Circuit Switched Data (USSD) • Unstructured Supplementary Services Data (USSD –

used over GSM) • General Packet Radio Service (GPRS – used over

GSM and TDMA)

WML • WML scripting language is used to design

applications that are sent over wireless devices such as mobile phones

• WML is an application of XML, which is defined in a document-type definition.

• WML pages are called decks• They are constructed as a set of cards, related to each

other with links

Syntax<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML

1.2//EN" "http://www.wapforum.org/DTD/wml12.dtd"> <wml> <card> ... </card> ...more cards... </wml>

WML Commands

WML Script Components• Operators Arithmetic Operators Comparison Operators Logical (or Relational) Operators Assignment Operators Conditional (or ternary) Operators

WML Scripts Standard Libraries• lang: The Lang library provides functions related to the WMLScript language core.

Example Function: abs(),abort(), characterSet(),float(), isFloat(), isInt(), max(),

isMax(), min(), minInt(), maxInt(), parseFloat(), parseInt(), random(), seed()

• Float: The Float library contains functions that help us perform floating-point

arithmetic operations.

Example Function: sqrt(), round(), pow(), ceil(), floor(), int(), maxFloat(),

minFloat()

• Dialogs: The Dialogs library Contains the user interface functions.

Example Function: prompt(), confirm(), alert()

• String: The String library provides a number of functions that help us manipulate

strings.

Example Function: length(), charAt(), find(), replace(), trim(), compare(), format(),

isEmpty(), squeeze(), toString(), elementAt(), elements(), insertAt(), removeAt(),

replaceAt()

• URL: The URL library contains functions that help us manipulate URLs.

Example Function: getPath(), getReferer(), getHost(), getBase(), escapeString(),

isValid(), loadString(), resolve(), unescapeString(), getFragment()

• WMLBrowser: The WMLBrowser library provides a group of functions to control the

WML browser or to get information from it.

Example Function: go(), prev(), next(), getCurrentCard(), refresh(), getVar(), setVar()

WML Scripts Comments• Single-line comment: To add a single-line comment,

begin a line of text with the // characters. • Multi-line comment: To add a multi-line comment,

enclose the text within /* and */.

Sample Program