100
Mobile Application Development Eric Cattoir IBM Rational Client Technical Professional

Mobile application development

Embed Size (px)

DESCRIPTION

This presentation tries to give an overview of the fascinating world of mobile development. It is not the purpose to give any details on a given technology, but it tries to give an overview of the various possibilities. Although the presentation looks at technologies and initiatives from various parts of the industry there are some more details on a certain number of IBM initiative given my background.

Citation preview

Page 1: Mobile application development

Mobile Application Development

Eric CattoirIBM Rational Client Technical Professional

Page 2: Mobile application development

© 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

Page 3: Mobile application development

3

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 4: Mobile application development

4

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 5: Mobile application development

© 2014 International Business Machines Corporation 5

Short Intro Video http://www.youtube.com/watch?v=Eegb0PDzTTI

Page 6: Mobile application development

© 2014 International Business Machines Corporation 6

Demo High Level Architecture

Page 7: Mobile application development

© 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

Page 8: Mobile application development

© 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.

Page 9: Mobile application development

© 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)

Page 10: Mobile application development

© 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

Page 11: Mobile application development

© 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

Page 12: Mobile application development

© 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

Page 13: Mobile application development

© 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

Page 14: Mobile application development

© 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

Page 15: Mobile application development

© 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?

Page 16: Mobile application development

16

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 17: Mobile application development

© 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

Page 18: Mobile application development

© 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

Page 19: Mobile application development

© 2014 International Business Machines Corporation 19

Development Lifecycle

Page 20: Mobile application development

20

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 21: Mobile application development

© 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

Page 22: Mobile application development

© 2014 International Business Machines Corporation 22

Capability View

Page 23: Mobile application development

© 2014 International Business Machines Corporation 23

Microsoft Reference Architecture

Source Microsoft Mobile Architecture Guide

Page 24: Mobile application development

© 2014 International Business Machines Corporation 24

Logical Architecture

Client Middle Tier Backend

Page 25: Mobile application development

© 2014 International Business Machines Corporation 25

Example Implementation

25

Page 26: Mobile application development

26

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 27: Mobile application development

© 2014 International Business Machines Corporation 27

Client Side

Client Middle Tier Backend

Page 28: Mobile application development

© 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)

Page 29: Mobile application development

© 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>

Page 30: Mobile application development

© 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.

Page 31: Mobile application development

© 2014 International Business Machines Corporation 31

Platform Choices

Page 32: Mobile application development

© 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

Page 33: Mobile application development

© 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

Page 34: Mobile application development

© 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

Page 35: Mobile application development

© 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

Page 36: Mobile application development

© 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

Page 37: Mobile application development

© 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

Page 38: Mobile application development

© 2014 International Business Machines Corporation 38

Comparing Dojo and JQuery

Page 39: Mobile application development

© 2014 International Business Machines Corporation 39

Mobile First Design

Page 40: Mobile application development

© 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/

Page 41: Mobile application development

© 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

Page 42: Mobile application 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

Page 43: Mobile application development

© 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

Page 44: Mobile application development

© 2014 International Business Machines Corporation 44

Preview in BrowserPerform device-specific tests in the Mobile Browser Simulator: supports Cordova and Worklight client API

Page 45: Mobile application development

© 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

Page 46: Mobile application development

© 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

Page 47: Mobile application development

© 2014 International Business Machines Corporation 47

Integrated Device SDKs

Page 48: Mobile application development

© 2014 International Business Machines Corporation 48

Edit within Worklight Studio

Page 49: Mobile application development

© 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

Page 50: Mobile application development

© 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

Page 51: Mobile application development

© 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

Page 52: Mobile application development

© 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

Page 53: Mobile application development

© 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

Page 54: Mobile application development

© 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

Page 55: Mobile application development

© 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

Page 56: Mobile application development

© 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

Page 57: Mobile application development

© 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

Page 58: Mobile application development

© 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

Page 59: Mobile application development

59

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 60: Mobile application development

© 2014 International Business Machines Corporation 60

Server Side

Client Middle Tier Backend

Page 61: Mobile application development

© 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.

Page 62: Mobile application development

© 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

Page 63: Mobile application development

© 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

Page 64: Mobile application development

© 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);

Page 65: Mobile application development

© 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

Page 66: Mobile application development

© 2014 International Business Machines Corporation 66

Node-red Example

Page 67: Mobile application development

© 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.

Page 68: Mobile application development

© 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

Page 69: Mobile application development

© 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.

Page 70: Mobile application development

© 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

Page 71: Mobile application development

© 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.

Page 72: Mobile application development

© 2014 International Business Machines Corporation 72

Key-value store

Key Opaque Blob of data.

aggregate

Value

Page 73: Mobile application development

© 2014 International Business Machines Corporation 73

Document database

Key

value

Some structured data, with limits on types.

aggregate

Page 74: Mobile application development

© 2014 International Business Machines Corporation 74

Column Store

Page 75: Mobile application development

© 2014 International Business Machines Corporation 75

Graph

Page 76: Mobile application development

© 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

Page 77: Mobile application development

© 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

Page 78: Mobile application development

© 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

Page 79: Mobile application development

© 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

Page 80: Mobile application development

© 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

Page 81: Mobile application development

© 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

Page 82: Mobile application development

© 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

Page 83: Mobile application development

© 2014 International Business Machines Corporation 83

Upload your code and run your application in seconds

Run Your Apps

Page 84: Mobile application development

© 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

Page 85: Mobile application development

© 2014 International Business Machines Corporation 85

The Mobile Backend Starter application is a pre-defined set of mobile services that make sense together

Page 86: Mobile application development

© 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

Page 87: Mobile application development

© 2014 International Business Machines Corporation 87

http://www.bluemix.net

Page 88: Mobile application development

© 2014 International Business Machines Corporation 88

Mobile Security Considerations

Page 89: Mobile application development

© 2014 International Business Machines Corporation 89

Security Framework

Page 90: Mobile application development

© 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

Page 91: Mobile application development

© 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

Page 92: Mobile application development

92

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 93: Mobile application development

© 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?

Page 94: Mobile application development

© 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

Page 95: Mobile application development

© 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

Page 96: Mobile application development

© 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/

Page 97: Mobile application development

97

Agenda

Introduction Mobile Application Development Reference Architectures Mobile Applications

Client Side Server Side

Mobile Testing Summary

Page 98: Mobile application development

© 2014 International Business Machines Corporation 98

Bringing it all Together

Page 99: Mobile application development

© 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/

Page 100: Mobile application development

© 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/