Where is Mobile in Your DevOps Toolchain?

27
Where is Mobile in Your DevOps Toolchain? Jonathan Marshall, WebSphere and Mobile Technical Specialist, IBM

description

In this presentation we look at how IBM's Worklight solution fits into a DevOps toolchain. Worklight is mobile middleware that enables native and hybrid applications to communicate securely with enterprise applications running on servers and cloud services, as well as providing application management functions.

Transcript of Where is Mobile in Your DevOps Toolchain?

Page 1: Where is Mobile in Your DevOps Toolchain?

Where is Mobile in Your

DevOps Toolchain?

Jonathan Marshall, WebSphere and Mobile Technical Specialist, IBM

Page 2: Where is Mobile in Your DevOps Toolchain?

Mobile development… the moving target

Fragmentation - Which OS?

Which handset?

85% of users expect better experience

on mobile than desktop

Source:Harris Interactive Survey of User Experience

New features, fortnightly

releases

Ever-changing security

minefield

Page 3: Where is Mobile in Your DevOps Toolchain?

The IBM Mobile Development Lifecycle

Scan & Certify

Instrument

Test

Integrate Obtain Insight

Manage

Deploy

Design &

Develop

Build Functional

Test Deploy

Acceptance Test

App Store

Page 4: Where is Mobile in Your DevOps Toolchain?

The IBM Mobile Development Lifecycle

Scan & Certify

Instrument

Test

Integrate Obtain Insight

Manage

Deploy

Design &

Develop

Build Functional

Test Deploy

Acceptance Test

App Store

Page 5: Where is Mobile in Your DevOps Toolchain?

Introducing the new IBM Worklight Platform Integrated mobile app development with continuous delivery

Application Center

Quality Assurance Application

Scanning

Development Continuous Delivery

Studio Console

Server Runtime

Application Scanning Detect code vulnerabilities at the

time of development

Quality Assurance Collect beta test feedback, crashes

and analyze user sentiment

Foundation Development, Runtime, Operations

Console & Private Store

Page 6: Where is Mobile in Your DevOps Toolchain?

Developing for mobile – Consider cross-platform

iOS

Android

Windows Phone

Responsive web design

• Standards

• HTML5, CSS3, JavaScript

• Apache Cordova

• Progressive enhancement

• Your favourite JavaScript framework –

Dojo, JQuery, Sencha, etc

• Reuse of core logic, integration,

security and look and feel

Platform optimisation

• Platform-specific behaviour

• Native integration

• Separate deliverables

Page 7: Where is Mobile in Your DevOps Toolchain?

Optimize while facilitating code reuse

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

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

Mobile OS specific and

optimization code maintained in

branches

Page 8: Where is Mobile in Your DevOps Toolchain?

Spectrum of mobile app development approaches

Web-native continuum

• HTML5, JS,

and CSS3 (full

site or m.site)

• Quicker and

cheaper way to

mobile

• Sub-optimal

experience

• HTML5, JS,

and CSS

• Usually

leverages

Cordova

• Downloadable,

app store

presence, push

capabilities

• Can use native

APIs

• As previous

• + more

responsive,

available offline

• Web + native

code

• Optimized user

experience with

native screens,

controls, and

navigation

• App fully

adjusted to OS

• Some screens

are multi-

platform when

makes sense

• App fully

adjusted to OS

• Best attainable

user

experience

• Unique

development

effort per OS,

costly to

maintain

Hybrid Pure web Pure native

Mobile

web site

(browser

access)

Native

shell

enclosing

external

m.site

Pre-

package

d HTML5

resources

HTML5 +

native UI

Mostly

native,

some

HTML5

screens

Pure

native

Page 9: Where is Mobile in Your DevOps Toolchain?

Test early with Mobile Browser Simulator

• Device specific tests early during development.

• Change device types, orientation, device settings (GPS, accelerometer, etc…)

• Supports Cordova and Worklight client API

Page 10: Where is Mobile in Your DevOps Toolchain?

The IBM Mobile Development Lifecycle

Scan & Certify

Instrument

Test

Integrate Obtain Insight

Manage

Deploy

Design &

Develop

Build Functional

Test Deploy

Acceptance Test

App Store

Page 11: Where is Mobile in Your DevOps Toolchain?

Mobile apps

Challenges of integration

Enterprise Services

Speed of change

Page 12: Where is Mobile in Your DevOps Toolchain?

Mobile apps

Worklight adapters speed up integration

Enterprise Services

Worklight Server

Integration

Push notification

• Mobile-specific content optimises number of calls and amount of data

• Application-specific content can offload processing and caching requirements

to the server-side

• Shares common skills with the client-side, namely JavaScript. Adapters have

out of the box integration with REST, Web Services, JMS, DB, SAP

• Focus point for security, management and monitoring of interfaces

Enforce security

Page 13: Where is Mobile in Your DevOps Toolchain?

The IBM Mobile Development Lifecycle

Scan & Certify

Instrument

Test

Integrate Obtain Insight

Manage

Deploy

Design &

Develop

Build Functional

Test Deploy

Acceptance Test

App Store

Page 14: Where is Mobile in Your DevOps Toolchain?

Mobile Functional Test Tools Comprehensive, complete, resilient functional testing

Android and iOS, native and hybrid

HTML and JQuery

Record, edit, and run on mobile devices or emulator

Same test runs across multiple devices in the platform family

Natural language scripts can be used by developers and non-

developers alike

Simple process

1. Record

2. Author

3. Playback

4. Report

Page 15: Where is Mobile in Your DevOps Toolchain?

Evidence-based prioritization – enable business

and IT to collaborate on mobile strategy and user

experience

Over the air app distribution – get the latest in the

hands of testers as soon as it is available

Frictionless bug reporting – spend every minute on

testing latest and greatest builds, not the hassles

In-app crash reporting – rapid understanding of

why an app fails

Sentiment analysis – mine app ratings and reviews

to extract actionable feedback before they go viral

Introducing IBM Worklight Quality Assurance

Delivers mobile app quality across a fragmented environment with end user

feedback and quality metrics available at every stage of development.

Quality

Assurance

User Feedback

Crash logs Bugs

NEW!

Page 16: Where is Mobile in Your DevOps Toolchain?

Introducing IBM Worklight Application Scanning Based on AppScan v9.0

• A single Eclipse Integrated Development

Environment (IDE). Scan existing code

projects or Worklight Studio projects

• Native and hybrid mobile applications support

• Enhanced JavaScript analysis, which includes

improved performance and additional

framework support

• Optionally connect to IBM Security AppScan

Enterprise Server to share scan

configurations, filters, and custom rules across

all projects

Application

Scanning

Detect vulnerabilities at the time of code change to reduce risk of data leakage and breaches

NEW!

Page 17: Where is Mobile in Your DevOps Toolchain?

The IBM Mobile Development Lifecycle

Scan & Certify

Instrument

Test

Integrate Obtain Insight

Manage

Deploy

Design &

Develop

Build Functional

Test Deploy

Acceptance Test

App Store

Page 18: Where is Mobile in Your DevOps Toolchain?

Mobile apps

Worklight deployment artifacts

Worklight Server

Worklight Studio

Apps Adapters

Integration

Management

App Center

Adapters Apps

.wlapp .adapter

Binary

(IPA/APK)

Page 19: Where is Mobile in Your DevOps Toolchain?

Mobile continuous delivery process

At a high level, the mobile development process has the following phases:

• Develop the application.

• Deliver changes to the Source Code Management (SCM) system.

• Build the application.

• Deploy the artifacts created by the build.

• Install and use the mobile application.

Page 20: Where is Mobile in Your DevOps Toolchain?

Centralize and Automate Mobile App Builds 1. Create an Worklight project and application in Eclipse via

Worklight Studio

2. Add a mobile environment of your choosing

3. Add app content

4. Build and deploy it to the Worklight Server

5. Use the specific environment tools to deploy to the device • Eclipse for Android • Xcode for iOS • Visual Studio for Windows Phone • Ripple for BlackBerry

Worklight Build System

Source

Code

Repository

Worklight

Application

Center

Page 21: Where is Mobile in Your DevOps Toolchain?

Mobile continuous delivery process

At a high level, the mobile development process has the following phases:

• Develop the application.

• Deliver changes to the Source Code Management (SCM) system.

• Build the application.

• Deploy the artifacts created by the build.

• Install and use the mobile application.

Page 22: Where is Mobile in Your DevOps Toolchain?

IBM UrbanCode Deploy V6.0 integration with Worklight

SC

M

Build

UrbanCode

Deploy

CodeStation

Worklight

Application

Center

Console Process

.wlapp

adapter Binary

(IPA/APK)

Install/update

app

runtime

calls

The new plugin enables automated deployment to Worklight Console and Application Center • Supports Worklight Apps targeting iOS and Android

App Server, Database and other plugins used to configure environments and Worklight projects

Page 23: Where is Mobile in Your DevOps Toolchain?

Mobile deployment process

• Automated from code

check-in, build and

deploy to test

environment.

• Repeatable

• Environment-aware

pick up environment

properties

• Integrated testing

• Sign-off and release

www.ibm.com/developerworks/rational/library/worklight-mobile-devops/

Page 24: Where is Mobile in Your DevOps Toolchain?

Worklight App Center

Page 25: Where is Mobile in Your DevOps Toolchain?

Direct Update for mobile apps on the device

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

Download

Update web resource

App Store

Web resources

Cached resources

Transfer

Check for updates

1

2

3

4

Enhanced!

Page 26: Where is Mobile in Your DevOps Toolchain?

1 Download the free IBM Worklight Developer

Edition:

ibm.com/developerworks/mobile/worklight

Learn more: ibm.com/mobilefirst

2

3

Learn more about UrbanCode Deploy

www.ibmdw.net/urbancode/ and using it with

Worklight

www.ibm.com/developerworks/rational/library

/worklight-mobile-devops/

Three Ways to Get Started with IBM

Page 27: Where is Mobile in Your DevOps Toolchain?

© 2014 IBM Corporation 27 Confidential