CS 4720 Mobile Device Architecture CS 4720 – Web & Mobile Systems.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
The Web: an architectural view. Browser Render HTML Get URL Send HTML Get HTML file HTTPD File System The primitive Web model.
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Welcome to Middleware Joseph Amrithraj
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Xiaobin Zheng April 13 th, Outline Mobile search Mobile Web Types of services Case Study: Google Search for mobile Yahoo! Search for mobile Conclusion.
What is it? –Large Web sites that support commercial use cannot be written by hand What you’re going to learn –How a Web server and a database can be used.
Wireless Application Protocol and i-Mode By Sridevi Madduri Swetha Kucherlapati Sharrmila Jeyachandran.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Progress Report 11/1/01 Matt Bridges. Overview Data collection and analysis tool for web site traffic Lets website administrators know who is on their.
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
CS 290C: Formal Models for Web Software Lecture 1: Introduction Instructor: Tevfik Bultan.
Stanford University EH&S A Service Oriented Architecture For Rich Internet Applications Sheldon M. Heitz.
WAP: Wireless Application Protocol Mike Mc Ardle ACSG April, 2005.
Introduction to Android Platform Overview
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Copyright © 2006 ClearSky Mobile Media, Inc. Planning Mobile Entertainment Strategy Planning Your Mobile Entertainment Strategy.
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Client/Server Architectures
Qu Huang Ralph. Introduction  Mobile applications are developed today for use on mobile devices, smartphones, and tablets. They come in different categories.
Android Introduction Platform Overview.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
IT 210 The Internet & World Wide Web introduction.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
Student Learning Environment on the World Wide Web l CGI-programming in Perl for the connection of databases over the Internet. l Web authoring using Frontpage.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Architecture Planning and designing a successful system Use tried and tested techniques Easy to maintain Robust and long lasting.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Martin Schmidt / The Silent Revolution Mobile Java.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
We will cover in this lecture A first look at issues related to Security Maintenance Scalability Simple Three Tier Architecture Module Road Map Assignment.
McLean HIGHER COMPUTER NETWORKING Lesson 6 Types of Browsers & WAP Explanation of browser functions Wireless access to the Internet Description of.
MC365 Application Servers, Servlets, and Java Server Pages (JSP’s): Tomcat.
Android Overview History and architecture. Brief History 1996 The WWW already had websites with color and images But, the best phones displayed a couple.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Android System Security Xinming Ou. Android System Basics An open-source operating system for mobile devices (AOSP, led by Google) – Consists of a base.
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.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
Presentation Title 1 1/27/2016 Lucent Technologies - Proprietary Voice Interface On Wireless Applications Protocol A PDA Implementation Sherif Abdou Qiru.
Architecture Overview Server Database (can be on the server or separate ) Client1 Client2 Client3 HTTP  View ppt notes pages for discussion!
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
“COLLEGE MANAGEMENT SYSTEM” Presented by: BCA VI SEMESTER.
Introduction to Android OS Димитър Н. Димитров Astea Solutions AD.
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Presented By Sushil K. Chaturvedi Assistant Professor SRCEM,Banmore 1.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Android Application -Architecture.
Network Infrastructure Services Supporting WAP Clients
Mobile Device Architecture
Web Software Model CS 4640 Programming Languages for Web Applications
Directions: GO THROUGH THE FOLLWING SLIDES. Make sure you have quizlet cards for all the vocabulary. Study the terms.
Contents: Introduction Different Mobile Operating Systems
Migrating Oracle Forms Using Oracle Application Express
OPERATING SYSTEMS.
Directions: GO THROUGH THE FOLLWING SLIDES. Make sure you have quizlet cards for all the vocabulary. Study the terms GCFLearnFree website “Computer Basics”:
Application Development A Tutorial Driven Course
Android Topics UI Thread and Limited processing resources
Digital Literacy 1.00 Computer Basics
Getting Started with Android…
Presentation transcript:

CS 4720 Mobile Device Architecture CS 4720 – Web & Mobile Systems

CS 4720 The Way Back Time When a phone was a phone… Plus a story! 2

CS 4720 Oh yes… this was a phone… 3 The Motorola DynaTAC 8000X x 1.75 x pounds $3,995 + Monthly Fee + Pay per minute Then there was the bag phone…

CS 4720 Nokia Invents Mobile Phone Gaming! Obviously I’m talking about the N-Gage! … Okay, remember Snake on the old Nokia phones? Other early apps include: basic contact apps, Pong, and Tetris 4

CS 4720 Third-Party Apps Begin Mobile phones stopped being a novelty Batteries got better, form factors improved, coverage improved, plans were… better… The handset manufacturers didn’t want to write all the applications for these new phones However… they didn’t want to open up their platform… The first mobile web platform was born 5

CS 4720 WAP Wireless Application Protocol Basically it’s a stripped-down HTTP that was meant to be better at transmitting over the unreliable mobile network WAP used WML instead of HTML – used a “card” mentality Two popular WAP sites? CNN and ESPN 6

CS 4720 In-App Purchases Before Apps SMS… 7

CS 4720 When did it all change? With the Internet full of images and media… And other handheld devices selling like gangbusters (Game Boy)… What changed with phones? Phones started running known operating systems (Windows CE and Linux) Now bigger players were involved, and handset manufactures decided to open up 8

CS 4720 And what’s happened since? The mobile market is seriously fractured Who do you develop for? How do you test for EVERY phone? Which market works best? How do you port your app between platforms? Which tools do you use? Can you use? 9

CS 4720 And Now Google The Open Handset Alliance is an attempt to effectively “get everyone on the same page” Open Source Familiar Environments and Tools Secure OS (Linux w/ app signing) No Royalties or Developer Fees 10

CS 4720 The Three-Tiered Architecture Mentioned at the beginning of the semester, but you've been seeing it for a long time 11

CS 4720 The Three-Tiered Architecture 12

CS 4720 The Three-Tiered Architecture For a web application… –The browser + dynamically generated HTML is the presentation layer –Middleware files (function-specific PHP, Java servlets on Tomcat) contain the business logic –The database server is the data layer In a (simplified) SOA scenario… –Switch out the middleware files for web services 13

CS 4720 It's not news to you The concepts of the three-tiered architecture apply to many design scenarios –Keep the presentation separate so it's lightweight, easier to maintain, and can be tested separately –Keep the logic separate so you can change the logic as needed without having to change the presentation too much –Keep the data separate because you should NEVER build a system based on the current data values 14

CS 4720 Non-shocker of the day We need to consider the same things for a mobile architecture Why? What added concerns do we have when we consider mobile applications? –Presentation Layer concerns –Logic Layer concerns –Data Layer concerns 15

CS 4720 Mobile Architectures 16 Rich Mobile Architecture –Business and some data services on the phone itself –Good for apps that have to run “off the grid” Thin Mobile Architecture –Most business and all data services on the server –Good for apps that require phone services, but does require Internet connectivity Rich Internet Application –Eschews the use of any phone resources other than a browser –Good for apps that can run on anything with a browser

CS 4720 Which are we doing? 17 Rich Internet Application –Well, it's certainly not this one… why not? Rich app or Thin app? Do both follow the three-tiered architecture structure? Why or why not?

CS 4720 Rich Mobile Architecture 18

CS 4720 The Presentation Layer Remember: it's a phone! –Simple = good –People have different sized fingers –User actions call functions which execute features; user actions != features –Phones can have varying amounts of power/resources –Phones can be on or off the cellular grid at any point 19

CS 4720 Presentation Approach Remember your client type Determine how you will present data in a coherent, unified method Determine how you will guard against untrusted input Ensure you have factored out your business logic Determine how you will pass data between layers (i.e. how you will call the service, how you will get more info about a building, etc) 20

CS 4720 The Business Layer For the most part, these are your web services and related functionalities –Each of your three web services you are using 21

CS 4720 Business Approach Identify FEATURES that will exist at this level Build components that support a feature's execution Hide implementation details from the presentation layer Determine if (how) you will cache information on the device Map out use cases 22

CS 4720 The Data Layer This will be your module that talks to the database Will be intertwined with the business layer to some degree 23

CS 4720 Data Approach For each feature, determine what data is required Build SQL queries around the features Ensure that you are using prepared statements to guard against incorrect data entry (or injection) Determine how you will manage connections Determine if you will batch up commands into one big command 24

CS 4720 Your Mobile Architecture 25 Your Approach: Android/iOS UI which calls… … your web service “business logic…” … that connects to the stardock database

CS 4720 The Android Architecture 26

CS 4720 Your Main Components Activities – represent a single screen with a UI Services – represents a process running in the background Content Provider – a link back to the data Broadcast Receiver – listens for system-wide messages to respond to Application – a set of Activities that make up a cohesive unit Intent – a message to be passed 27

CS 4720 The Activity 28

CS 4720 The Intent 29

CS 4720 Your Next Steps Get some code pushed to the device Begin looking into how to integrate your first web service – even if that is just calling it and printing the output Presentation layer –Button to invoke the service with input –Unified way of showing the results Data and Logic layer –That was this past week… hopefully… 30