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?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend