Mobile Application Development
Eric CattoirIBM Rational Client Technical Professional
© 2014 International Business Machines Corporation 2
Disclaimer
• This presentation is based on a lot of sources – See also references slide in back
• Purpose is to give an overview – not to be complete on any of the technologies
• Things in this world are evolving quickly
• We discuss a lot of industry initiatives with some focus on how IBM fits in there
3
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
4
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
© 2014 International Business Machines Corporation 5
Short Intro Video http://www.youtube.com/watch?v=Eegb0PDzTTI
© 2014 International Business Machines Corporation 6
Demo High Level Architecture
© 2014 International Business Machines Corporation 7
What has changed in society?
• A fundamental change in communication occurred Texting, Twittering and Facebooking have made social networking the
base of next-generation communication
A third generation of communication is leading and is based on: Real time connection between people Smart and geographically-aware devices Cheap bandwidth
• A fundamental change in collaboration capabilities occurred Today people can collaborate synchronously and asynchrounously Wikis, collaboration tools, chats, web conferences, video streams.... Barriers become more important to overcome in today’s globalized
environment
© 2014 International Business Machines Corporation 8
What has changed in IT?
A fundamental change in IT innovation occurred In the past, enterprise IT lead the way
New systems made their way from large companies, to small businesses, to home office applications, and
finally to consumers, including students and
children
– Today, consumers are leading the way
• Consumer services, social sites and interactive
games are making their way into businesses
• The consumarization of IT is also underway Employees are using popular "consumer market" technologies and devices
at home and then introducing them in the workplace Employees are also leveraging social media and networking sites like
Facebook and Twitter.
© 2014 International Business Machines Corporation 9
What is meant by Systems of Engagement?
General definition: Systems of Engagement is a solution (“Systems”) which has multiple ways how users can “engage” (interact) focusing on communication and collaboration across boundaries becoming more consumer oriented and increasing efficiency and productivity.
“Empower customers, employees and partners with context-rich apps and smart products to help them decide and act immediately in their moments of need.” (Forrester’s
definition of SoE with input from Geoffry Moore)
© 2014 International Business Machines Corporation 10
Business Model
•Free version – key features•Premium versions (paid)
• Business• Business Plus• Executive
•Revolution & evolution in the job market scenarios
Social & People Centric•Quickly build a professional social network•Publish your professional profile•Visibility to your connections profiles•Easily join professional groups•Endorse others with skills•Recommend others to help job finding•Efficient job hunting•Integrated messaging/email•Connected with social tools
Example of SoE in action - Linkedin – social professional network with 225,000,000
users!
SoR to SoE
CVs + HR databases +Recommendation Letters
Linkedin(Social professional network)
Engaging aspectsExtremely Social & People CentricWeb & Mobile supportMulti-languageHighly PerformantFree & Premium
Performant•Scales to millions of users world wide•Extremely fast response time
Mobile•iOs, Android, Windows Phone•Phones & tablets
Multi-language•The app is a vailablein various languages
© 2014 International Business Machines Corporation 11
A summary comparison between Systems of Record and Systems of Engagement
Systems of Record Systems of Engagement
Orientation Data-centric User-centric
Usability User learns system System learns user
Focus Transactions Interactions
Governance Command & Control Collaboration
Value Single-Source of Truth Open Forum for Discovery & Dialog
Performance Standard
Accuracy & Completeness Immediacy & Accessibility
Policy Focus Security (Protect Assets) Privacy (Protect Users)Source: aiim & tcgAdvisors - A “Future History” of Content Management
© 2014 International Business Machines Corporation 12
Mobile in Context of Systems of Engagement
Mobile is about transacting
1
96% year to year increase in mobile cyber Monday sales between 2012 and 2011
Mobile enables the Internet of Things
91% of mobile users keep their device within arm’s reach 100% of the time
5 Trends with significant implications for the enterprise
2
43
Mobile is primary
5
90% of users use multiple screens as channels come together to create integrated experiences
Mobile must create a continuous brand experience
Global Machine-to-machine connections will increase from 2 billion in 2011 to 18 billion at the end of 2022
Insights from mobile data provide new opportunities75% of mobile shoppers take action after receiving a location based messages2
© 2014 International Business Machines Corporation 13
Mobile is primary91% of mobile users keep their device within arm’s reach 100% of the time
Mobile is primary91% of mobile users keep their device within arm’s reach 100% of the time
Insights from mobile data provide new opportunities 75% of mobile shoppers take action after receiving a location based messages
Insights from mobile data provide new opportunities 75% of mobile shoppers take action after receiving a location based messages
Mobile is about transacting96% year to year increase in mobile cyber Monday sales between 2012 and 2011
Mobile is about transacting96% year to year increase in mobile cyber Monday sales between 2012 and 2011
Mobile must create a continuous brand experience90% of users use multiple screens as channels come together to create integrated experiences
Mobile must create a continuous brand experience90% of users use multiple screens as channels come together to create integrated experiences
Mobile enables the Internet of ThingsGlobal Machine-to-machine connections will increase from 2 billion in 2011 to 18 billion at the end of 2022
Mobile enables the Internet of ThingsGlobal Machine-to-machine connections will increase from 2 billion in 2011 to 18 billion at the end of 2022
A business in motion must be mobile first
© 2014 International Business Machines Corporation 14
85% of adults who have completed a mobile transaction in the past year expect the experience to be better than using a laptop or desktop computer
Yet 41% of comments about the top mobile companies expressed frustration
Source: Harris Interactive Survey of Mobile User Experience March 2011
Expectations versus Realities
© 2014 International Business Machines Corporation 15
The same percentage of developers who claim Testing and Quality Assurance is in their top 5 concerns…
Also claim they are challenged with developing applications as quickly as management wants
SD Times: “More than half of organizations are building mobile applications” http://www.sdtimes.com/link/36553
Quality versus Time, who hasn’t faced this challenge?
16
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
© 2014 International Business Machines Corporation 17
Why mobile development is different
Development is different.Mobile apps are different.
• They are more strategic – Greater urgency and immediacy of engagement
• The risk is more visible – app stores show ratings and comments and can prevent user adoption
• They are context-aware – know where you are and what you are doing
• They run on unstable networks–interruption is the norm, not the exception
• Smaller footprint – More challenging to make compelling and easy to use
• Always on – An opportunity to deliver greater value
• Faster development cycles drives automation demand
• More devices to support, each with its own set of capabilities, OS and UI behaviors
• More development approaches to choose from – Web, HTML, Native
• More third-party and open-source tools, frameworks and libraries to choose from
• One constant exception: enterprise software services coordination
© 2014 International Business Machines Corporation 18
Mobile Lifecycle Management & Testing
Data Access & Integration
Building & Deploying Mobile Apps
Secure code and reuse across platforms
Management needs for B2C / B2B / B2E
Analytics & continuous improvement
Address multi-channel and multi-tier
Rapid Prototyping
Access to device inventory
Test automation & planning
Lifecycle management
Team collaboration & automation
Fit within existing enterprise development process
Short project cycles & integration effort
Different data usage patterns for mobile
Content delivered in context
Driving engagement (push) across multi-tier systems
How do I develop & deliver across platforms?
How do I test and manage the lifecycle of the app?
How do I integrate into existing systems?
Mobile app development imperatives and challenges
© 2014 International Business Machines Corporation 19
Development Lifecycle
20
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
© 2014 International Business Machines Corporation 21
IBM introduces the IBM MobileFirst offering portfolio
AnalyticsSecurityManagement
IBM & Partner Applications
Application Platform and Data Services
Banking Insurance Transport Telecom Government
Industry Solutions
HealthcareRetail Automotive
Application & Data Platform
Str
ateg
y &
Des
ign
Ser
vice
sD
evelop
men
t & In
tegratio
n S
ervicesCloud & Managed Services
Devices Network Servers
© 2014 International Business Machines Corporation 22
Capability View
© 2014 International Business Machines Corporation 23
Microsoft Reference Architecture
Source Microsoft Mobile Architecture Guide
© 2014 International Business Machines Corporation 24
Logical Architecture
Client Middle Tier Backend
© 2014 International Business Machines Corporation 25
Example Implementation
25
26
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
© 2014 International Business Machines Corporation 27
Client Side
Client Middle Tier Backend
© 2014 International Business Machines Corporation 28
Client Architecture Choices
WebApplication
Desktop and mobile using open webprogramming models
Limited to no device-specific functionality
Native Mobile Application
Mobile only, using native languages
Native appearance, device capabilities, performance
Mobile Web Application
Mobile only using open web client programming models
Hybrid Mobile Application
Mobile only, app runs on device leveraging open web via JavaScript bridge
Native device capabilities
Mobile Browser Execution Application Store download and install
Richness of Mobile Presentation / Services
Portability (cross-device reuse)
Maintenance Cost (TCO)
© 2014 International Business Machines Corporation 29
Publish in AppStoreClient Architecture Choices
Native code
Access to full set of lower-level device capabilities
Native Appl.
Device APIs
10010101010111010010100100101011101001001101010101010010010010111100100110010101010010101010100101010101010101010101111110
HTML, JavaScript, CSS, with optional native code
Installed and run like a native mobile app; mobile-optimized UI
Access to lower-level device capabilities
Native Shell
Web Native
Device APIs
<!DOCTYPE html PUBLIC
created
100101010101110100101010
HTML, JavaScript, CSS
Accessed from a mobile web browser; mobile-optimized UI
Limited access to lower-level device capabilities
HTML, JavaScript, CSS
Accessed from a mobile web browser
No device-specific capabilities
Mobile Browser
Web Code<!DOCTYPE html PUBLIC<html><! - - created 2003-12-12 - - <head><title>XYZ</title></head><body></p>
WebWeb Mobile WebMobile Web Hybrid MobileHybrid Mobile NativeNative
Richness of Mobile Presentation / Services
Portability (cross-device reuse)
Maintenance Cost (TCO)
Mobile Browser
Web Code<!DOCTYPE html PUBLIC<html><! - - created 2003-12-12 - - <head><title>XYZ</title></head><body></p>
© 2014 International Business Machines Corporation 30
HTML5 is both an app deployment platform (on-browser) and a technology for creating native apps (off-browser). 37% of mobile developers use as a platform, i.e. to develop mobile websites, or web-apps. An additional 15% of app developers use HTML5 beyond the browser, via hybrid apps or HTML5-to-native tools.
HTML5 is both an app deployment platform (on-browser) and a technology for creating native apps (off-browser). 37% of mobile developers use as a platform, i.e. to develop mobile websites, or web-apps. An additional 15% of app developers use HTML5 beyond the browser, via hybrid apps or HTML5-to-native tools.
Technology Choices – See study from Vision Mobile
2013 was a year that cemented the Android/iOS duopoly beyond any doubt. Android reached 81% of smartphone sales in Q3 2013. Moreover, Android continues to dominate Developer Mindshare with 71% of developers that target mobile platforms, developing for Android, according to our latest survey of 7,000+ developers. With the market flooded with Android handsets, the surprising fact is that Android’s Developer Mindshare has not increased any further.
2013 was a year that cemented the Android/iOS duopoly beyond any doubt. Android reached 81% of smartphone sales in Q3 2013. Moreover, Android continues to dominate Developer Mindshare with 71% of developers that target mobile platforms, developing for Android, according to our latest survey of 7,000+ developers. With the market flooded with Android handsets, the surprising fact is that Android’s Developer Mindshare has not increased any further.
on HTML5 vs. native development, off-browser routes like PhoneGap, Appcelerator or FireFox OS can mitigate issues relating to performance or API access. In spite of these issues, HTML5 remains a very attractive cross- platform development route for developers, 16% of whom indicate their intention to adopt the platform.
on HTML5 vs. native development, off-browser routes like PhoneGap, Appcelerator or FireFox OS can mitigate issues relating to performance or API access. In spite of these issues, HTML5 remains a very attractive cross- platform development route for developers, 16% of whom indicate their intention to adopt the platform.
HTML5 has become a bit of a misnomer since it is a technology stack rather than a fully-fledged app ecosystem. Developers employ HTML5 technology in a number of ways: to develop mobile websites, web apps, hybrid apps or use HTML5 code within native apps to display web content. In that sense, HTML5 can be viewed as both a deployment platform (onbrowser) and a technology that can be used beyond the browser (off- browser), through tools such as PhoneGap, Appcelerator, Firefox OS and 10s more.
HTML5 has become a bit of a misnomer since it is a technology stack rather than a fully-fledged app ecosystem. Developers employ HTML5 technology in a number of ways: to develop mobile websites, web apps, hybrid apps or use HTML5 code within native apps to display web content. In that sense, HTML5 can be viewed as both a deployment platform (onbrowser) and a technology that can be used beyond the browser (off- browser), through tools such as PhoneGap, Appcelerator, Firefox OS and 10s more.
Firefox OS now claims a 7% Developer Mindshare which is by no means competitive, but presents a solid foothold for a platform that launched a commercial handset just six months ago. On top of that, 14% of developers indicated that they plan to adopt the platform. Mozilla aims to create an app ecosystem centred around HTML5, by adding ecosystem features and capabilities that are currently missing: web app discovery, distribution, and monetisation.
Firefox OS now claims a 7% Developer Mindshare which is by no means competitive, but presents a solid foothold for a platform that launched a commercial handset just six months ago. On top of that, 14% of developers indicated that they plan to adopt the platform. Mozilla aims to create an app ecosystem centred around HTML5, by adding ecosystem features and capabilities that are currently missing: web app discovery, distribution, and monetisation.
© 2014 International Business Machines Corporation 31
Platform Choices
© 2014 International Business Machines Corporation 32
IOS Development
• Requires Mac• IDE Xcode• Language : Objective C
Alternative C, C++ MonoTouch C# using Xamarin
• Deployment through Appstore
© 2014 International Business Machines Corporation 33
Android Development
• Mac, Linux or Windows• IDE Android SDK (Android
Studio in prerelease)• Language : Java
Alternative C, C++ MonoDroid C#
• Deployment through Play Store or by installing APK
© 2014 International Business Machines Corporation 34
Windows Phone Development
• Windows• IDE VisualStudio• Language : C#
Alternative C, C++
• Silverlight or XNA Framework
• Deployment through Windows Phone Marketplace
© 2014 International Business Machines Corporation 35
BlackBerry Development
• Linux, Windows• IDE Momentum, Visual
Studio• Language : C,
Alternative C, C++
• Qt framework• Deployment Desktop
Manager or Blackberry Enterprise Server or Blackberry App World
© 2014 International Business Machines Corporation 36
HTML 5 Development
• Linux, Windows, Mac, Web
• IDE Many available• Language : HTML 5,
CSS, JavaScript
• Many frameworks• Deployment through
Web Server
© 2014 International Business Machines Corporation 37
Major Javascript Mobile Toolkits and Related Frameworks
Mobile Toolkits
Dojo Mobile JQuery Mobile Sencha Touch
Toolkits
Dojo Toolkit
Dojox
Dijit
Dojo Base/ CoreUtil
JQuery UI
JQuery
Sencha
Jquery MobileSencha Touch
EXT GWT
EXT JS
EXT Core
© 2014 International Business Machines Corporation 38
Comparing Dojo and JQuery
© 2014 International Business Machines Corporation 39
Mobile First Design
© 2014 International Business Machines Corporation 40
Responsive Design Simple Example@media all and (min-width: 651px) {#quotePrice: {float:left;position:relative;width:320px}
#quotePriceList: {float:left;position:relative;width:320px}
}
@media all and (max-width: 650px) {#quotePrice: {position:relative;width:320px}
#quotePriceList: {position:relative;width:320px}
}
http://www.dwuser.com/education/content/responsive-design-a-crash-course-and-demo/
http://www.dwuser.com/education/content/creating-responsive-tiled-layout-with-pure-css/
© 2014 International Business Machines Corporation 41
• Accelerate Development Web, hybrid, and native development: open,
flexible, standard-based, multi-screen/omni-channel
Functional testing Development lifecycle tools and integration
• Facilitate App Security and Trust Server-enforced authentication App authenticity and user-app-device binding Secure and syncable on-device storage App version enforcement
• Enable User Engagement Unified push and SMS notifications Geolocation and context collections and
intelligence Mobile-friendly integration
• Support Mobile Analytics Efficient acquisition of analytics data Development, operational, and business
analytics Offline and online event management integration
IBM Worklight: A mobile application platformExample of Hybrid Development
© 2014 International Business Machines Corporation 42
Feedback Management
Reporting for Statisticsand Diagnostics
Pu
blic A
pp
Sto
res
Worklight Application Center
Development Team Provisioning
App Feedback Management
Enterprise App Provisioning and Governance
22 Device Runtime
Cross-Platform Compatibility Layer
Encrypted and Syncable Storage
Runtime Skins
Server Integration Framework
Ap
pli
cati
on
Co
de
33
Worklight Console
55
Unified Push and SMS Notification
Development and Operational Analytics
App Version Management
En
terp
rise
Bac
ken
d S
yste
ms
&
Clo
ud
Ser
vice
s
Worklight Server
User Authentication and Mobile Trust
Mashups and ServiceComposition
JSON Translation
Adapter Library for Backend Connectivity
Sta
ts a
nd
Lo
gs
Ag
gre
ga
tio
n
Unified PushNotifications
Client-SideApp Resources
Direct Update
Mobile Web Apps
44
Geolocation Services
HTML5, Hybrid, and Native Coding
Optimization Framework
Integrated Device SDKs
3rd Party Library Integration
Build Engine
Worklight Studio
SDKs
Functional Testing
WYSIWG Editor and Simulator
Blackberry
Android
iOS
Windows Phone
Java ME
Windows 8
Mobile Web
Desktop Web
11
Enhanced crash & platform-level exception capture
Location-based event handling
Worklight Components
© 2014 International Business Machines Corporation 43
Worklight Studio
• Eclipse Based IDE• Native, hybrid and standard web development• Environment-specific optimization• Native development options• Runtime skins• 3rd-party library integration
• Device SDK integration• Access to emulators and debugging tools• Supports auto-complete and validation
HTML5, Hybrid, and Native
Optimization FrameworkIntegrated
Device SDKs3rd Party Library
Integration
Build Engine
Worklight Studio
SDK's
Functional Testing
WYSIWG Editor and Simulator
Blackberry
Android
iOS
Win Phone
Java ME
Windows 8
Mobile WebDesktop Web
© 2014 International Business Machines Corporation 44
Preview in BrowserPerform device-specific tests in the Mobile Browser Simulator: supports Cordova and Worklight client API
© 2014 International Business Machines Corporation 45
Worklight Studio – Common Code Structure
• common resources serve as the basis for the optimized environments that may be added later.
hold resources that are shared by all environments.
• lib directory stores 3rd party library files for the project
• js (JavaScript files) auth.js – authentication messages.js – internationalization myApp.js – application code
• MyApp.html file is initially configured as main file application-descriptor.xml
contains reference to "mainfile“ enable authentication (onDemand, onStartup) worklightRootURL (application URL) environment specific references
© 2014 International Business Machines Corporation 46
Worklight Studio - Environment Optimization
HTML files from an environment folder will override files in the common folder
images from an environment folder will override files in the common folder
JavaScript from an environment folder is appended to the same file in the common folder
CSS files from an environment folder will be appended to the CSS files in the common folder
© 2014 International Business Machines Corporation 47
Integrated Device SDKs
© 2014 International Business Machines Corporation 48
Edit within Worklight Studio
© 2014 International Business Machines Corporation 49
Rich Page Editor (WYSIWYG UI Construction)
• Eclipse perspective for Worklight projects.
• Optimized layout for hybrid app development
• Rich page editor: drag-and-drop, palette of components, properties view, beautified outline, and raw editable source code
• Changes to code automatically apparent in rich page editor, and vice-versa, for quick development
Supporting JQuery Mobile and dojox.mobile with a Visual UI Editor
© 2014 International Business Machines Corporation 50
Mobile Functional Test Tools
• Create, run, and automate tests on mobile applications
• Improve quality and time-to-value with industry-first app testing
Create resilient and code-less test cases Record once, play back on multiple
devices
• Standardized, eclipse based• Comprehensive – Android and iOS,
Native and hybrid• Complete – Recording, editing, and
running on mobile devices
• Resilient – Same test runs across multipledevices
• Also for non-developers – Scripts in natural language description
New in Worklight 6.0
New in Worklight 6.0
© 2014 International Business Machines Corporation 51
Centralized Build
Create an Worklight project and application in Eclipse via Worklight Studio
Add a mobile environment of your choosing
Add app content
Build and deploy it to the Worklight Server
Use the specific environment tools to deploy to device Eclipse for Android Xcode for iOS Visual Studio for Windows Phone Ripple for BlackBerry
WorklightBuild System
SourceCode
Repository
Worklight Application Center
© 2014 International Business Machines Corporation 52
Worklight Studio: Back-end Integration
• Secure back-end integration with Worklight Adapters
• Out of the box support for SQL, HTTP (REST and SOAP), Cast Iron, and JMS Adapters
• XML-based declarative specification and JavaScript programming
• Multi-source data mashups and back-end service composition
• Simplified adapter testing • Access to session data and
user properties• Server-side debugging
© 2014 International Business Machines Corporation 53
Application Center
• The Worklight Application Center enables companies to easily set up an enterprise app store for their enterprise and development teams.
• The Application Center provides: Administrators with fine-grained control
over the distribution of mobile apps across the enterprise, including ACL and LDAP support;
Employees with a central location for the latest apps needed by their department and optimized for their device;
Developers with an easy way to distribute mobile builds and elicit feedback from development and test team members.
Pu
blic A
pp
Sto
res
Worklight Application Center
Development Team Provisioning
App Feedback Management
Enterprise App Provisioning and Governance
22
© 2014 International Business Machines Corporation 54
Worklight Server
• Adapters with support for SOAP, REST, SQL, JMS, IBM Cast Iron, and Node.js (preview in 6.0)
• Performs Data Transformation to streamline back-end data for mobile consumption
• Server and device Security control• Supports Physical Clustering for high
availability• Controls Application Deployment and
Versioning• Push Notification administration• Analytics including user adoption,
usage data, app crash and exceptions
En
terp
rise
Bac
ken
d S
yste
ms
&
Clo
ud
Ser
vice
s
Worklight Server
User Authentication and Mobile Trust
Mashups and ServiceComposition
JSON Translation
Adapter Library for Backend Connectivity
Sta
ts A
gg
reg
atio
n
Unified PushNotifications
Client-SideApp Resources
Direct Update
Mobile Web Apps
© 2014 International Business Machines Corporation 55
Worklight Runtime – Direct Update On-device Logic
1. Web resources packaged with app to ensure initial offline availability
2. Web resources transferred to app's cache storage
3. App checks for updates on startup and foreground events
4. Updated web resources downloaded when necessary, with user confirmation or silently
Worklight Server
Native Shell
Pre-packaged resources
Pre-packaged resources
1 Download
4 Update web resource
App Store
Web resources
Web resources
Cached resourcesCached
resources
2 Transfer
3 Check for updates
© 2014 International Business Machines Corporation 56
Geo-location Scenarios
Routing trucks arriving at warehouse
Location-aware security for hospital app
Username
Password
SubmitSubmit✔
?
Automatic Check-In
Automatic Check-In
............
…
…… …… ……
Automated hotel check-in
More engaging mall experience
SMS, Push
© 2014 International Business Machines Corporation 57
Worklight Console• Application Version Management
Install, update, disable, enable
• Push management• Configurable audit log• Administrative dashboards for:
Deployed applications Installed adapters Push notifications
• Development and Operational Analytics
Device Runtime
Cross-Platform Compatibility Layer
Encrypted and Syncable Storage
Runtime Skinning
Server Integration Framework
Ap
pli
cati
on
Co
de
33
Worklight Console
55
Unified Push and SMS Notification
Development and Operational Analytics
App Version Management
En
terp
rise
Bac
ken
d S
yste
ms
&
Clo
ud
Ser
vice
s
Worklight Server
User Authentication and Mobile Trust
Mashups and ServiceComposition
JSON Translation
Adapter Library for Backend Connectivity
Sta
ts A
gg
reg
atio
n
Unified PushNotifications
Client-SideApp Resources
Direct Update
Mobile Web Apps
44
Geolocation Services
© 2014 International Business Machines Corporation 58
Unified Push Notifications
Back-end SystemBack-end SystemBack-end SystemBack-end System
Back-end SystemBack-end SystemBack-end SystemBack-end System
Polling Adapters
Message-based Adapters
Unified Push API
Notification State Database
User-Device Database
iOS Dispatcher
Android Dispatcher
BlackBerry Dispatcher(roadmap)
Windows Phone Dispatcher
SMS Dispatcher
Apple Push Servers (APN)
Google Push Servers (GCM)
RIM Push Servers
Microsoft Push Servers
SMS/MMS Brokers
Administrative Console
Worklight Client-side Push Services
iOSPush API
Android Push API
BlackBerryPush API
WindowsPush API
Broker API
Uniform access to push notifications providers‒ Register for, Notify and Receive a notification
Register for and Send SMS based notifications‒ E.g., for JME
Worklight Client-side Push Services
Worklight Client-side Push Services
Worklight Client-side Push Services
59
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
© 2014 International Business Machines Corporation 60
Server Side
Client Middle Tier Backend
© 2014 International Business Machines Corporation 61
Middleware Choices
• SOAP defines a standard communication protocol (set of rules) specification for XML-based message exchange. SOAP uses different transport protocols, such as HTTP and SMTP. The standard protocol HTTP makes it easier for SOAP model to tunnel across firewalls and proxies without any modifications to the SOAP protocol. SOAP can sometimes be slower than middleware technologies like CORBA or ICE due to its verbose XML format.
• REST describes a set of architectural principles by which data can be transmitted over a standardized interface (such as HTTP). REST does not contain an additional messaging layer and focuses on design rules for creating stateless services. A client can access the resource using the unique URI and a representation of the resource is returned. With each new resource representation, the client is said to transfer state. While accessing RESTful resources with HTTP protocol, the URL of the resource serves as the resource identifier and GET, PUT, DELETE, POST and HEAD are the standard HTTP operations to be performed on that resource.
© 2014 International Business Machines Corporation 62
Implementing Backend Services
• Provide Data and Operations for Mobile Frontend• Many Possible Technology choices
J2EE Stack Microsoft .Net Stack PHP Node.JS Python …
• Choice Depends on Skills Available infrastructure Integration Requirements History
© 2014 International Business Machines Corporation 63
Node.js
• JavaScript escapes from the browser!
• A tiny (5.6MB install) runtime for creating web Servers using JavaScript that is generating a lot of interest
• Part of the 'JavaScript everywhere' thing
• See Jerry Cuomo talking about it here
© 2014 International Business Machines Corporation 64
Node.js simple example
var express = require('express');var app = express();
app.get('/nl', function(req,res){ res.send('Hallo wereld');});
app.get('/fr', function(req,res){ res.send('Bonjour tout le monde');});
var port=8080;app.listen(port);
© 2014 International Business Machines Corporation 65
Node.js Package Manager
• Easy to Install Additional Packages from Central Repository
Example npm -install express
• Allows you to add additional functions
Large set of modules available Eg. Node-red visual tool for wiring
the internet of things
• Thousands of Packages available Example Node-red IBM Emerging
Technologies around Internet of Things
© 2014 International Business Machines Corporation 66
Node-red Example
© 2014 International Business Machines Corporation 67
Relational Databases……
tables of rows (tuples)columns have a single (typed) value.All Operations take and return tuples
a powerful simple general model
Atomic
Consistent
Independent
Durable
Transactions across ALL the data.
© 2014 International Business Machines Corporation 68
App1
App3
App2
RelationalDB
Relational DBs allow multiple applications to share database.
Integration Databases Application Databases
App / service
1990s2000s
Nosql or Relational
DB
Trend is to dedicated databases & SOA
© 2014 International Business Machines Corporation 69
Problems with relational databases
• Mismatched to in-memory object model. Led to ORMs and Object databases.
• Prevalence of “Graph” problems.
• Scale up not scale out.
© 2014 International Business Machines Corporation 70
Relational databases Some Nosql DBs:
ACID Transactions Eventual Consistency
Transactions across all data Limited scope transactions
Flat relational model Aggregates in the data model.
Must Scale Up Can Scale Out
© 2014 International Business Machines Corporation 71
NoSQL Data Models
NosqlData Model
graph
aggregate
Key value
Document
Column store
• Concept of an Aggregate Collection of data that we access together. Boundaries for ACIDity Aggregates make it easy for the database to manage and distribute data.
© 2014 International Business Machines Corporation 72
Key-value store
Key Opaque Blob of data.
aggregate
Value
© 2014 International Business Machines Corporation 73
Document database
Key
value
Some structured data, with limits on types.
aggregate
© 2014 International Business Machines Corporation 74
Column Store
© 2014 International Business Machines Corporation 75
Graph
© 2014 International Business Machines Corporation 76
C
A
P
Availability:Each client can always read and and write
Consistency:All clients always have the same view of the data
Partition Tolerance:The system tolerates communication failures.
Pick Two
CP
CA AP
BigTableHbase
MongoDBTerrastore
BerkleyDBMemcacheDBRedis
DB2Mysql
OraclePostgres
DynanamoVoldemortKAI
CassandraSimpleDBCouchDB (E.g IBM Cloudant)Riak
RelationalKey-ValueColumn-OrientedDocument-OrientedGraph
Data Models
Based on Nathan Hurst’s Blog
neo4J
CAP & Data Model classification
© 2014 International Business Machines Corporation 77
Run Your AppsThe developer can chose any language runtime or bring their own. Just upload your code and go.
DevOpsDevelopment, monitoring, deployment and logging tools allow the developer to run the entire application
APIs and ServicesA catalog of open source, IBM and third party APIs services allow a developer to stitch together an application in minutes.
Cloud Integration
Build hybrid environments. Connect to on-premises systems of record plus other public and private clouds. Expose your own APIs to your developers.
Extend SaaS Apps
Drop in SaaS App SDKs and extend to new use cases (e.g,. Mobile, Analytics, Web)
IBM BlueMix
© 2014 International Business Machines Corporation 78
New Applications Create New Developer Needs
Environments set up in minutes versusdays or weeks
Choice: Languages, Services and Tools
Friction free way to experiment with new middleware capabilities
Self service environment to deploy, scale and monitor applications
Securely connect to and integrate with existing applications data
© 2014 International Business Machines Corporation 79
CloudOperating
Environment
DevelopmentServices
DevelopmentServices
OperationalServices
OperationalServices
Infrastructure
Services
Infrastructure
Services
ApplicationServices
ApplicationServices
CREATE CONSUME
CAPACITYCONTROL
• Enable applications to be rapidly & incrementally composed from services
• Deliver application changes continuously• Enable continuous availability• Support fit-for-purpose programming
models & services• Embed manageability of services &
application• Workload Optimized & Elastic
APIsAPIs
APIsAPIs
APIsAPIs
APIsAPIs
APPLICATIONS / WORKLOADSAPPLICATIONS / WORKLOADS
• Persistence• Messaging & Workflow• Scripting & Programming
Languages
• Compute, Storage, Network
• Clustering & Elasticity
• Logging• Monitoring• Security
• Code Repository & Version control
• Continuous build & Test
Cloud Operating Environment Architecture
© 2014 International Business Machines Corporation 80Standardization; OPEX savings; faster time to value
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Traditional On-Premises
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Platformas a Service
Networking
Storage
Servers
Virtualization
O/S
Middleware
Runtime
Data
Applications
Softwareas a Service
Networking
Storage
Servers
Virtualization
Middleware
Runtime
Data
Applications
Infrastructureas a Service
O/S
Vendor Manages in CloudClient Manages
aaS – split of provider- and consumer-side responsibilities
© 2014 International Business Machines Corporation 81
Workload definition, Optimization, & OrchestrationWorkload definition, Optimization, & Orchestration
SoftwareDefined
Environment
SoftwareDefined
EnvironmentSoftware Defined Compute Software Defined Storage
Software Defined Networking
Resource Abstraction & Optimization
datastoredatastore mobilemobile devdevopsopsmiddlewaremiddleware ServicesServices
Traditional Workloads
Traditional Workloads
Services & Composition Patterns API & Integration API & Integration ServicesServices
Traditional Traditional WorkloadsWorkloads
securitysecurity
cloudfoundry.org
OPEN ecosystem of composable services
Optimized workload deployment
Integration patterns with systems of record
CapabilityValueFast, automated composition of services
Repeatable patterns-of-expertise
Hardware
Cloud Operating
Environment
Developer centric platform, marketplace & services in a Cloud Operating Environment
© 2014 International Business Machines Corporation 8282©2014 IBM Corporation
Continuing our history of embracing and extending Open Source
Embracing Cloud Foundry As An Open Source PaaS
© 2014 International Business Machines Corporation 83
Upload your code and run your application in seconds
Run Your Apps
© 2014 International Business Machines Corporation 84
Dev Ops
Liberty for Java
RubyNode.js “Bring Your Own Buildpack”
SQL Database
JSON Database
Mongo DB PostgreSQL
Mobile Data
Data ManagementServices
MQTT
CloudCode Mobile App Mgmt
Mobile Services
Mobile Quality Assurance
BLU Data Warehouse
MySQL
Twilio
Data Cache Session Cache
Elastic MQ
Web & AppApplication
Decision SSO Redis
MapReduce
RabbitMQ Log Analysis
Historian
Internet Of Things
Push
Runtimes
Monitoring and Analytics
Git Hosting
DeploymentAutomation
Web IDE Agile Development
A broad range of runtimes & services
© 2014 International Business Machines Corporation 85
The Mobile Backend Starter application is a pre-defined set of mobile services that make sense together
© 2014 International Business Machines Corporation 86
Looking at the boilerplate, a mobile developer can get an idea of the types of services available in the boiler plate application
© 2014 International Business Machines Corporation 87
http://www.bluemix.net
© 2014 International Business Machines Corporation 88
Mobile Security Considerations
© 2014 International Business Machines Corporation 89
Security Framework
© 2014 International Business Machines Corporation 90
Billions of smart devices instrument our world today
Interconnecting these smart devices creates a Central Nervous System
The Internet of Things
© 2014 International Business Machines Corporation 91
Why MQTT design goals (1998)
• MQTT == MQ Telemetry Transport• The MQTT specification is open and royalty free
for ease of adoption http://www.ibm.com/developerworks/webserices/
library/ws-mqtt/index.html
• Open-source implementations available• A Publish Subscribe messaging protocol allowing
a message to be published once and multiple consumers (applications / devices) to receive the message
Support loose coupling Durable and non durable subscriptions A publication may be retained
• Designed for constrained devices Tiny footprint MQTT client (and server) libraries E.g. a c client lib in 30Kb and a Java lib in 64Kb Suited to applications / devices that may have very
limited processing resources available 8 Bit controllers upwards
92
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
© 2014 International Business Machines Corporation 93
The Quality of mobile applications is critical
93
Mobile apps can increase customer interaction, improve productivity and offer access to new markets. But poor quality can have a real impact on business.
The number of mobile devices and platforms is continuously growing, and the pace of delivery and response to customer feedback is a growing challenge.
The mobile ecosystem extends back-end services and integrated platforms which complicates end-to-end application testing.
How can we ensure software quality in a cost effective way?
© 2014 International Business Machines Corporation 94
41% of projects fail to deliver expected business ROI
Quality Management for Systems of Engagement
Accelerating delivery of high quality, multi-tiered mobile applications
Solutions to improve ROI:
1. Automate UI and Performance tests for mobile apps
2. Virtualize back-end services to maintain agility
3. Improve manual test case management and optimize execution across multiple mobile devices
4. Extend Worklight with automated testing
Cross cutting mobile themes, addressed by Rational Software
© 2014 International Business Machines Corporation 95
Mobile Test Automation Support for native, and hybrid applications running on
Android and iOS Natural language test and visual test editing Simplified IDE and mobile device clients for test
authoring, execution, and reporting High-fidelity capture an replay of multi-touch events
Eclipse Client integration Mobile Test Automation Support for Selenium web GUI test automation Multi-channel test scenarios Integration with Rational Quality Manager and the IBM
Worklight mobile development platform
End-to-end mobile testing Testing of middle-tier and back end-services Virtualization of middle-tier and back-end systems Performance testing of your integration infrastructure
Mobile Test Automation with IBM Rational Test Workbench
© 2014 International Business Machines Corporation 96
End-to-end Mobile Application Testing
• Examine integration protocols and messages to verify end-to-end communication
• Reuse integration tests to verify the scalability of your integration middleware and services infrastructure
• Virtualize application services to enable continuous integration, accelerate testing, and reduce application integration risk
• Leverage Rational Test Workbench extensive testing features to address non-mobile components of your environment
Test and Virtualize mid-tier and back end applications and services
Client Tier
Middle Tier
Backend Data and Services
Virtual component or service
For more information visit: http://www-03.ibm.com/software/products/us/en/rtvs/
97
Agenda
Introduction Mobile Application Development Reference Architectures Mobile Applications
Client Side Server Side
Mobile Testing Summary
© 2014 International Business Machines Corporation 98
Bringing it all Together
© 2014 International Business Machines Corporation 99
References
• IBM Mobile Reference Architecture http://www.ibm.com/mobilefirst/us/en/
• Architecting Mobile Solutions for the Enterprise – Dino Esposito ISBN: 978-0-7356-6302-2
• Microsoft Mobile Architecture Guide• HTML 5 and CSS 3 Responsive Web Design cookbook – Benjamin Lagrone
ISBN: 978-1-84969-544-2
• SAMS Teach yourself HTML 5 in 24 hours - Jennifer Kyrnin ISBN-13: 978-0-672-33440-5
• Mobile Design Pattern Gallery – Theresa Neil ISBN: 978-1-449-31432-3
• Professional Mobile Application Development - Jeff MCWerther, Scott Gowell ISBN: 978-1-118-20390-3
• IBM Bluemix http://www-01.ibm.com/software/ebusiness/jstart/bluemix/
• IBM Institute for Business Value – Mobile study http://www-935.ibm.com/services/us/gbs/thoughtleadership/
© 2014 International Business Machines Corporation 100
References....
• IBM Rational Mobile Solutions http://www-01.ibm.com/software/rational/mobile/
• Node Red http://nodered.org/
• IBM Developerworks http://www.ibm.com/developerworks/
• MQTT http://mqtt.org/
• Vision Mobile Developer Economics Report http://www.developereconomics.com/reports/q1-2014/
• Worklight http://www-03.ibm.com/software/products/en/worklight/