presentation
Download
Report
Transcript presentation
INF 245 Mobile Applications
Mobile thin clients
a.k.a. Wireless Web
H 2007
Ola Bø
Molde University College INF 245 Fall 2007
OBø
1
(2004) wap trafic has multiplied.
wap was launched in 1999, but never took off. A major fiasco.
Now starting to take off: browsing, reading news. Young users. Use tripled in a
year. 10% of the 300 000 monthly users use the Wap Portal.
GPRS a major factor explaining this development.
Price differences
Molde University College INF 245 Fall 2007
OBø
2
dn.no
3.9.2004
4 times more wap users from
2002Q4 to 2004Q2
1600 000 possible users 600 000
real users
Molde University College INF 245 Fall 2007
OBø
3
dn.no
28.5.
2004
Nokia
Users prefer using
their phone for
browsing
Transition from WAP
to HTML!
Molde University College INF 245 Fall 2007
OBø
4
Thin clients/Wireless Web –
Introduction
The web is a huge success
Simple access to an enormous range of content and possibilities
We are still in the initial phase
The technology implies a division of work
A fairly simple (thin) client that can present HTML encoded content
A server doing most of the job
Thin clients are appropriate for mobile devices with limited resources
Composing and coding content from heterogeneous sources
Handle input from the user
But the screen is smaller – Micro Browser
>50% of the global installed base of handsets has a micro browser
installed (Nokia 2004)
Ca 75 % of the GPRS traffic is mobile browsing (Nokia 2004)
Molde University College INF 245 Fall 2007
OBø
5
Wireless WWW – Architecture
– An outline
Thin clients are doing the
presentation – the challenge
is a small screen
Middle tier transforms data
from databases into HTML
and processes input from
the users
The Back end System (data
base layer) Contains the
data the mobile user wants
access to. May be stored in
relational databases, emailservers or as XML-content
for instance RSS
Molde University College INF 245 Fall 2007
OBø
6
OpenWave
RIM
The Client
Less functionality than on
desktop- or portable computers
because of weaker computing
power, smaller screen and
limited bandwidth
More difficult to make good user
interfaces supporting both
navigation and display of
interesting content. Important for
the user reach his goal quickly.
Heterogeneity both in screen
browser and markup language
makes multiple variants of the
pages necessary
The browser takes care of
communication, so the
developer does not need to
handle communication protocols
Pocket IE
PALM
WebClipping
Opera browser
on Nokia series
60
Molde University College INF 245 Fall 2007
OBø
7
Middleware
Usually middleware is specially constructed
for mobile applications. The middleware is run
on application servers
Application servers
Handles complexity in serving a number of users
integrating with databases and enterprise systems.
Permits the developer to focus on developing
modules containing business logic
Standardized
J2EE standard (JSP, Servlets, EJB)
Middleware for wireless applications are mainly
built on J2EE standardization.
An alternative: .NET
Molde University College INF 245 Fall 2007
OBø
8
Middleware II
Middleware frameworks for mobile web can be
bought
Solve most problems inherent i developing for the
mobile web
Recognition of the device, screen size, browser and
language
Content transformation
Session administration
Integration with enterprise databases and systems
Learning threshold can be overcome using
development tools
Molde University College INF 245 Fall 2007
OBø
9
Mobile web applications – Common structure
Application server
Handles traffic arriving over HTTP, components, threading
and pooling and integration with enterprise systems
FrameWork for Mobile Middleware
Translates content to different devices
custom
made
component
custom
made
component
Molde University College INF 245 Fall 2007
OBø
10
J2EE Application Server
Standard platform for
enterprise applications
Base technology: Java J2SE
Component model: EJB
(Enterprise Java Beans)
Web technology JSP, Servlet,
JSF (Java Server Faces)
Integration
Relational databases JDBC,
Catalog Services JNDI,
Existing software CORBA,
JMS, JCA, JNI
XML JAXP, SOAP ...
J2EE is specified in JCP
Cooperation about
specification, competition
about implementation and
hardware.
Molde University College INF 245 Fall 2007
OBø
11
Microsoft .NET
A comprehensive set of products for
enterprise applications
Base technology: C# MSIL CLR
Web technology: ASP and XML web
services
Component technology: COM ->
COM+ ->.NET managed components
Integration:
ODBC for RDB -> OLEDB ->
ADO -> ADO.NET for several
types of data sources
Possible to write custom
integration components
XML, SOAP
.NET is specified and sourced by
one supplier- Microsoft
That may be an advantage
Why?
That can also be a disadvantage
Why?
Molde University College INF 245 Fall 2007
OBø
12
Processing of a wireless WWW
request
Establish a wireless session
Send a request
1.
2.
May be binary coded
Translate the request
3.
Safety problem (WAP-gap)
Receive request
4.
ASP, JSF, JSP, Servlet,
Identify the client
5.
What can we send to the client
Process request
6.
1.
Retrieve requested information
Adapt markup to client
Return content
7.
8.
1.
Possibly recode in gateway
•Application server may be
placed with network operator
•Gateway may be placed with
enterprise to stop wap-gap
•Gateway may be eliminated if
http is used end to end.
Molde University College INF 245 Fall 2007
OBø
13
Convergence in standarisation, mark up and
protocols
Special standards for mobile terminals
OpenWave
HDML
+Motorola, Nokia, Ericsson
WAP Forum
WAP 1.0
WML Not tcp/ip,but special
1998 protocols optimized
for wireless slow
connections
An augmenting number of devices support TCP/IP
Higher bandwidth
DoCoMo
cHTML
W3C
HTML4.0
1997
Simplification:W3C
XHTMLBasic
frames
2000
W3C
XHTML
Open Mobile Alliance
WAP2
WML2 =XHTML MP
WP-HTTP, WP-TCP, WP-TLS
CC/PP – UAPROF
CSS
WWW standards
tcp/ip- og httpcompatible but
optimized for wireless
slow connections
Backwards compatible
with WAP 1.0
IETF – Ordinary
Molde University College INF 245 Fall 2007
OBø
14
The WAP model
Similar to http and web
Gateway aka. WAP-proxy
Pull: Client sends request for
content
But: Push and control over
telephony is possible
Compulsory in wap 1.0
Translates request from WAP to
HTTP
Compresses outgoing content
Permits using standard HTTP
servers to deliver content
Implements push-functionality
WAP 2.0 can work without proxy
but a proxy may give
advantages
Optimized communication
Support for services like push,
localization and encryption
Molde University College INF 245 Fall 2007
OBø
15
WAP components
Wireless Application
Environment
Specifies the interface for
micro browser – WML
and WMLScript
Special data format
WBMP, vCard,
vCalendar
From WAP2
WML2=XHTML MP built
upon XHTML-basic
Support for Style sheets
Backwards compatible
with WML1
WAP protocol stack
Molde University College INF 245 Fall 2007
OBø
16
Molde University College INF 245 Fall 2007
OBø
17
WAP 2.0
Convergence with standard
WWW
Other services in WAP 2
Markup language
WML2=XHML Mobile Profile = XHTML
Basic Profile + extra elements from
XHTML + Backwards compatibility with
WML 1
Protocols
Wireless Profiled HTTP – compatible
with HTTP 1.1
Wireless Profiled TLS – compatible
with standard TLS
Wireless Profiled TCP – compatible
with standard TCP
WAP Push: content sent from
server without request
User Agent Profile (UAProf):
informs server about the client
through the request
Wireless Telephony
Applications: Gives access to
phone functionality – phone,
send sms
Persistent storage interface:
Gives access to device storage
Data synchronization
Multimedia Messaging Service
(MMS)
For Nokia Series 60 more
services on newer models
Molde University College INF 245 Fall 2007
OBø
18
Thin client development
When are thin clients the
solution?
Challenges
Heterogeneous terminals
Limited and expensive
bandwidth
Latency time
Mobile context of use
Security and integration
User interface
Why is it so hard to show
standard www-pages on a
mobile device?
Limited HTML and CSS
support
Small screen
Missing or weak support for
scripting
Missing plug-ins: Flash,
Applets, PDF
Graphics require bandwidth
Graphics are commonly
used for design
Missing mouse
Molde University College INF 245 Fall 2007
OBø
19
WAP changes in Telenor tariffs
H2004-H2005
H 2004
Bedriftskunder
H2005
!!
Molde University College INF 245 Fall 2007
OBø
20
User interface design
Reduce latency
problem
Reduce number of
requests
Reduce number of bytes
Good navigation
Personalization
Few screens
Must permit single
handed navigation
Simplicity – content more
important than design
Reduce amount of text
Adapt content to user to
give maximum
usefulness
User configurable?
Different application for
different users
Message based
approach: information
about your flight!
Molde University College INF 245 Fall 2007
OBø
21
Testing of mobile web applications
Early testing necessary –
why?
Pilot
It is necessary but not
possible to test all possible
terminals/browsers
Emulators
Both help and problem
Molde University College INF 245 Fall 2007
OBø
22
A browser for the desktop and for
the mobile device is not the same
Konsekvenser?
Molde University College INF 245 Fall 2007
OBø
23
Sources
Martyn Mallick kap 11, 12, 13, 14
Wapforum LTD(2002): Wireless Application Protocol
WAP 2.0 Technical White Paper
Jonny Axelsson (2004) Making Small Devices Look
Great
http://my.opera.com/community/dev/device/
Michael Ball (2000) XSL gives your XML some style
http://www.javaworld.com/javaworld/jw-06-2000/jw0630-xsl_p.html
Nokia (2004) Series 60 Platform white paper:
Browsing on Mobile Devices, NOKIA Corporation,
July 2004
Molde University College INF 245 Fall 2007
OBø
24