Chapter Seven
Mobile Application
Development
1
Outline
• Mobile Application Architectures
• Mobile Web
– WAP and WML
• J2ME & Android
2
Mobile Applications Architecture
• Software Architecture
– A particular high-level abstraction of the system and
how its components collaborate
• Mobile Application
– Distributed Networked systems
3
Mobile Applications Architecture
• Many factors should be considered to choose an
architecture
– Target Audience
• Who are they? Technical skills?...
– Device types
• Input mechanisms, form factor, resource capacity?...
– Network Connectivity
• Wireless? Which type?...
– Data placement
• Where is the data stored? client? Server?
– Security
• Is the mobile data sensitive?
– Etc
4
Mobile Applications Architecture
• Different Architectures
– Fully Centralizer
– N- Tier
• Client/Server
• 3- tier
• …
– Peer to Peer
– Mobile Agents
5
Fully Centralized
• Software Systems are all about the software on the fully
centralized host
• Has custom-designed clients to perform specific tasks –
usually dump
• Fully centralized mobile applications differs from other
fully centralized applications in QOS, limited power
supply, active transactions, and location awareness
• Platform proliferation, limited device capabilities, and
support for a variety of user interfaces—do not apply to
fully centralized applications
• Monolithic layer of software from the client to the
server with very little software on the client
6
Fully Centralized
• Disadvantage
– Network connectivity is a must always – What is the
implication for mobile devices?
– Single point of failure – the server
– Inflexible and costly
• Advantage
– Simple
– Very reliable
• Example
– Supermarket handheld scanners
– ATM machines
– battlefield systems
– system used in grocery stores for inventory tracking 7
Client Server Architecture
• Two programs residing in different machines – Client
and Server
• Advantage
– Handle interface issues easily
• Knows how to render appropriate interface
– Handle intermittent networks or server down time
• Two types
– Thin Client
• Example : Web browsing using mobile phones
8
Client Server Architecture
• Thick Client
– Some task executed by the client and some task executed
by the server
– How do you distribute software to a wide range devices?
• Virtual Machine – JVM
• Direct programming environments on the hardware –
BREW from Qualcomm
9
3-Tier Architecture
• Apply the principle of separation of concerns to the
client–server model by separating the concerns into a
set of n layers
• 3-tier architecture
– Separated the concern of business logic computations
from the rest of the application
– storage of data in the database, business logic in the
application server, and rendering the user interface in the
client
– Provide better reliability and scalability
• Disadvantage
– Designed to produce one type of user interface for one
group of users
10
3-Tier Architecture
11
N-Tier Architectures
• Every Mobile device type needed a different type of
content and the application server began to be
responsible for both business and presentation logic
– 3-Tier failed
• Many mobile commercial solutions in the market today
focus on data-driven mobile solutions with N-tier
architectures
– Separating business logic from presentation logic
12
4-Tier Architectures
13
Peer-to-Peer Architectures
• The great failure of centralized and client–server
models lies in their inability to recognize, let alone
exploit, the growing power and information resources at
the edges of the network
• Peer-to-peer (P2P) application architectures allow any
participant of the network to communicate with any and
all of the other participants
• Contains autonomous and equal participants called
peers
• P2P architectures do not require connectivity to a
server or centralized host
– Can be satisfied by one of the participating peers
14
15
• Examples
– BitTorrent - is a protocol for the practice of peer-to-peer
file sharing that is used to distribute large amounts of
data over the Internet.
– Emule - is a free peer-to-peer file sharing application for
Microsoft Windows.
– Gnutella - is a large peer-to-peer network. It was the first
decentralized peer-to-peer network of its kind
– Skype, Google talk
16
Intuition
• P2P • Client-server
17
P2P vs. Client-Server
P2P
Download completion
time D(n)=O(log(n)),
when n is the number of
peers
10 million Client-server
minutes Download completion
time D(n)=n, where n is
the number of client
200 Time to serve a content: 10
minutes minutes
18
• Twitter is using Murder to update Twitter servers
(July 2010)
• 75x faster
• [Link]
[Link]
19
Murder
• is a file distribution strategy
Without Murder • With Murder
Credit: Larry Gadea
Arnaud Legout © 2006-2012 20
Murder Performance
Credit: Larry Gadea
21
BitTorrent Overview
Get a .torrent file that
contains the address of the Web server
tracker Get a random peer set
Tracker
[Link]
P1 P2 P3
Initial Seed
22
Mobile Agent Architectures
• Mobile Agents
– Software components that can move from server to server
in the network while keeping the state of the application
intact
– Programs that encapsulate data and code, which may be
dispatched from a client computer and transported to a
remote server for execution
– Execute asynchronously and autonomously
– Disadvantage
• Complex
• Security
23
• Why mobile agents are particularly suitable for mobile
application development?
– Because of their autonomous nature, mobile agents are
inherently active
– Mobile agents can display better response times owing to
reduced effect of network latency on the application
– Mobile agents are autonomous and asynchronous and so
can deal with intermittent network connectivity gracefully
– Mobile agents can adapt extremely well
24
• Reference
– Reza B’Far, Mobile Computing Principles: Designing
and Developing Mobile Applications with XML and
UML, Cambridge University Press, 2nd ed. 2005
• Ch 2, 9, 16
25
Outline
• Mobile Application Architectures
• Mobile Web
– WAP and WML
• J2ME & Android
26
Mobile Web
• The mobile web refers to access to the world wide web, i.e.
the use of browser-based Internet services, from a handheld
mobile device, such as a smartphone or a feature phone,
connected to a mobile network or other wireless network.
• The Mobile Web has also been called Web 3.0
• Mobile Web access today still suffers from interoperability
and usability problems
• Interoperability issues stem from the platform fragmentation
of mobile devices, mobile operating systems, and browsers
• Usability problems are centered on the small physical size of
the mobile phone form factors (limits on display resolution
and user input/operating)
27
Mobile Web
28
• References
– [Link]
29