Mobile Application Architectures

Slides:



Advertisements
Similar presentations
ITCR Success through Innovation iTCR Success through Innovation CiTRs DECADE Strategy ä DECADE vision integrated electronic customer access.
Advertisements

Service Oriented Architecture for Mobile Applications Swarupsingh Baran University of North Carolina Charlotte.
OneBridge Mobile Data Suite Product Positioning. Target Plays IT-driven enterprise mobility initiatives Extensive support for integration into existing.
BY MAULIK PATEL CED, GPERI Computing Architecture.
Filling the gap between users and objects: a multichannel interactive environment Davide Carboni, Gavino Paddeu, Stefano Sanna, Andrea Piras {dcarboni,
V1.00 © 2009 Research In Motion Limited Introduction to BlackBerry Smartphone Web Development—The BlackBerry Infrastructure Trainer name Date.
Network and Server Basics. 6/1/20152 Learning Objectives After viewing this presentation, you will be able to: Understand the benefits of a client/server.
The Internet & The New IT Infrastructure Chapter 9.
Technical Architectures
Dan Stolts IT Pro Evangelist US DPE - North East Microsoft Corporation
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
J2ME Prepared by: - Gaery- Ronny - Alan- Andy. Why Technology for Mobile Devices? The nature of wireless devices is changing Old devices: All the software.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
V0.01 © 2009 Research In Motion Limited Introduction to Java Application Development for the BlackBerry Smartphone Trainer name Date.
Distributed Information Systems - The Client server model
Slide 18.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Interpret Application Specifications
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
WAP: Wireless Application Protocol Mike Mc Ardle ACSG April, 2005.
Client/Server Architecture
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Computer Networks IGCSE ICT Section 4.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
Wireless Application Protocol (WAP) Reference: Chapter 12, section 2, Wireless Communications and Networks, by William Stallings, Prentice Hall.
CIS101 Introduction to Computing Week 06. Agenda Your questions Excel Exam during second hour Our status after the snow day Introduction to the Internet.
Understanding and Managing WebSphere V5
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 14 Remote Access.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
UNIT-V The MVC architecture and Struts Framework.
PHASE 3: SYSTEMS DESIGN Chapter 8 System Architecture.
Lecturer: Ghadah Aldehim
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
BY SAGAR SINHA SAPTARSHI BAKSHI SARTHAK JAIN SHAILZA CHAUDHARY
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Mobile Application Architectures CSE 390 Fall 2010.
Basic Concepts of a Computer Network
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
Exercises for Chapter 2: System models
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Basic Network Gear Created by Alex Schatz. Hub A hub is a very basic internetworking device. Hubs connect multiple machines together and allow them to.
Lemonade Requirements for Server to Client Notifications draft-ietf-lemonade-server-to-client-notifications-00.txt S. H. Maes C. Wilson Lemonade Intermediate.
Software Architectural Styles Andrew Midwinter, Mark Mullen, Kevin Wong, Matt Jones 1.
An application architecture specifies the technologies to be used to implement one or more (and possibly all) information systems in terms of DATA, PROCESS,
Naming CSCI 4780/6780. Names & Naming System Names have unique importance –Resource sharing –Identifying entities –Location reference Name can be resolved.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Web Application for Mobile access to students exam Information.
Mobile Apps vs. Mobile Sites Which is Becoming King In The War?
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 Essentials of Design.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Wireless Communication & Mobile Programming 1 UNIT- 1 – MOBILECOMPUTINGINTRODUCTION Blog: aforajayshahnirma.wordpress.com.
A service Oriented Architecture & Web Service Technology.
MOBILE DATABASE A mobile database is either a stationary database that can be connected to by a mobile computing device - such as smart phones or PDAs.
Unit 3 Virtualization.
The Client-Server Model
Software Design and Architecture
Introduction to J2EE Architecture
#01 Client/Server Computing
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
#01 Client/Server Computing
Presentation transcript:

Mobile Application Architectures Extracted from chapter 4: Mobile Applications/Architecture, Design and Development V. Lee, H.Schneider, R. Schell

Introduction We will review several interesting architectural patterns and describe why they are useful as general mobile application architecture solutions. Client/server architecture (and its variants) is often adopted for this kind of applications. However we have to take into consideration some specific aspects related to the mobile devices (clients), and their connectivity with servers.

Clients There are many mobile device types, including RIM devices, cellular telephones, PDAs, Tablet PCs, and Laptop PCs. These mobile devices can typically operate as thin clients or fat clients, or they can be developed so that they can host web pages we describe these client types in more detail.

Thin Clients Thin clients have no custom application code and completely rely on the server for their functionality. They do not depend as heavily on the mobile device’s operating system or the mobile device type as fat clients. Thin clients typically use widely available web and Wireless Application Protocol (WAP) browsers to display the following types of application content pages: ًًًWeb (html, xml) Wap (wml,..)

Thin clients

Fat clients Fat clients typically have one to three layers of application code on them and can operate independently from a server for some period of time. Typically, fat clients are most useful in situations where communication between a client and server cannot be guaranteed. For example, a fat client application may be able to accept user input and store data in a local database until connectivity with the server is re-established and the data can be moved to the server. This allows a user to continue working even if he/she is out of contact with the server.

Fat clients Fat clients depend heavily on the operating system and mobile device type and the code can be difficult to release and distribute. You may also have to support multiple code versions over multiple devices Fat clients can be implemented using one, two, or three layers of application code. However, if you only use one layer it is extremely difficult to isolate the individual areas of functionality and reuse and distribute the code over multiple device types

Web page Hosting It is possible to display and service web pages on the mobile device even when the mobile client is only periodically connected to the network and back-end systems. In order to do so, we need the equivalent of a “mini” web server on the mobile device

Fat Client – One layer

Fat Client – Two layers

Fat Client – Three layers

Web Page hosting –One layer

Web Page hosting –Two layers

Web Page hosting –Three layers

Servers Server architectures are commonly composed of one to three code layers implemented in one to three tiers. There are Pros and Cons for the three different kinds of server architecture.

One-Tier Server architecture Pros Very convenient Quick to develop and deploy Cons Less scalable Hard to secure

One-Tier Server architecture

Two-Tiers Server architecture Pros Convenient Allows database server specialization Cons Less scalable Hard to secure More expensive

Two-Tiers Server architecture

Three-Tiers Server architecture Pros Scalable Secured behind firewalls and zones Allows database server specialization Cons Overkill More difficult to develop More difficult to manage More expensive

Three-Tiers Server architecture

Connection Types Mobile devices typically operate in one of three modes: partially connected, never connected always connected,

Always connected A mobile device, such as a cellular telephone or RIM device, normally operates in an always connected mode. An enterprise might have a wireless network and set of applications and servers that allow employees to connect and use their mobile devices while on company premises. Mobile devices, such as PDAs, Tablet PCs, and Laptop PCs, become extensions of the existing applications and infrastructure, permitting users the ability to always be connected to the applications while freely moving about the office.

Partially Connected There are many scenarios where the mobile device is actually out of contact for extended periods of time. For example, a mobile office worker might periodically connect to a server at the office to obtain email, contact information, or tasks to be done. The worker then disconnects the mobile device and carries out his/her normal tasks away from the office, during which time he/she might refer to the downloaded information. The user might also update the information locally on his/her mobile device before reconnecting at a later time to resynchronize the mobile device with the server.

Never Connected There are also several mobile devices that never connect to back-end systems, such as certain gaming devices. Not an interesting case for us.

Synchronization The connection type affects the way in which you can synchronize data between the mobile device and back-end systemsز Synchronization is possible in two ways: continuously or through a store-and-forward method

Continuous Communication When the connectivity between the client and server is continuous, the synchronization of data between client and server is continuous and can be achieved through synchronous or asynchronous means

Continuous Communication

Store and Forward Synchronization When connectivity between a client and server cannot be guaranteed, it is still possible to store and transmit information safely using a method called “store-and-forward.” Suppose, for example, that a mobile user wishes to enter data while his/her mobile device is not connected to a server. A mobile client application can initially store the data in a local data . Later, when a connection has been established, the mobile application will forward the data from the local database to the database on the server

Store and Forward Synchronization