WAP Overview - XML Finland

Download Report

Transcript WAP Overview - XML Finland

Wireless Application Protocol
Overview
Jari Alvinen
Nokia
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 1 / 22-September 1999
Business challenge
•
There must be one global wireless network
language and protocol stack
•
•
•
Internet developers will only write to one global wireless Internet.
carriers require multiple sources for compatible handsets.
handset vendors require common standards for economies of scale.
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 2 / 22-September 1999
Why is Internet not enough?
… or actually ... "too much" ...
•
Big pipe - small pipe syndrome
<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>
HTTP/HTML
Internet
<WML>
<CARD>
<DO TYPE="ACCEPT">
<GO URL="/submit?Name=$N"/>
</DO>
Enter name:
<INPUT TYPE="TEXT" KEY="N"/>
</CARD>
</WML>
Content encoding
<HTML>
<HEAD>
<TITLE
>NNN
Intera
ctive<
/TITLE
>
<META
HTTPEQUIV=
"Refre
sh"
CONTEN
T="180
0,
URL=/i
ndex.h
tml">
Wireless network
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 3 / 22-September 1999
010011
010011
110110
010011
011011
011101
010010
011010
WAP
Why is Internet not enough?
… or actually … "too much" ...
•
Big screen - small screen syndrome
?
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 4 / 22-September 1999
Why WAP?
• WAP is an open technology based on Internet technologies
•
Allows competition - lower cost
•
•
Nokia, Ericsson, Motorola, Microsoft, IBM
• WAP is backed by major vendors
Future proof
• WAP Forum is open for all
•
•
WAP is not “take it or leave it”
Over one hundred companies have joined the WAP Forum
• WAP supports several wireless systems
•
GSM, IS-136, CDMA, PDC etc.
•
The same application can be used via several systems
• WAP has a layered architecture
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 5 / 22-September 1999
WAP Forum members
CCL
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 6 / 22-September 1999
What can be done with WAP?
• Information services
•
Similar to web browsing
•
WAP script language is based on JavaScript™
•
Call the airline when your flight is delayed
•
Server initated content push
• Small downloadable programs
• Telephony functionality combined with browser
• Push
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 7 / 22-September 1999
What is defined in WAP?
• Layered telecommunication stack including
•
•
•
Datagrams and Transactions
Security
Session
• Micro browser
•
•
•
Concept that is similar to the Internet browsing
XML based markup language ( WML )
Scripting ( WMLS )
• WTA / WTAI
•
Access to telephone functionality
•
•
Service Indication
• Content formats e.g.
Wireless Bitmap ( WBMP )
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 8 / 22-September 1999
WAP Architecture
Web Server
WAP Gateway
WML
WML Encoder
WMLScript
WSP/WTP
WMLScript
Compiler
HTTP
CGI
Scripts
etc.
WTAI
Protocol Adapters
Etc.
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 9 / 22-September 1999
Content
WML Decks
with WML-Script
Client
Internet and WAP architecture
Internet
Wireless Application Protocol
HTML
JavaScript™
Other Services and
Applications
Wireless Application
Environment (WAE)
Wireless Session Layer (WSP)
HTTP
Wireless Transaction Protocol (WTP)
TLS - SSL
Wireless Transport Layer Security (WTLS)
TCP/IP
UDP/IP
Wireless Datagram Protocol (WDP)
Bearers:
SMS
USSD
CSD
R-Data
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 10 / 22-September 1999
Packet
UDP
PDC-P
Etc...
WAP & Standards
•
•
Submit specifications for adoption by appropriate industry
and standards bodies
Good relationships with standards bodies
•
•
•
•
Several Liaisons with ETSI
ETSI / WAP compliance profile for GSM and UMTS.
CTIA official Liaison Officer to the WAP Forum
WAP is actively working with the W3C and IETF
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 11 / 22-September 1999
WAP Protocol Stack
• Developed by
•
•
Wireless Session Service Access Point
Wireless Session Protocol
Wireless Protocols Group
(WPG)
A WAP technical working
group.
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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 12 / 22-September 1999
WAP Protocol Stack - WSP
•
•
•
•
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
Enhancements beyond HTTP
•
•
•
•
•
Binary header encoding
Confirmed and non-confirmed data push
Capability negotiation
Suspend and resume
Connectionless service
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 13 / 22-September 1999
WAP Protocol Stack - WSP
•
•
•
Binary header encoding
•
•
Compact binary encoding of headers, content type identifiers
and other well-known textual or structured values
Reduces the data actually sent over the network
Capabilities
•
•
•
•
•
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
Suspend & Resume
•
Allows the release of underlying bearer resources
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 14 / 22-September 1999
WAP Protocol Stack - WSP
•
Connection & Connectionless service
•
•
Connection-mode
•
•
•
Long-lived communication
Benefits of the session state
Reliability
Connectionless
•
•
•
Stateless applications
No session creation overhead
No reliability overhead
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 15 / 22-September 1999
WAP Protocol Stack - WTP
•
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
abort function for outstanding requests
concatenation of PDUs
Message oriented (not stream)
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 16 / 22-September 1999
WAP Protocol Stack - WTP
•
WTP Protocol Exchange
Client
T-TRInvoke.req
T-TRInvoke.cnf
(PDUs)
Invoke
Ack
Server
T-TRInvoke.ind
T-TRInvoke.res
Result
T-TRResult.req
T-TRResult.ind
T-TRResult.res
Ack
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 17 / 22-September 1999
T-TRResult.cnf
WAP Protocol Stack - WDP
•
•
•
•
•
WDP provides a connection-less, 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
Replaced by UDP when used over an IP network layer.
•
WDP over IP is UDP/IP
Uses the Service Primitive
•
T-UnitData.req .ind
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 18 / 22-September 1999
WAP Protocol Stack - Bearer support
•
•
•
•
•
•
•
•
•
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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 19 / 22-September 1999
WAP Protocol Stack - Bearer Example
•
WAP over GSM Circuit Switched
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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 20 / 22-September 1999
WAP Protocol Stack - Bearer Example
•
WAP over GSM Short Message Service
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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 21 / 22-September 1999
WAP Protocol Stack - WTLS
•
•
•
•
Specifies a framework for secure connections, using
protocol elements from common Internet security protocols
like SSL and TLS.
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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 22 / 22-September 1999
Wireless Application Environment ( WAE )
•
•
WAP Application framework
•
•
•
•
•
•
•
•
Network-neutral application environment;
Suitable for narrowband wireless devices;
Follows the Internet/WWW programming model;
Ensures high degree of interoperability.
Leverages Internet standard technology
Device Independent
Network Independent
International Support
Developed by
•
•
Wireless Applications Group (WAG);
A WAP technical working group.
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 23 / 22-September 1999
WAE "Components"
•
•
•
•
•
•
WML
•
Display language
WMLScript
•
Scripting language
WTA
•
Telephony services API and architecture
Content Formats
•
Data exchange
User Agent Profiling
•
Content customized for device
Push
•
Server-initiated content delivery
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 24 / 22-September 1999
WAE - WAP Gateway
Web Server
WAP Gateway
WML
WML Encoder
WMLScript
WSP/WTP
WMLScript
Compiler
HTTP
CGI
Scripts
etc.
WTAI
Protocol Adapters
Etc.
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 25 / 22-September 1999
Content
WML Decks
with WML-Script
Client
WAE - WAP Application Server
Client
WML
WMLScript
WTAI
WML Encoder
WSP/WTP
WMLScript
Compiler
Protocol Adapters
Etc.
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 26 / 22-September 1999
Application
Logic
Content
WML Decks
with WML-Script
WAP Application Server
WAE - WML
•
•
Wireless Markup Language (WML) is a Tag-based browsing
language:
•
•
•
Screen management (text, images)
Data input (text, selection lists, etc.)
Hyperlinks & navigation support
W3C XML-based language
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 27 / 22-September 1999
WAE - 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
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 28 / 22-September 1999
WAE - WML
Navigatio
n
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>
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 29 / 22-September 1999
Card
Deck
WAE - WML Script
•
•
•
•
•
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
Bytecode-based virtual machine
•
•
Stack-oriented design
Designed for simple, low-impact implementation
Compiler in network
•
•
Better network bandwidth use
Better use of terminal memory/cpu.
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 30 / 22-September 1999
WAE - WML Script
•
•
Reduces network round-trips and enhance functionality.
Example usages
•
•
•
Field validation
•
Check for formatting, input ranges, etc.
Device extensions
•
Access device or vendor-specific API
Conditional logic
•
Download intelligence into the device
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 31 / 22-September 1999
WAE - WML Script
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;
}
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 32 / 22-September 1999
WAE - 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
WTAI available in WML & WMLScript
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 33 / 22-September 1999
WAE - WTA
•
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>
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 34 / 22-September 1999
WAE - WTA
•
Placing an outgoing call with WTAI
WTAI Call
function checkNumber(N) {
if (Lang.isInt(N))
WTAI.makeCall(N);
else
Dialog.alert(“Bad phone number”);
}
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 35 / 22-September 1999
WAE - Content Formats
•
•
•
Common interchange formats
Promoting interoperability
Formats:
•
•
•
•
•
•
•
Business cards: IMC vCard standard
Calendar: IMC vCalendar standard
Images: WBMP (Wireless BitMaP)
Compiled WML, WMLScript
Service Indication ( Proposed )
Service Loading ( Proposed )
Cache Operation ( Proposed )
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 36 / 22-September 1999
WAE - Content Formats
•
•
Binary format for size reduction
•
•
•
Bytecodes/tokens for common values and operators
Compressed headers
Data compression (e.g. images)
Example use of image
Image Element
<WML>
<CARD>
Hello World!<BR/>
<IMG SRC=“/world.wbmp”
ALT=“[Globe]” />
</CARD>
</WML>
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 37 / 22-September 1999
WAE - Push
•
•
•
•
Server initiated content push
Provides end-to-end solution
Easy for developers
•
•
•
XML based Push Access Protocol layered on top of HTTP
Helpful push specific content types
•
•
Service Indication
Service Loading
Underlying wireless network complexity hidden
Push Specifications are currently on Proposed status
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 38 / 22-September 1999
WAE - Push Framework
PUSH PROXY
GATEWAY
CLIENT
PUSH
INITIATOR
OVER-THE-AIR
PUSH ACCESS
PROTOCOL
PROTOCOL
PPG SERVICES
PUSH MESSAGE
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 39 / 22-September 1999
WAE - User Agent Profile (UAPROF)
•
•
•
•
Assist in 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.
UAProf specification is currently on Proposed status
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 40 / 22-September 1999
Questions ?
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 41 / 22-September 1999
Thank you!
More information:
www.wapforum.org
© 1999 NOKIA, ©1999 Wireless Application Forum, Ltd. WAPXML-99.ppt / 42 / 22-September 1999