Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mobile Architecture Best Practices

11,981 views

Published on

When developing mobile applications, there are a number of key challenges where architecture and design are fundamentally different from that of a typical enterprise application. We’ll review and discuss the key architectural issues in mobile application development, including performance, usability, data access, security, and connectivity

Published in: Technology
  • Dating for everyone is here: ❶❶❶ http://bit.ly/2F4cEJi ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❶❶❶ http://bit.ly/2F4cEJi ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Mobile Architecture Best Practices

  1. 1. Mobile Architecture Best Practices<br />Prepared for:<br />March 15, 2011<br />John Sprunger<br />jsprunger.com<br />jsprunger@westmonroepartners.com<br />
  2. 2. Mobile Architecture - Key Considerations<br />Why design a mobile application any differently?<br />Key problems:<br />Performance<br />Security<br />Usability<br />Data Access<br />Connectivity<br />Mobile Architecture Best Practices<br />
  3. 3. Performance<br />Mobile devices have significantly less resources<br />Performance optimization best practices generally the same<br />Limited bandwidth, slower connection speeds<br />Only retrieve data needed by the application<br />Conserve battery life, push over poll<br />Mobile Architecture Best Practices<br />
  4. 4. Security<br />No longer safe and secure within the datacenter<br />Security of communication between device and server<br />Token-based authentication<br />SSL<br />Security of data on the device<br />Store confidential data server-side<br />If necessary, decrypt using key not stored on device<br />No PHI (private health information)<br />Mobile Architecture Best Practices<br />
  5. 5. Usability<br />Make or break user acceptance<br />Follow platform-specific guidelines<br />Limited screen real estate<br />Summary / Detail / Edit<br />Environmental considerations<br />Mobile Architecture Best Practices<br />
  6. 6. Data Access<br />No more direct database access<br />API creation<br />Don’t trust API input<br />Perform checks client-side for usability<br />Perform checks again on server-side<br />Validation<br />Authorization<br />Business Logic<br />Mobile Architecture Best Practices<br />
  7. 7. Connectivity<br />Different types of connections<br />Commonly no connection at all<br />Offline access doesn’t always make sense<br />Need for real-time data<br />Need for immediate processing<br />Offline data access – Cache & Queue<br />Cache<br />Store data locally for offline access<br />Periodically retrieve fresh data<br />Expire old data<br />Queue <br />FIFO queue of updates<br />Periodically attempt to send updates<br />Save the queue to disk<br />Provide synchronization mechanism<br />Mobile Architecture Best Practices<br />
  8. 8. Questions?<br />Q&A<br />Mobile Architecture Best Practices<br />

×