Chapter 6 - Mobile Application Development.pptx

AbdurehmanDawud 43 views 29 slides Aug 05, 2024
Slide 1
Slide 1 of 29
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29

About This Presentation

Mobile Applicatio


Slide Content

Chapter Six Mobile Application Development 1

Outline Mobile Application Architectures Mobile Web WAP(wireless Access Protocol) and WML (Wireless Markup Language) J2ME(Java 2 Micro Edition) & 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

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

Twitter is using Murder to update Twitter servers (July 2010) 75x faster http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html 19

With Murder Murder Without Murder Credit: Larry Gadea 20 Arnaud Legout © 2006-2012 is a file distribution strategy

Murder Performance Credit: Larry Gadea 21

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

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, 2 nd ed. 2005 Ch 2, 9, 16 25

Outline Mobile Application Architectures Mobile Web WAP and WML J2ME & Android 26

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

Mobile Web 28

References http://en.wikipedia.org/wiki/Mobile_Web 29
Tags