MOBILE APPLICATIONS AND CLOUD COMPUTING
Roberto Beraldi
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 in android
Roberto Beraldi
using cloud services)
storage space, software functions (web api) , data – e.g. open data, etc..)
devices/applications is possible
access functionalities remotely (e.g., via Internet)
by mobile apps. This can be done in different ways
devices (fixed or mobile)
iPhone iPad Windows Linux MAC
.mp3 .avi .jpg
Freemium business model REST / JSON calls
Security (SSL, AES-256 bit), scalabity (load balancer, server notification, data/metadata..)
.. Phone backup
(store any kind of document) cloud
https://aws.amazon.com/it/cognito/
users and then lets you securely store and sync user app data in the AWS Cloud across multiple devices and OS platforms.
can work the same, regardless of whether a user’s devices are online or offline.
devices can be alerted by a silent push notification so that your app can sync the new data automatically.
transmission latency and control overhead are reduced.
multiple files
chunked into smaller pieces. Chunking is advantageous because it simplifies recovery in case of failures
reduce traffic and storage requirements at the expense of local processing time.
the network: In case a file is already present on servers, replicas in the client can be identified to save upload capacity
content, e.g., SHA256 is used by Dropbox
system and skip the upload of repeated content.
user to skip submitting files that are already stored by any other user.
allowing the transmission of only the modified portions.
retrieving every content from the cloud, thus saving both network and server resources
devices, possibly from different users, to exchange content using P2P communication when clients are connected to the same LAN.
(*)E. Bocchi, I. Drago, M. Mellia, “Personal Cloud Storage Benchmarks and Comparison”, IEEE Transactions on Cloud Computing 2015
Microsoft Intune helps organizations provide their employees with access to corporate applications, data, and resources from virtually anywhere on almost any device, while helping to keep corporate information secure.
Intune can manage: Mobile devices (including phones and tablets running Android, iOS, Windows Phone and Windows RT operating systems). Computers running a professional edition of Windows Vista, Windows 7, Windows 8 or Windows 8.1.
notification service
push GCM allows to attach up to 1,000 recipients to a single message
receiver
connection server app server …..
that lets you send individual messages or to fan-out messages to large numbers of recipients.
push notifications to mobile device users, email recipients
millions of messages or higher.
to individual Apple, Google or Amazon devices, or broadcast deliveries to many mobile devices with a single publish request.
dynamically subscribe for identical copies of the same notification.
formatted copies of your message to each subscriber.
Cloud
‘backend’
using RPC-like calls)
req reply
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
WEB-API INTERNET Client Application A Web API allows to design and develop an application that exploits software modules accessed via Internet via a simple wire protocol
Programmatic Service Access (many methods) Web URL (standard HTTP methods)
web brower
HTTP
Application
HTTP
Rest,XML-RPC,etc
(Web API)
Provide A Provider B … API WEB CLIENT s=A.methodName(par1) … z=B.methodName(s,par2)
Client Server Web API
Server Web API … JSON-RPC Server Web API AJAX Python ..
HTTP
(e.g.,dynamic pages Php) WEB API XML-RPC SOAP
WEB-API Client Application (Technology A) Client Application (Technology B) Client Application (Technology C) ….
be displayed with the response
(that can run on a mobile device, for example) and let two players to play
e.g., javaScript, or any language
http://game.org/ttt.php?move=7
HTML Put an X at position 7
Client Server
HTTP HTML
User Agent
mod_php
TCP/IP connection 3306,…
Client Server
HTTP HTML
Embedded Objects
User Agent
mod_php
TCP/IP connection 3306,…
Client Server
HTTP HTML
+JS
User Agent
mod_php
TCP/IP connection 3306,…
Web API (cloud) init
current state
new state Interface (remote functions) backend front end move
code/data offloading result
computation
(*) Mobile-to-Mobile Opportunistic Task Splitting and Offloading Beraldi et al., WiMob15
QR-code QR-reader Internet URI
Same applies to books, newspapers, encyclopedia, etc.
can be used alone (without connections to a mobile app)
public available data (open data) for their purpose