SlideShare una empresa de Scribd logo
1 de 57
Cloud & The Mobile Stack

 How to Mesh Mobile Devices and Applications with
               Current Systems




       Subbu Ramanathan
       Presented at CAMP-IT Conference, Chicago, IL

       October 18, 2012
Objective


  To provide a high level understanding of effective
strategies for architecting enterprise mobile solutions
          possibly utilizing cloud technology
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Smartphone Marketplace


           Share of Smartphone subscribers

60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
 0.00%
         Google   Apple   RIM    Microsoft        Other

                                Source: comScore Reports – May 2012
Tablet Marketplace Trend




                  Source: IDC – March 2012
Mobile Content Usage
                  Three month avg. ending Feb-12
                  Three month avg. ending May-12


 51.50%
51.00%
50.50%
50.00%
49.50%
49.00%
48.50%
48.00%
           Used downloaded apps       Used browser

                                       Source: comScore Reports – May 2012
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Goals


         What can this new channel do for us?

∗ Reach the largest possible audience
∗ Improve the experience of existing customers
Understand your audience


∗ Determine their interest
  ∗   Research
  ∗   Buy
  ∗   Social connection
  ∗   Other?
∗ Validate customer behavior
  ∗ Analytics
  ∗ A/B tests
∗ Assess their preferred experience
Understand options


∗ Mobile application
∗ Hybrid application
∗ Mobile website
Mobile Application


     An application designed & developed to run on a specific
                         mobile platform

∗ Saturated space
    ∗ More than 500,000 apps in Apple AppStore & Android
      Marketplace
∗   Effort to consume
∗   Native functionality
∗   Offline capabilities
∗   Ideal for frequent need for mobile context
Hybrid Application


An application designed & developed to run on a specific
         mobile platform to render HTML pages

∗   Effort to consume
∗   Native functionality with effort
∗   Offline capabilities
∗   Typically less value added over mobile web site option
Mobile website


      A website designed & developed to run on mobile platforms
∗   Low effort to consume
∗   Less offline capabilities
∗   No/less native functionality
∗   Mobile First
    ∗ Approach optimized to target the growing market
    ∗ Bring focus to important data and actions
    ∗ Extends solution capabilities
∗ Responsive design
    ∗ Multichannel delivery
    ∗ Websites that are adaptive to the rendering media
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Elements of a Mobile Stack


∗ Target platform(s)
  ∗ Client architecture

∗ Server side architecture

∗ Client to server access protocols
  ∗ JSON, BSON, SOAP, REST, HTTP(S), RTMP
Mobile Website Frameworks


∗ Basic frameworks
  ∗   UI components and widget library
  ∗   Custom events to detect mobile actions
  ∗   Local storage and caching
  ∗   Stylesheets for native look
  ∗   Multi-device browser support
  ∗   Abstract layer for client-server communication
  ∗   Some tools: jQuery Mobile, M-Project, Sencha touch,
      SproutCore
∗ UI MVC frameworks for Improved Modularity
  ∗ Some tools: Backbone.js
For Richer Mobile Websites


∗ Native device access
  ∗ Some tools: Phonegap, Mosync


∗ Templates to make your site fluid
  ∗ Some tools: Mobile boilerplate, 1140 Grid, Skeleton
Mobile App Client Stack


∗ Native
  ∗ Platform specific effort
  ∗ Best native experience
  ∗ Tools: Objective-C , Xcode, iOS SDK(iOS), Java, Android SDK
    (Android), C#/VB, Silverlight (Windows Phone)
∗ Cross platform App Generators
  ∗   Efficient
  ∗   Possibly some less functional native functionality
  ∗   Vendor dependency & vendor stability
  ∗   Some Tools: Appcelerator, Rho Mobile, Xamarin
Server side Stack


∗ Very similar to regular web application
  ∗   Service oriented middleware
  ∗   Content Management System (CMS)
  ∗   Database Management System (DBMS)
  ∗   Enterprise directory for authentication
∗ Native application additions
  ∗ Data synchronization
Mobile Data Management


∗ Fetch data from server as needed and send updates
  when work is completed
  ∗ Pros – No local storage
  ∗ Cons – Availability and latency
∗ Store data locally
  ∗ Pros – Availability and performance
  ∗ Cons – Device horsepower and consistency
Mobile Data Storage


∗ Mobile database requirements
  ∗   Power optimization
  ∗   Better memory management
  ∗   Small footprint
  ∗   Cross-platform or specific OS
  ∗   ACID (atomicity, consistency, isolation, durability)
  ∗   Some tools: SQLite, HanDBase, SQLAnywhere Ultralite
∗ For mobile websites: HTML5 Local Storage,
  IndexedDB (not currently supported by all browsers)
Rule of Three by Gartner


∗ Support three or more mobile applications?
∗ Support three or more mobile OS?
∗ Integrate with three or more back-end data sources?

                  Consider using a
       Mobile Enterprise Application Platform
                      (MEAP)
MEAP


∗ MEAP is the entire mobile stack provided by a vendor
  ∗   Design
  ∗   Build
  ∗   Integrate
  ∗   Publish
  ∗   Run
  ∗   Manage
  ∗   Analyze
∗ Tools
  ∗ Sybase, Antenna, Syclos, Rhomobile, Verivo, BrightXpress
MEAP – Pros and Cons


∗ Pros
  ∗ Extensive development background on particular
    programming language not required
  ∗ Ease of development

∗ Con
  ∗ Extensive development background on particular
    programming language not required
  ∗ Vendor dependent
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Typical Web Application Architecture
Client




                                      Browser



                                    Web Server

                                 External Interfaces
          Browser Interfaces
           (HTML/JSP/ASPX)                               Web services Interfaces




                                                                                      Security
                               Business Logic Services
Server




                                   Domain Model

                                    Persistence
           DBMS                                                               Dir. Server


         Application                                                             User
           Data                                                                Directory
Simple Mobile Web Site
Client




                         Mobile Browser          Browser



                                               Web Server

                                          External Interfaces
          Browser Interfaces
                                 Mobile CSS                         Web services Interfaces
           (HTML/JSP/ASPX)




                                                                                                 Security
                                          Business Logic Services
Server




                                              Domain Model

                                               Persistence
           DBMS                Pro Less time to market                                   Dir. Server
                               Con
         Application           • Suboptimal user experience                                 User
           Data                • Same amount of data transfer                             Directory
                                  leads to poor performance
                               • Limited offline functionality
Optimized Mobile Web Site
Client




                         Mobile Browser          Browser                             Local Storage



                                               Web Server

                                            External Interfaces
          Browser Interfaces     Mobile Browser
           (HTML/JSP/ASPX)      Interfaces (HTML 5)                 Web services Interfaces




                                                                                                 Security
                                          Business Logic Services
Server




                                              Domain Model

                                               Persistence
           DBMS                                                                          Dir. Server
                               Pro      Better user experience
         Application           Con                                                          User
           Data                • Solution biased by existing                              Directory
                                  web site
Mobile App
Client




         Mobile App                         Browser                             Local Storage



                                          Web Server

                                       External Interfaces
          Browser Interfaces
           (HTML/JSP/ASPX)                                     Web services Interfaces




                                                                                            Security
                                     Business Logic Services
Server




                                         Domain Model

                                          Persistence
           DBMS                                                                     Dir. Server
                               Pro     Native user experience
         Application           Con                                                     User
           Data                • Initial time and cost                               Directory
                               • Long term maintenance cost
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Forecast


∗ Market for cloud based mobile apps
  expected to grow 88% form 2009 – 2014
  [ Juniper Research ]

∗ More than 240 million business
  customers will access cloud computing
  services via mobile devices by 2015
  [ ABI Research ]
Cloud Advantages For Mobile


∗ Cloud has storage

∗ Cloud provides processing power

∗ Cloud allows extension
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Location Based Services


User is provided specific services based on their
              selected geo-location
Popularity of LBS on Cloud
Traditional LBS Value Chain
LBS Based on Cloud


In the Cloud




            User Generated
                 Data

        •    Location
             history
        •    Photo, Audio,
             Video
        •    …
Notification Services


Provides means to send a notice to many devices at
    once, even if they are offline or turned off
Mobile Notification Services


∗ Mobile apps include remote data provider web service for
  updated information delivery
∗ Notifications are pushed using target specific protocols
  ∗   Apple Push Notification Service (APNS)
  ∗   Cloud to Device Messaging Framework (C2DM)
  ∗   Microsoft Push Notification Service (MPNS)
  ∗   Device Agnostic - Common Push Notification Service (CPNS)
∗ “Push” preserves battery life, bandwidth and improves
  user experience
Microsoft Push Notification
                Workflow
                                  Data to App
                                   Return URI
                App                                       Push client


                                Open push channel

                    Send URI                      Send push
                    to server                   data to client



                Your        Send push data to URI             Push
Event          service                                       service
             (on cloud)                                     (MPNS)
Android Push Notification Workflow
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Factors in Mobile Performance




   Design Influenced     Constraints
Design Guidelines


∗ Define optimized core building blocks
∗ Identify core user stories for focused optimization
∗ Speed up perception
Design Guidelines - 2


∗   Smart loading
∗   HTTP Pipelining
∗   Background loading through asynchronous transfer
∗   Local caching
    ∗ Mobile RDBMS: SQLite, Sybase SQL Anywhere
∗ Content Delivery Network (CDN)
    ∗ Akamai, Edgecast, Limelight, Amazon Cloudfront
Design Guidelines - 3


∗ Compression
  ∗ REST with JSON
  ∗ Images sized appropriately for device
  ∗ HTTP compression (if you have a web server)
∗ Web content optimization for mobile web
  ∗ Intercept and optimize web content
  ∗ Based on performance rules such as Google PageSpeed
  ∗ Tools: Stingray Aptimizer, Blaze FEO
Mobile Performance Testing


∗ SaaS
  ∗ SmartBear AlertSite Mobile, Compuware Gomez
∗ Apps
  ∗ Neotys
Agenda


∗   The Mobile Marketplace
∗   Defining a Mobile Strategy
∗   Elements of a Mobile Stack
∗   Mobile Solutions Using Existing Architecture
∗   Cloud Advantages for Mobile Solutions
∗   How to Leverage the Cloud for Mobile Delivery
∗   Increasing Robustness on Wireless Platforms
∗   Improving Security of Mobile Solutions
Risk


∗   Mobile devices can be lost/stolen easily
∗   They can store data
∗   They can connect to servers
∗   Users are less aware of risks
Mobile Malware Identified
Mobile Security Threats


∗ Device based attacks
  ∗ Personal info stolen from device
  ∗ Malicious software allows visibility to user transactions
∗ Network based attacks
  ∗ Sensitive info stolen while in transmission
∗ Server based attacks
  ∗ Authentication, SQL injection, Cross-site scripting…

  ∗ (Consider a picture like – Anatomy of a Mobile Attack)
Securing Mobile Client


∗ Avoid local storage of sensitive data
    ∗ Implement secure storage when local storage needed
    ∗ Discard sensitive data in RAM, as soon as possible
∗   Avoid crash logs
∗   Fully validate SSL/TLS
∗   Implement local session timeout
∗   Use tokens instead of account numbers on client
∗   Obfuscate binaries to complicate reverse engineering
∗   Address Space Layout Randomization (ASLR)
Securing Mobile Client - 2


∗ Disable copy/paste of sensitive data
∗ Avoid using device provided identifier to identify user
  ∗ Create your own device id at installation/activation
∗ Build in tamper detection & handling
∗ Protect application settings – in encrypted files/code
Securing Server Components


∗   Eliminate all HTTP traffic to secure server component
∗   Client side validation to enforce SSL
∗   Certificate pinning
∗   Implement server side validation of client input
∗   Prevent framing & clickjacking
∗   Protect against CSRF using form tokens
Takeaway


∗   Understand your target and define your strategy
∗   Take stock and determine your stack
∗   Leverage existing services
∗   Understand your complexity and leverage cloud
∗   Robustness is key for success
∗   Security is key for survival
Cloud & The Mobile Stack

Más contenido relacionado

La actualidad más candente

CM WebClient Datasheet
CM WebClient DatasheetCM WebClient Datasheet
CM WebClient DatasheetCM First Group
 
S111 cics connectivity in devops
S111   cics connectivity in devopsS111   cics connectivity in devops
S111 cics connectivity in devopsnick_garrod
 
MyMobileWeb Certification Part II
MyMobileWeb Certification Part IIMyMobileWeb Certification Part II
MyMobileWeb Certification Part IIcrdlc
 
Building single page, modular html5 applications for PC and Mobile
Building single page, modular html5 applications for PC and MobileBuilding single page, modular html5 applications for PC and Mobile
Building single page, modular html5 applications for PC and MobileLorant Domokos
 
Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus WSO2
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA PlexCM First Group
 
CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM First Group
 
Developing Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientDeveloping Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientCM First Group
 
6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-s6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-sIBM
 
20090213 Friday Food Croslocis
20090213 Friday Food Croslocis20090213 Friday Food Croslocis
20090213 Friday Food Croslocisimec.archive
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsJames Pearce
 
SHARE 2014, Pittsburgh IBM Mobile Pricing
SHARE 2014, Pittsburgh IBM Mobile Pricing SHARE 2014, Pittsburgh IBM Mobile Pricing
SHARE 2014, Pittsburgh IBM Mobile Pricing nick_garrod
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)prksh89
 
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web appsEffectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web appsMicrosoft Mobile Developer
 
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudCloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudDavid Pallmann
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search EngineMustata Bogdan
 

La actualidad más candente (18)

CM WebClient Datasheet
CM WebClient DatasheetCM WebClient Datasheet
CM WebClient Datasheet
 
S111 cics connectivity in devops
S111   cics connectivity in devopsS111   cics connectivity in devops
S111 cics connectivity in devops
 
MyMobileWeb Certification Part II
MyMobileWeb Certification Part IIMyMobileWeb Certification Part II
MyMobileWeb Certification Part II
 
Building single page, modular html5 applications for PC and Mobile
Building single page, modular html5 applications for PC and MobileBuilding single page, modular html5 applications for PC and Mobile
Building single page, modular html5 applications for PC and Mobile
 
Ideas for addictive series 40 web apps
Ideas for addictive series 40 web appsIdeas for addictive series 40 web apps
Ideas for addictive series 40 web apps
 
Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany
 
Developing Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientDeveloping Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClient
 
6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-s6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-s
 
20090213 Friday Food Croslocis
20090213 Friday Food Croslocis20090213 Friday Food Croslocis
20090213 Friday Food Croslocis
 
Blaze Ds Slides
Blaze Ds SlidesBlaze Ds Slides
Blaze Ds Slides
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
 
SHARE 2014, Pittsburgh IBM Mobile Pricing
SHARE 2014, Pittsburgh IBM Mobile Pricing SHARE 2014, Pittsburgh IBM Mobile Pricing
SHARE 2014, Pittsburgh IBM Mobile Pricing
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
 
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web appsEffectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
 
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudCloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
 
Silverlight Document Search Engine
Silverlight Document Search EngineSilverlight Document Search Engine
Silverlight Document Search Engine
 

Similar a Cloud & The Mobile Stack

Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Sreeni Pamidala
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleMatthew Perrins
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkThanh Nguyen
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for znick_garrod
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsJames Pearce
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Vidyasagar Machupalli
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic Software
 
IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015Sreeni Pamidala
 
Zytrix labs corporate_profile_e_india
Zytrix labs corporate_profile_e_indiaZytrix labs corporate_profile_e_india
Zytrix labs corporate_profile_e_indiaDiwakar Singh
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityDavid Pallmann
 
Harbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice GroupHarbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice GroupSachin Katariya
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudDavid Pallmann
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationAlan McSweeney
 
Web Services Best Practices 072604.ppt
Web Services Best Practices 072604.pptWeb Services Best Practices 072604.ppt
Web Services Best Practices 072604.pptmercurial02
 
InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...DevOps for Enterprise Systems
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09Martha Rotter
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickOPITZ CONSULTING Deutschland
 

Similar a Cloud & The Mobile Stack (20)

Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
HTML5 Mobile Application Framework
HTML5 Mobile Application FrameworkHTML5 Mobile Application Framework
HTML5 Mobile Application Framework
 
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for zz Technical Summit Track 3 Session 4 Developing mobilefirst app for z
z Technical Summit Track 3 Session 4 Developing mobilefirst app for z
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
 
Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013Magic mobile webinar_Jan2013
Magic mobile webinar_Jan2013
 
IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015IBM MobileFirst Reference Architecture 1512 v3 2015
IBM MobileFirst Reference Architecture 1512 v3 2015
 
Zytrix labs corporate_profile_e_india
Zytrix labs corporate_profile_e_indiaZytrix labs corporate_profile_e_india
Zytrix labs corporate_profile_e_india
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: Mobility
 
Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
Harbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice GroupHarbinger Systems Mobile App Development Practice Group
Harbinger Systems Mobile App Development Practice Group
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the Cloud
 
Notes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And ModernisationNotes On Software Development, Platform And Modernisation
Notes On Software Development, Platform And Modernisation
 
Web Services Best Practices 072604.ppt
Web Services Best Practices 072604.pptWeb Services Best Practices 072604.ppt
Web Services Best Practices 072604.ppt
 
InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...InterConnect 2017 : Programming languages in the enterprise: Which language s...
InterConnect 2017 : Programming languages in the enterprise: Which language s...
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein Architekturüberblick
 

Último

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Último (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Cloud & The Mobile Stack

  • 1. Cloud & The Mobile Stack How to Mesh Mobile Devices and Applications with Current Systems Subbu Ramanathan Presented at CAMP-IT Conference, Chicago, IL October 18, 2012
  • 2. Objective To provide a high level understanding of effective strategies for architecting enterprise mobile solutions possibly utilizing cloud technology
  • 3. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 4. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 5. Smartphone Marketplace Share of Smartphone subscribers 60.00% 50.00% 40.00% 30.00% 20.00% 10.00% 0.00% Google Apple RIM Microsoft Other Source: comScore Reports – May 2012
  • 6. Tablet Marketplace Trend Source: IDC – March 2012
  • 7. Mobile Content Usage Three month avg. ending Feb-12 Three month avg. ending May-12 51.50% 51.00% 50.50% 50.00% 49.50% 49.00% 48.50% 48.00% Used downloaded apps Used browser Source: comScore Reports – May 2012
  • 8. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 9. Goals What can this new channel do for us? ∗ Reach the largest possible audience ∗ Improve the experience of existing customers
  • 10. Understand your audience ∗ Determine their interest ∗ Research ∗ Buy ∗ Social connection ∗ Other? ∗ Validate customer behavior ∗ Analytics ∗ A/B tests ∗ Assess their preferred experience
  • 11. Understand options ∗ Mobile application ∗ Hybrid application ∗ Mobile website
  • 12. Mobile Application An application designed & developed to run on a specific mobile platform ∗ Saturated space ∗ More than 500,000 apps in Apple AppStore & Android Marketplace ∗ Effort to consume ∗ Native functionality ∗ Offline capabilities ∗ Ideal for frequent need for mobile context
  • 13. Hybrid Application An application designed & developed to run on a specific mobile platform to render HTML pages ∗ Effort to consume ∗ Native functionality with effort ∗ Offline capabilities ∗ Typically less value added over mobile web site option
  • 14. Mobile website A website designed & developed to run on mobile platforms ∗ Low effort to consume ∗ Less offline capabilities ∗ No/less native functionality ∗ Mobile First ∗ Approach optimized to target the growing market ∗ Bring focus to important data and actions ∗ Extends solution capabilities ∗ Responsive design ∗ Multichannel delivery ∗ Websites that are adaptive to the rendering media
  • 15. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 16. Elements of a Mobile Stack ∗ Target platform(s) ∗ Client architecture ∗ Server side architecture ∗ Client to server access protocols ∗ JSON, BSON, SOAP, REST, HTTP(S), RTMP
  • 17. Mobile Website Frameworks ∗ Basic frameworks ∗ UI components and widget library ∗ Custom events to detect mobile actions ∗ Local storage and caching ∗ Stylesheets for native look ∗ Multi-device browser support ∗ Abstract layer for client-server communication ∗ Some tools: jQuery Mobile, M-Project, Sencha touch, SproutCore ∗ UI MVC frameworks for Improved Modularity ∗ Some tools: Backbone.js
  • 18. For Richer Mobile Websites ∗ Native device access ∗ Some tools: Phonegap, Mosync ∗ Templates to make your site fluid ∗ Some tools: Mobile boilerplate, 1140 Grid, Skeleton
  • 19. Mobile App Client Stack ∗ Native ∗ Platform specific effort ∗ Best native experience ∗ Tools: Objective-C , Xcode, iOS SDK(iOS), Java, Android SDK (Android), C#/VB, Silverlight (Windows Phone) ∗ Cross platform App Generators ∗ Efficient ∗ Possibly some less functional native functionality ∗ Vendor dependency & vendor stability ∗ Some Tools: Appcelerator, Rho Mobile, Xamarin
  • 20. Server side Stack ∗ Very similar to regular web application ∗ Service oriented middleware ∗ Content Management System (CMS) ∗ Database Management System (DBMS) ∗ Enterprise directory for authentication ∗ Native application additions ∗ Data synchronization
  • 21. Mobile Data Management ∗ Fetch data from server as needed and send updates when work is completed ∗ Pros – No local storage ∗ Cons – Availability and latency ∗ Store data locally ∗ Pros – Availability and performance ∗ Cons – Device horsepower and consistency
  • 22. Mobile Data Storage ∗ Mobile database requirements ∗ Power optimization ∗ Better memory management ∗ Small footprint ∗ Cross-platform or specific OS ∗ ACID (atomicity, consistency, isolation, durability) ∗ Some tools: SQLite, HanDBase, SQLAnywhere Ultralite ∗ For mobile websites: HTML5 Local Storage, IndexedDB (not currently supported by all browsers)
  • 23. Rule of Three by Gartner ∗ Support three or more mobile applications? ∗ Support three or more mobile OS? ∗ Integrate with three or more back-end data sources? Consider using a Mobile Enterprise Application Platform (MEAP)
  • 24. MEAP ∗ MEAP is the entire mobile stack provided by a vendor ∗ Design ∗ Build ∗ Integrate ∗ Publish ∗ Run ∗ Manage ∗ Analyze ∗ Tools ∗ Sybase, Antenna, Syclos, Rhomobile, Verivo, BrightXpress
  • 25. MEAP – Pros and Cons ∗ Pros ∗ Extensive development background on particular programming language not required ∗ Ease of development ∗ Con ∗ Extensive development background on particular programming language not required ∗ Vendor dependent
  • 26. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 27. Typical Web Application Architecture Client Browser Web Server External Interfaces Browser Interfaces (HTML/JSP/ASPX) Web services Interfaces Security Business Logic Services Server Domain Model Persistence DBMS Dir. Server Application User Data Directory
  • 28. Simple Mobile Web Site Client Mobile Browser Browser Web Server External Interfaces Browser Interfaces Mobile CSS Web services Interfaces (HTML/JSP/ASPX) Security Business Logic Services Server Domain Model Persistence DBMS Pro Less time to market Dir. Server Con Application • Suboptimal user experience User Data • Same amount of data transfer Directory leads to poor performance • Limited offline functionality
  • 29. Optimized Mobile Web Site Client Mobile Browser Browser Local Storage Web Server External Interfaces Browser Interfaces Mobile Browser (HTML/JSP/ASPX) Interfaces (HTML 5) Web services Interfaces Security Business Logic Services Server Domain Model Persistence DBMS Dir. Server Pro Better user experience Application Con User Data • Solution biased by existing Directory web site
  • 30. Mobile App Client Mobile App Browser Local Storage Web Server External Interfaces Browser Interfaces (HTML/JSP/ASPX) Web services Interfaces Security Business Logic Services Server Domain Model Persistence DBMS Dir. Server Pro Native user experience Application Con User Data • Initial time and cost Directory • Long term maintenance cost
  • 31. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 32. Forecast ∗ Market for cloud based mobile apps expected to grow 88% form 2009 – 2014 [ Juniper Research ] ∗ More than 240 million business customers will access cloud computing services via mobile devices by 2015 [ ABI Research ]
  • 33. Cloud Advantages For Mobile ∗ Cloud has storage ∗ Cloud provides processing power ∗ Cloud allows extension
  • 34. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 35. Location Based Services User is provided specific services based on their selected geo-location
  • 36. Popularity of LBS on Cloud
  • 38. LBS Based on Cloud In the Cloud User Generated Data • Location history • Photo, Audio, Video • …
  • 39. Notification Services Provides means to send a notice to many devices at once, even if they are offline or turned off
  • 40. Mobile Notification Services ∗ Mobile apps include remote data provider web service for updated information delivery ∗ Notifications are pushed using target specific protocols ∗ Apple Push Notification Service (APNS) ∗ Cloud to Device Messaging Framework (C2DM) ∗ Microsoft Push Notification Service (MPNS) ∗ Device Agnostic - Common Push Notification Service (CPNS) ∗ “Push” preserves battery life, bandwidth and improves user experience
  • 41. Microsoft Push Notification Workflow Data to App Return URI App Push client Open push channel Send URI Send push to server data to client Your Send push data to URI Push Event service service (on cloud) (MPNS)
  • 43. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 44. Factors in Mobile Performance Design Influenced Constraints
  • 45. Design Guidelines ∗ Define optimized core building blocks ∗ Identify core user stories for focused optimization ∗ Speed up perception
  • 46. Design Guidelines - 2 ∗ Smart loading ∗ HTTP Pipelining ∗ Background loading through asynchronous transfer ∗ Local caching ∗ Mobile RDBMS: SQLite, Sybase SQL Anywhere ∗ Content Delivery Network (CDN) ∗ Akamai, Edgecast, Limelight, Amazon Cloudfront
  • 47. Design Guidelines - 3 ∗ Compression ∗ REST with JSON ∗ Images sized appropriately for device ∗ HTTP compression (if you have a web server) ∗ Web content optimization for mobile web ∗ Intercept and optimize web content ∗ Based on performance rules such as Google PageSpeed ∗ Tools: Stingray Aptimizer, Blaze FEO
  • 48. Mobile Performance Testing ∗ SaaS ∗ SmartBear AlertSite Mobile, Compuware Gomez ∗ Apps ∗ Neotys
  • 49. Agenda ∗ The Mobile Marketplace ∗ Defining a Mobile Strategy ∗ Elements of a Mobile Stack ∗ Mobile Solutions Using Existing Architecture ∗ Cloud Advantages for Mobile Solutions ∗ How to Leverage the Cloud for Mobile Delivery ∗ Increasing Robustness on Wireless Platforms ∗ Improving Security of Mobile Solutions
  • 50. Risk ∗ Mobile devices can be lost/stolen easily ∗ They can store data ∗ They can connect to servers ∗ Users are less aware of risks
  • 52. Mobile Security Threats ∗ Device based attacks ∗ Personal info stolen from device ∗ Malicious software allows visibility to user transactions ∗ Network based attacks ∗ Sensitive info stolen while in transmission ∗ Server based attacks ∗ Authentication, SQL injection, Cross-site scripting… ∗ (Consider a picture like – Anatomy of a Mobile Attack)
  • 53. Securing Mobile Client ∗ Avoid local storage of sensitive data ∗ Implement secure storage when local storage needed ∗ Discard sensitive data in RAM, as soon as possible ∗ Avoid crash logs ∗ Fully validate SSL/TLS ∗ Implement local session timeout ∗ Use tokens instead of account numbers on client ∗ Obfuscate binaries to complicate reverse engineering ∗ Address Space Layout Randomization (ASLR)
  • 54. Securing Mobile Client - 2 ∗ Disable copy/paste of sensitive data ∗ Avoid using device provided identifier to identify user ∗ Create your own device id at installation/activation ∗ Build in tamper detection & handling ∗ Protect application settings – in encrypted files/code
  • 55. Securing Server Components ∗ Eliminate all HTTP traffic to secure server component ∗ Client side validation to enforce SSL ∗ Certificate pinning ∗ Implement server side validation of client input ∗ Prevent framing & clickjacking ∗ Protect against CSRF using form tokens
  • 56. Takeaway ∗ Understand your target and define your strategy ∗ Take stock and determine your stack ∗ Leverage existing services ∗ Understand your complexity and leverage cloud ∗ Robustness is key for success ∗ Security is key for survival