MobiCloud. Power of Clouds in Your Pocket : An Efficient Approach for Cloud Mobile Hybrid Application Development



Similar documents
Cloud Computing Utility and Applications

Amit Sheth & Ajith Ranabahu, Presented by Mohammad Hossein Danesh

Virtual Machine Lifecycle Management. The example of CernVM

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Using Agile to Develop Mobile Apps

Abstraction Driven Application and Data Portability in Cloud Computing

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Session 5. Mixing and matching Public, Private and Hybrid Clouds for maximum benefits

Cloud Computing for Small to Mid Size Businesses. Tech66, LLC William Burleson

Cloud Computing Technology

Cross-Platform Phone Apps & Sites with jquery Mobile

Whitepaper. Trans. for Mobile

5 Secrets to a Successful Mobile Application Testing Strategy

Agenda. The Bridge New Hire Wizard Security Groups in ezlabormanager and Workforce Now 2.0 ADP Mobile Support Center

Collaborative Open Market to Place Objects at your Service

How To Use Titanium Studio

Horizontal IoT Application Development using Semantic Web Technologies

Lee Barnes, CTO Utopia Solutions. Utopia Solutions

The Autonomous Customer 2015: On-hold for Intelligent Customer Service - Global

WHITEPAPER BEST PRACTICES IN MOBILE APPLICATION TESTING

Storage Made Easy. Cloud File Server Overview

Native mobile apps: The wrong choice for business?

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

ART-KON-TOR 2012 Vortrag 15th SpectroNet Collaboration Forum 1

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

DPD App manual. Guideline for DPD Apps version 1.0. Network Marketing, May 2011

Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities

24/11/14. During this course. Internet is everywhere. Frequency barrier hit. Management costs increase. Advanced Distributed Systems Cloud Computing

App Development Strategies Top 6 Trends

COROUTER SOLUTIONS PVT. LTD.

Take full advantage of IBM s IDEs for end- to- end mobile development

How To Make A Secure Storage On A Mobile Device Secure

ENTERPRISE MOBILITY STRATEGY. We work for you, not your technology vendors.

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

and Solutions Introduction The Need for Mobility Xoriant Enterprise Mobility Platform

How To Understand And Understand Cwr Mobile Crm

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

SOFTWARE DEVELOPMENT. Notes for Startup Founders. March 25 th, 2015

Enterprise Mobility Space

THE BUSINESS CASE FOR HYBRID HTML5 MOBILE APPS

CiviMobile & CiviSync Mobile. Peter McAndrew Rohit Thakral

Value Added Services (VAS) - Mobile Applications Business Cases

Enterprise mobility trends 2015 and beyond

Technology Services...Ahead of Times. Enterprise Application on ipad

Introduction to Cloud Services

Building HTML5 and hybrid mobile apps using cloud services. Andrei Glazunov

Best Practices and Tools for the Mobile App Analytics

SAP Mobile Platform Intro

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

PART I: The Pros and Cons of Public Cloud Computing

Mobile web apps: The best option for business? A whitepaper from mrc

Social Application Guide

1 The intersection of IAM and the cloud

CMS, CRM, shopping carts, Web applications

WHITE PAPER 7 REASONS WHY CRAFTER SHOULD BE ON YOUR WEB CMS SHORTLIST

Speed to Market in Mobile Development

Moving to the Cloud: A Practical Guide Community IT

Real-Time Analytics on Large Datasets: Predictive Models for Online Targeted Advertising

Statement of Direction

Middleware- Driven Mobile Applications

A Lightweight Framework of Home Automation Systems Based on the IFTTT Model

WHITEPAPER. Pros & cons of native vs cross-platform mobile development with Xamarin

The Bootstrapper's Guide to the Mobile Web by Deltina Hay. Mobile App Strategy Worksheet. I. Target Market, App Category, Platforms

Student's Awareness of Cloud Computing: Case Study Faculty of Engineering at Aden University, Yemen

Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Q&A SOW for Mobile Strategy

Transcription:

MobiCloud Power of Clouds in Your Pocket : An Efficient Approach for Cloud Mobile Hybrid Application Development Ashwin Manjunatha, Ajith H. Ranabahu, Amit Sheth, Krishnaprasad Thirunarayan Kno.e.sis Center Wright State University 1

Agenda What are Cloud-Mobile hybrids? Why are they hard to build? Building Cloud-Mobile hybrids with DSLs Pros and cons Current DSL MobiCloud Toolkit Ongoing work Future work Questions 2

What are Cloud-Mobile Hybrids? 3

Spectrum of Computing Power Portability Computing Power 4

Cloud-Mobile Hybrids (CMH)? Applications that span over multiple devices Back-end in Cloud Front-end in a mobile device Both components needed for the app to function Front-end is not just a webpage! A native Iphone / Android / Blackberry app 5

Simple Example The Facebook App The Facebook client you have in your smart phone! Mobile front-end for Facebook Most Facebook activity happens via Mobile devices! Many actions need extensive processing in the Facebook backend Both parts (back-end and the front-end) required for the complete experience 6

Another Research Oriented Example Privacy score 1 Introduced by IBM researchers Measures relative exposure of private data on a social network Provides a similar number to credit score Requires heavy calculations in the back-end Front-end is simply one number! Perfect for a mobile device! 1. A Framework for Computing the Privacy Scores of Users in Online Social Networks, Kun Liu, Evimaria Terzi Ninth IEEE International Conference on Data Mining, 2009 7

Are CMH Apps hard to build? Yes - very much!! Clouds are heterogeneous Write the back-end to suit Amazon You can t move to Google!! Same in mobile devices Need to write different apps for different devices! Android / Iphone / Blackberry are all different 8

Our solution to this Problem 9

Use a DSL DSL? Domain Specific Language A mini language for a special purpose Make / Ant Matlab Many other examples Use a DSL to generate an application 10

What changes by using a DSL? Reduce Complexity As DSLs are designed for specific domain, they reduce complexity! Increases Flexibility and avoids vendor lock-in Use single DSL to design applications with different combinations of Cloud and mobile platforms Generate apps for Amazon, Google, Android, Blackberry using just a single script Ease of use No separation between front-end / back-end No service interfaces to worry about (auto generated) Communication interfaces are a major source of errors and incompatibilities 11

A birds-eye view of what we do DSL Script Compiler/Generator Cloud Mobile Hybrid Application 12

Is this the silver Nope! bullet? Less control over the code E.g. Extensive GUI customization and device integration not possible Covers only the 80% case E.g. Not suitable for games or other UI intensive applications 13

Our current DSL 14

DSL design principle Based on Model-View-Controller (MVC) design pattern Model View Controller 15

A very simple Hello World recipe :helloworld do metadata :id => 'helloworld-app' # models model :greeting, {:message => :string} #controllers controller :sayhello do action :retrieve,:greeting end # views view :show_greeting, {:models =>[:greeting], :controller => :sayhello, :action => :retrieve} end Metadata details that need to be attached to the whole application Models Controllers Views 16

A slightly complicated Example (task manger) recipe(:todolist) do # specific metadata for this app metadata({:id => todo-list'}) model(:todoitem, {:name=>:string, :description => :string,:time => :string, :location => :string}) model(:user, {:name=>:string, :bday => :string}) #controllers controller(:todohandler) do action :create,:todoitem action :retrieve,:todoitem action :update,:todoitem action :delete,:todoitem end # views view :todo_add, {:models >[:todoitem],:controller => :todohandler,:action => :create} view :todo_show, {:models =>[:todoitem],:controller => :todohandler,:action => :retrieve} end 17

Regular development vs DSL for CMH Regular Development Developed as two applications Different platforms need new effort. Significant effort in creating code and other artifacts Highly customizable DSL based Development Developed as a single application Generators create functionally equivalent applications for multiple platforms Minimum effort in creating all required artifacts Limited customization

Other Benefits of DSL Based Development Convenient integration of other features Location based services Integration with available location sensors, e.g GPS Non functional features Security Social Network features Publish to Facebook, Twitter etc

MobiCloud Online Toolkit Step1

MobiCloud Online Toolkit Step2

MobiCloud Online Toolkit Step3

References / More details Technical report on MobiCloud http://knoesis.wright.edu/library/publications/mobiclou d.pdf Publicly hosted MobiCloud tool http://knoesis.org/mobicloud Code repository Coming soon! Privacy score paper http://portal.acm.org/citation.cfm?id=1674659.1677075 23

Researchers Ashwin Manjunatha Ajith Ranabahu Amit Sheth Krishnaprasad Thirunarayan 24

Thank you 25

Questions? 26