1
Chapter Six
Mobile Application Development
2
Outline
• Mobile Application Architectures
• Mobile Web
– WAP(wireless Access Protocol) and WML (Wireless
Markup Language)
• J2ME(Java 2 Micro Edition) & Android
3
Mobile Applications Architecture
• Software Architecture
– A particular high-level abstraction of the system and
how its components collaborate
• Mobile Application
– Distributed Networked systems
4
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
5
Mobile Applications Architecture
• Different Architectures
– Fully Centralizer
– N- Tier
• Client/Server
• 3- tier
• …
– Peer to Peer
– Mobile Agents
6
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
7
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
8
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
9
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
10
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
11
3-Tier Architecture
12
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
13
4-Tier Architectures
14
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
15
16
• 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
Intuition
• P2P • Client-server
17
18
P2P vs. Client-Server
 P2P
 Download completion
time D(n)=O(log(n)),
when n is the number of
peers
 Client-server
 Download completion
time D(n)=n, where n is
the number of client
 Time to serve a content: 10
minutes
10 million
minutes
200
minutes
19
• Twitter is using Murder to update Twitter servers
(July 2010)
• 75x faster
• http://engineering.twitter.com/2010/07/murder-fast-da
tacenter-code-deploys.html
• With Murder
Murder
Without Murder
Credit: Larry Gadea 20
Arnaud Legout © 2006-2012
• is a file distribution strategy
21
Murder Performance
Credit: Larry Gadea
BitTorrent Overview
Web server
Tracker
Get a .torrent file that
contains the address of the
tracker Get a random peer set
P1 P2 P3
coolContent.xvid
Initial Seed
22
23
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
24
• 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
25
• 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
26
Outline
• Mobile Application Architectures
• Mobile Web
– WAP and WML
• J2ME & Android
27
• 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)
Mobile Web
28
Mobile Web
29
• References
– http://en.wikipedia.org/wiki/Mobile_Web

Chapter 6 - Mobile Application Development.pptx

  • 1.
  • 2.
    2 Outline • Mobile ApplicationArchitectures • Mobile Web – WAP(wireless Access Protocol) and WML (Wireless Markup Language) • J2ME(Java 2 Micro Edition) & Android
  • 3.
    3 Mobile Applications Architecture •Software Architecture – A particular high-level abstraction of the system and how its components collaborate • Mobile Application – Distributed Networked systems
  • 4.
    4 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
  • 5.
    5 Mobile Applications Architecture •Different Architectures – Fully Centralizer – N- Tier • Client/Server • 3- tier • … – Peer to Peer – Mobile Agents
  • 6.
    6 Fully Centralized • SoftwareSystems 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
  • 7.
    7 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
  • 8.
    8 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
  • 9.
    9 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
  • 10.
    10 3-Tier Architecture • Applythe 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
  • 11.
  • 12.
    12 N-Tier Architectures • EveryMobile 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
  • 13.
  • 14.
    14 Peer-to-Peer Architectures • Thegreat 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
  • 15.
  • 16.
    16 • 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
  • 17.
    Intuition • P2P •Client-server 17
  • 18.
    18 P2P vs. Client-Server P2P  Download completion time D(n)=O(log(n)), when n is the number of peers  Client-server  Download completion time D(n)=n, where n is the number of client  Time to serve a content: 10 minutes 10 million minutes 200 minutes
  • 19.
    19 • Twitter isusing Murder to update Twitter servers (July 2010) • 75x faster • http://engineering.twitter.com/2010/07/murder-fast-da tacenter-code-deploys.html
  • 20.
    • With Murder Murder WithoutMurder Credit: Larry Gadea 20 Arnaud Legout © 2006-2012 • is a file distribution strategy
  • 21.
  • 22.
    BitTorrent Overview Web server Tracker Geta .torrent file that contains the address of the tracker Get a random peer set P1 P2 P3 coolContent.xvid Initial Seed 22
  • 23.
    23 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
  • 24.
    24 • Why mobileagents 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
  • 25.
    25 • Reference – RezaB’Far, Mobile Computing Principles: Designing and Developing Mobile Applications with XML and UML, Cambridge University Press, 2nd ed. 2005 • Ch 2, 9, 16
  • 26.
    26 Outline • Mobile ApplicationArchitectures • Mobile Web – WAP and WML • J2ME & Android
  • 27.
    27 • The mobileweb 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) Mobile Web
  • 28.
  • 29.

Editor's Notes

  • #7 Expensive since most of the mobile devices are designed for that specific purpose
  • #23 Example: the mobile agent can install itself do what it is supposed to do and uninstall after it is done. No need of downlading and installing different software