mobile applications and cloud computing
play

MOBILE APPLICATIONS AND CLOUD COMPUTING Roberto Beraldi Course - PowerPoint PPT Presentation

MOBILE APPLICATIONS AND CLOUD COMPUTING Roberto Beraldi Course Outline 6 CFUs Topics: Mobile application programming (Android) Cloud computing To pass the exam: Individual working and documented application Answer to


  1. MOBILE APPLICATIONS AND CLOUD COMPUTING Roberto Beraldi

  2. Course Outline • 6 CFUs • Topics: • Mobile application programming (Android) • Cloud computing • To pass the exam: • Individual working and documented application • Answer to a couple of general questions

  3. Technologies today Language Run-time support Protocols Development REST

  4. Technological convergence Mobile cellular INTERNET Networks, wi-fi Telephone network

  5. New trends • Cloud � • basically used as an extension of the resources of the device (memory space, virtual machine, sw modules, etc..) • The goal is to make the computer look like ‘bigger’ • Application that runs on mobile devices � • Mobility (context-awareness) • Sensors • Where (lat,lon) the device running the application is located • Other Sensors, e.g., acceleration, orientation, camera • Connection and synergy between Cloud and Mobile applications is possible

  6. Some example of application: QRCode QR-reader Internet URI QR-code

  7. Example

  8. Another examples: media are changing Same applies to books, newspapers, encyclopedia, etc.

  9. Example: Augmented reality

  10. Example: social-based applications • Twitter • Facebook • Blablacar • Uber

  11. Mobile application and cloud computing req reply Cloud -Cloud can play the role of ‘backend’ -Access to cloud resourses (CPU, storage, DB) using RPC- like calls … but cloud is more than this (see later)…

  12. Example req reply Cloud real time data on transportation available from ATAC via XML-RPC http://www.agenziamobilita.roma.it/progetti/open-data/ http://www.agenziamobilita.roma.it/it/progetti/open-data/api-real-time.html

  13. New trends: Mobile cloud computing • wi-fi direct (comm. feature) • reflection (language feature) • security aspects code offloading • application partitioning • subtasks allocation • DTN and social behavior computation and result • voice recognition • pattern recognition • augmented reality cloudlet • games (e.g., chess) (nearby resources) • …

  14. Example: transient cloud* *from: Transient Clouds: Assignment and Collaborative Execution of Tasks on Mobile Devices. Terry Penner et al. Globecom 2014

  15. Another example* • Task offloading over a DTN with task replication • Real mobility traces • Social behavior can help (*)Collaborative Mobile-To-Mobile Computation Offloading, Beraldi et al., 3rd International Workshop on Collaborative Cloud (CollabCloud 2014), Miami October 2014

  16. Building distributed applications: run-time big view Application Wire protocol SW SW Distributed applications run on Distributed Remote Protocol (i.e. HTTP) Computer System Local Communication Socket Socket Comm virtualizes Operating System OS Resources C M D CPU Memory HW device Computer -Active role (no need -passive role Higher abstractions : controlling SW, which is -need to be -Process (threads) - File, Virtual Memory ‘embedded’, hard wired) ‘controlled’ - Receive and respond to external events (interrupts)

  17. Example of wire protocols Wire Protocol SW B SW A HTTP OTHER • SOAP for Web Service • IIOP for CORBA • ORPC for DCOM • JRMP for Java RMI • REST for Web Service • JSONP

  18. Middleware and SW stack Application layer Middleware layer / run-tine support Operating System HW

  19. Example: Tic Tac Toe • Monolithic application • All the logic is in a single program • Client Server • The server dynamically generates the page to be displayed • Web API • Provides primitive operations to an application (that can run on a mobile device, for example)

  20. Example: monolithic app • Monolithic e.g., javaScript, or any language

  21. Example: client/server Put an X at position 7 http://game.org/ttt.php?move=7 HTML • Client HTTP Server + php

  22. Simple technological mapping of a web based application… (1/3) Client Server User Agent TCP/IP connection HTTP 3306,… HTML mod_php

  23. …continued… (2/3) Client Server User Agent TCP/IP connection HTTP 3306,… HTML Embedded Objects mod_php

  24. …continued(3/3) Client Server User Agent TCP/IP connection HTTP 3306,… HTML +JS mod_php

  25. Simple solution for mobile app front end backend init Web API • Send the current state • Reply with the new state Interface (remote functions)

  26. Introducing cloud • Cloud roles and boundaries • Cloud Provider • Cloud Consumer • Cloud Resourse Administrator • Cloud Characteristics • On-demand usage • Ubiquitous access • Resource pooling (Multitentancy) • Elasticity • Cloud Deployement models • Private cloud • Public cloud • Hybrid cloud • Delivery models • IaaS • PaaS • SaaS (and Web-API)

  27. Introducing clouds: example altervista • Self-service interface • Accessing complex building blocks, or ‘functionalities’

  28. Web API A Web API allows to design and develop an application that exploits software Client modules accessed via Internet via a Application simple wire protocol INRTENET WEB-API

  29. Web API: example

  30. Example: Google apis

  31. Oauth 2.0: securing access 1.register the application Service Provider User 4.send token acess and get info Application

  32. Web API: programmatic point of view Web URL (standard HTTP methods) web brower HTTP Rest,XML-RPC,etc HTTP (Web API) Application Programmatic Service Access (many methods)

  33. Example: mashup applications s=A.methodName(par 1 ) … z=B.methodName(s,par 2 ) CLIENT Provide Provider API WEB … A B

  34. Example: mashup applications (1/2) Client AJAX Python .. JSON-RPC … Web API … Web API Web API Server Server Server

  35. Example: mashup applications (2/2) WEB API XML-RPC SOAP HTTP -Server Web -”mashupper” (e.g.,dynamic pages Php)

  36. Web API and Interoperability Client Client Client Application Application Application (Technology A) (Technology B) (Technology C) WEB-API ….

  37. Web API and Interoperability • Dropbox is a free (up to 2GB), web-based cloud storage mechanism • file backup service • data sharing • Data sync among different clients • Mobile applications Windows iPhone .mp3 .avi .jpg Linux iPad REST / JSON calls MAC Freemium business model

  38. Questions?

Recommend


More recommend