SlideShare a Scribd company logo
ibm.com/redbooks
Front cover
IBM MobileFirst
Strategy Software
Approach
Tony Duong
Benjamin Koehler
Tony Liew
Colin Mower
Sundaragopal Venkatraman
Discover IBM MobileFirst strategy and
solutions
Explore mobile platform, quality,
management, and analytics
Learn by example with
practical scenarios
Ibm mobile first strategy software approach
International Technical Support Organization
IBM MobileFirst Strategy Software Approach
May 2014
SG24-8191-00
© Copyright International Business Machines Corporation 2014. All rights reserved.
Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule
Contract with IBM Corp.
Note: Before using this information and the product it supports, read the information in “Notices” on
page vii.
© Copyright IBM Corp. 2014. All rights reserved. iii
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Now you can become a published author, too! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Stay connected to IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Chapter 1. Overview of IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Business value of mobile technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 IBM MobileFirst overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 IBM MobileFirst Application and Data Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 IBM MobileFirst Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 IBM MobileFirst Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 IBM MobileFirst Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4 IBM MobileFirst Strategy and Design Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.5 IBM MobileFirst Development and Integration Services . . . . . . . . . . . . . . . . . . . . 10
1.3.6 IBM Cloud and Managed Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Theoretical application lifecycle with IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Chapter 2. Business scenario used in this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1 Company profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Business initiatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Technical initiatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Chapter 3. IBM Worklight overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1 Description of Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.1 Worklight Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.2 Worklight Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.3 Worklight Device Runtime Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.4 Worklight Application Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.5 Worklight Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Worklight in IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6.1 Development infrastructure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6.2 Client runtime environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.3 Server runtime environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.6.4 Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.6.5 Worklight Application Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Chapter 4. Application of IBM Worklight in IBM MobileFirst. . . . . . . . . . . . . . . . . . . . . 39
4.1 Design and develop with Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1.1 Introducing Worklight Studio projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.1.2 Creating an application project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
iv IBM MobileFirst Strategy Software Approach
4.2 Integrate with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2.1 Overview of the HTTP adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2.2 Using the HTTP adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3 Deploy with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3.1 Deployment options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3.2 Performing the deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4 Manage with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.4.1 Management overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.4.2 Performing mobile management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.5 Securing with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.5.1 Add an authentication procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.5.2 Change the default login behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Chapter 5. IBM MobileFirst Quality Management overview . . . . . . . . . . . . . . . . . . . . 119
5.1 Description of quality management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.1.1 Mobile testing challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.2 IBM Rational software in IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.3 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.4 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.4.1 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
5.5 Mobile application testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.5.1 Test management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.5.2 Manual testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.5.3 Service virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.5.4 Security testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.5.5 Device access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.5.6 Performance testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.5.7 Mobile user interface automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5.6 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.6.1 Rational Quality Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.6.2 Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.6.3 Rational Integration Tester and Rational Test Virtualization Server . . . . . . . . . . 130
5.7 IBM Mobile Quality Assurance on the cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst . . . . . . . . . . 133
6.1 Record a test case with Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.1.1 Set up your mobile test environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.1.2 Add a mobile device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.1.3 Prepare your mobile application for testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6.1.4 Create a new project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6.1.5 Record a test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.2 Edit a test case with Rational Test Workbench. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.3 Run a test case with Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.4 Analyze a test report with Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . 152
Chapter 7. IBM MobileFirst Management overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
7.1 Description of IBM MobileFirst Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
7.2 IBM Endpoint Manager for Mobile Devices in IBM MobileFirst . . . . . . . . . . . . . . . . . . 154
7.3 IBM Endpoint Manager for Mobile Devices and an approach for Mobile Device
Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Contents v
7.4 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
7.4.1 Integrated mobile device management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
7.4.2 Multi-platform support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.4.3 Lower administration costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.4.4 Data protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.5 Ensuring mobile security and compliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.6 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
7.7 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
7.8 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
7.8.1 IBM Endpoint Manager Core Platform Services . . . . . . . . . . . . . . . . . . . . . . . . . 161
7.8.2 Mobile Device Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM
MobileFirst. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
8.1 IBM Endpoint Manager console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
8.1.1 Dashboards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
8.1.2 Setup and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.1.3 Mobile device inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.1.4 App management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
8.1.5 Security policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
8.1.6 Android and Apple iOS settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
8.1.7 Mobile Device Action History / All Mobile Device Management Content . . . . . . 168
8.2 Enrolling iOS and Android devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
8.2.1 Enrolling an iOS device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2.2 Enrolling an Android device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
8.3 Apply iOS profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
8.3.1 Passcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
8.3.2 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
8.3.3 Web Clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
8.3.4 Remove iOS profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
8.4 Application management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
8.4.1 Installed apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
8.4.2 Recommend an app to an iOS device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
8.5 Message to a mobile device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
8.6 Device location services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
8.7 Data roaming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.8 Using web reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Chapter 9. IBM MobileFirst Analytics overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
9.1 Description of Tealeaf CX Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
9.2 Tealeaf CX Mobile in IBM MobileFirst. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
9.3 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.3.1 Real-time reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.3.2 Customer intent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
9.3.3 Dashboards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9.4 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9.5 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
9.6 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
9.6.1 Customer Behavior Analysis Suite cxImpact component . . . . . . . . . . . . . . . . . . 192
9.6.2 Customer service optimization cxReveal component . . . . . . . . . . . . . . . . . . . . . 194
9.6.3 Integrations with the cxConnect module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
9.6.4 Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
9.6.5 Data store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
9.6.6 End-to-end view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
vi IBM MobileFirst Strategy Software Approach
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst . . . . . . . . . . . . . . . 199
10.1 Replaying active and completed sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.1.1 Simulate a customer interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
10.1.2 Replaying an active mobile session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
10.1.3 Viewing multiple active sessions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.1.4 Data captured in replay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.1.5 Replaying completed sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
10.1.6 Request data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.1.7 Response data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
10.1.8 Replay session attributes and screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
10.2 Creating events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
10.2.1 Locating the step attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
10.2.2 Creating hit attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
10.2.3 Add a new event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
10.2.4 Assign a hit attribute to an event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
10.2.5 Create a new copy of the event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10.2.6 Event tester. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.3 Creating reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.3.1 Add events to a report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.3.2 View a report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.4 Creating management dashboards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10.4.1 Add a dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.4.2 Add a report to the dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.4.3 Adding a conversion rate report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
10.4.4 Drill down in a dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
10.5 Creating early warning alerts on events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.5.1 Create a new event alert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
10.5.2 Notification options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
10.6 Adding dimensions to reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
10.6.1 Create a new hit attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
10.6.2 Add a hit attribute to new event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
10.6.3 Create a dimension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.6.4 Add a dimension to a report group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
10.6.5 Add a dimension to a report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
10.6.6 Add a report to a dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Appendix A. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Locating the web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Downloading and extracting the web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
© Copyright IBM Corp. 2014. All rights reserved. vii
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information about the products and services currently available in your area.
Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product, program, or service that does
not infringe any IBM intellectual property right may be used instead. However, it is the user’s responsibility to
evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The
furnishing of this document does not grant you any license to these patents. You can send license inquiries, in
writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may make
improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time
without notice.
Any references in this information to non-IBM websites are provided for convenience only and do not in any
manner serve as an endorsement of those websites. The materials at those websites are not part of the
materials for this IBM product and use of those websites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring
any obligation to you.
Any performance data contained herein was determined in a controlled environment. Therefore, the results
obtained in other operating environments may vary significantly. Some measurements may have been made
on development-level systems and there is no guarantee that these measurements will be the same on
generally available systems. Furthermore, some measurements may have been estimated through
extrapolation. Actual results may vary. Users of this document should verify the applicable data for their
specific environment.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm the
accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the
capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the sample
programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs.
viii IBM MobileFirst Strategy Software Approach
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines
Corporation in the United States, other countries, or both. These and other IBM trademarked terms are
marked on their first occurrence in this information with the appropriate symbol (® or ™), indicating US
registered or common law trademarks owned by IBM at the time this information was published. Such
trademarks may also be registered or common law trademarks in other countries. A current list of IBM
trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
AppScan®
BigFix®
Cast Iron®
CICS®
Cognos®
DataPower®
DB2®
Fixlet®
Global Technology Services®
IBM®
IBM SmartCloud®
Lotus®
Rational®
Redbooks®
Redbooks (logo) ®
System z®
Tealeaf®
WebSphere®
Worklight®
z/OS®
The following terms are trademarks of other companies:
Worklight is trademark or registered trademark of Worklight, an IBM Company.
Intel, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel
Corporation or its subsidiaries in the United States and other countries.
Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States,
other countries, or both.
Java, and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its
affiliates.
Other company, product, or service names may be trademarks or service marks of others.
© Copyright IBM Corp. 2014. All rights reserved. ix
Preface
IBM® MobileFirst enables an enterprise to support a mobile strategy. With this end-to-end
solution, IBM makes it possible for an enterprise to benefit from mobile interactions with
customers, with business partners, and in organizations. There are products available from
the IBM MobileFirst solution to support management, security, analytics, and development of
the application and data platforms in a mobile environment.
This IBM Redbooks® publication explores four areas crucial to developing a mobile strategy:
Application development
Mobile quality management
Mobile device management
Mobile analytics
Each area is addressed in two parts. The first part contains information about the
architectural considerations of each technology, and the second part provides prescriptive
guidance.
This IBM Redbooks publication provides an in-depth look at IBM Worklight®, IBM Rational®
Test Workbench, IBM Endpoint Manager for Mobile Devices, and IBM Tealeaf® CX Mobile.
This book is of interest to architects looking to design mobile enterprise solutions, and to
practitioners looking to build these solutions.
Authors
This book was produced by a team of specialists from around the world working at the
International Technical Support Organization, Raleigh Center.
Tony Duong is a Worldwide IBM WebSphere® Technical
Sales professional residing in the United States of America. He
has 13 years of experience in the IT industry. He holds a
bachelor’s degree in information technology from the University
of South Florida. His areas of expertise include IBM Worklight,
WebSphere Application Server, and other WebSphere portfolio
products.
Benjamin Koehler works on the IBM Redbooks team with
technical experts to create books, guides, blogs, and videos.
Benjamin is currently studying international business
administration in the corporate integrated degree program.
x IBM MobileFirst Strategy Software Approach
This project was led by the following person:
Martin Keen, IBM Redbooks Project Leader
Thanks to the following people for their contributions to this project:
Leigh Williamson, Distinguished Engineer, Rational Software CTO Team, Mobile Software
Development Strategy
Miku Jha, Product Manager, IBM Mobile
Carlos Paez, IBM Lead Mobile Developer
Dennis W Schultz, Software Architect, Rational Quality & Requirements Management
Tina Yan Zhuo, Rational Product Manager for Mobile
Hemant A Khanolkar, Sr. Client Technical Specialist - Rational Quality
Dustin Amrhein, IBM MobileFirst Solution Architect
Jeff Oestreich, IBM MobileFirst Solution Architect
Adrian Nash, Professional Services Consultant, Tealeaf UKI
William Loller II VP Mobile, Tealeaf
Tony Liew is an IBM Senior IT Architect in Canada. He has 20
years of experience in IT infrastructure architecture, design,
and implementation. Tony has been with IBM since 1999. His
area of expertise is in enterprise IT infrastructure strategy
design for the financial, health, and education sectors. Tony is
currently part of the Integrated Technology Services (ITS)
Canada mobility core team in defining services and products.
Colin Mower is an IBM System z® Client Architect in the
United Kingdom. He has 16 years of experience in information
technology. He holds a degree in computing from the University
of Portsmouth. His areas of expertise include high-end
enterprise computing architecture and design.
Sundaragopal Venkatraman is a Senior Consultant at the
IBM India Software Lab - IBM Software Services for
WebSphere team. He has been recognized as a go-to person
for troubleshooting issues relating to application infrastructure
on performance, scalability, and high-availability. His areas of
expertise includes client/server, distributed applications,
WebSphere migrations on distributable systems and on
System z. He is a pioneer for the IBM proactive monitoring
framework offering for bringing proactivity to the enterprise
application monitoring landscape. In addition to handling
training on WebSphere, and authoring Redbooks publications,
he also gives back to the technical community by lecturing at
WebSphere technical conferences, IBM Impact events, and
other technical forums.
Preface xi
Eliran Ben Ishay, IBM MobileFirst Solution Architect
Ana Meneghel, Client Technical Professional - IBM Endpoint Manager, IBM Sales and
Distribution, Software Sales, IBM Canada
Eric J. Geller, Technical Sales Engineer, IBM Software Group, Application and Integration
Middleware Software
Darryl Miles, Client Technical Specialist, Mobile and Endpoint Management
Jude Lancaster, Product Manager, Mobile Device Management Solutions, IBM Software
Group, Cloud, and Smarter Infrastructure
Now you can become a published author, too!
Here is an opportunity to spotlight your skills, grow your career, and become a published
author—all at the same time! Join an ITSO residency project and help write a book in your
area of expertise, while honing your experience using leading-edge technologies. Your efforts
will help to increase product acceptance and customer satisfaction, as you expand your
network of technical contacts and relationships. Residencies run from two to six weeks in
length, and you can participate either in person or as a remote resident working from your
home base.
Learn more about the residency program, browse the residency index, and apply online:
ibm.com/redbooks/residencies.html
Comments welcome
Your comments are important to us!
We want our books to be as helpful as possible. Send us your comments about this book or
other IBM Redbooks publications in one of the following ways:
Use the online Contact us review Redbooks form, found on the following website:
ibm.com/redbooks
Send your comments in an email:
redbooks@us.ibm.com
Mail your comments:
IBM Corporation, International Technical Support Organization
Dept. HYTD Mail Station P099
2455 South Road
Poughkeepsie, NY 12601-5400
xii IBM MobileFirst Strategy Software Approach
Stay connected to IBM Redbooks
Find us on Facebook:
http://www.facebook.com/IBMRedbooks
Follow us on Twitter:
http://twitter.com/ibmredbooks
Look for us on LinkedIn:
http://www.linkedin.com/groups?home=&gid=2130806
Explore new Redbooks publications, residencies, and workshops with the IBM Redbooks
weekly newsletter:
https://www.redbooks.ibm.com/Redbooks.nsf/subscribe?OpenForm
Stay current on recent Redbooks publications with RSS Feeds:
http://www.redbooks.ibm.com/rss.html
© Copyright IBM Corp. 2014. All rights reserved. 1
Chapter 1. Overview of IBM MobileFirst
IBM MobileFirst enables an enterprise to support a mobile strategy. With this end-to-end
solution, IBM enables an enterprise to benefit from mobile interactions with customers, with
business partners, and within organizations. There are products available from the IBM
MobileFirst solution to support management, security, analytics, and development of the
application and data platforms in a mobile environment. Additionally, IBM also provides
services for strategy and design, cloud and managed services, and development and
integration services to support mobile activities.
This chapter provides a high-level overview of IBM MobileFirst framework. It contains the
following sections:
Business value of mobile technologies
IBM MobileFirst overview
IBM MobileFirst Application and Data Platform
Theoretical application lifecycle with IBM MobileFirst
1
2 IBM MobileFirst Strategy Software Approach
1.1 Business value of mobile technologies
As technology advances, usage patterns change, and new business tools, such as
smartphones and tablets, emerge. Mobile applications are no longer side effects of the social
media empire, but have become an essential tool for business productivity.
Every day, countless confidential transactions with financial institutions, online merchants,
airlines, and various other retailers are performed on mobile devices. These transactional
trends have been analyzed, and used to formulate innovative, mobile-based advertising
strategies, such as location-based advertising campaigns. These strategies have paid off:
75% of mobile shoppers take action after receiving location-based messages1
.
Increasingly, people use mobile devices as their primary means of interaction and
communication with employers, customers, family, and friends. According to recent studies,
91% of mobile users keep their device in reach 100% of the time2
. Therefore, providing a
highly available, innovative, employee-focused, and customer-focused mobile presence has
become crucial to enterprise success and growth.
1.2 IBM MobileFirst overview
To take advantage of mobile technologies, IBM has introduced IBM MobileFirst as a true
end-to-end solution. This makes it easier for an organization to realize its mobility objectives
for employees, and to strengthen customer engagement and interactions.
There are several aspects to consider for a cost-efficient and secure Mobile environment:
1. Application and Data Platform
2. Management
3. Security
4. Analytics
This chapter provides an overview of the comprehensive set of mobile products and services
that IBM MobileFirst provides to increase efficiencies and gain a competitive advantage.
1
IBM Mobile First, http://public.dhe.ibm.com/common/ssi/ecm/en/wss14156usen/WSS14156USEN.PDF
2 http://public.dhe.ibm.com/common/ssi/ecm/en/wss14156usen/WSS14156USEN.PDF
Remember: The following list includes some of the advantages of mobile technologies:
To attract new customers, transform your value chain, and increase productivity
To engage users by delivering applications (apps) that are created with simplified
multi-channel development solutions
To turn interactions into an opportunity for return on engagement and investment
To provide a consistent brand experience
To deliver innovation by using cloud technologies to meet increased IT demands, to
lower costs, and to gain insights, visibility, and control
Chapter 1. Overview of IBM MobileFirst 3
Figure 1-1 provides a complete overview of IBM MobileFirst’s major disciplines in Application
and Data Platform, Management, Security, and Analytics. They are supported by Consulting
Services to help an organization with its mobile efforts. This covers strategy and design
services, cloud and managed services, and development and integration services.
Figure 1-1 IBM MobileFirst overview
1.3 IBM MobileFirst Application and Data Platform
IBM MobileFirst Application and Data Platform was created to enable an organization to build
an agile and scalable approach to application development, to rapidly deliver a superior user
experience across multiple devices and platforms. This helps to lower risks and reduce total
costs, while creating great quality.
To be able to create such applications, a mobile enterprise application platform (MEAP) is
required to develop and manage the apps on the appropriate platforms. For efficiencies in
development and deployment, apps can be developed in one instance and deployed on
multiple platforms through MEAP.
The purpose of a mobile application management (MAM) solution is to deploy apps though
the enterprise app store, to keep them up-to-date on mobile devices, and to gain greater
insights into performance monitoring, reporting and tracking, and access control.
A properly planned and implemented application lifecycle management (ALM) helps to track
the status of the different versions of apps to improve them efficiently. With the help of
machine-to-machine (m2m) communication, data can be acquired to analyze and react to the
needs of customers.
Development&IntegrationServices
Strategy&DesignServices
Application & Data Platform
Cloud & Managed Services
Devices Network Services
Management Security Analytics
IBM & Partner Applications
Industry Solutions
• Banking
• Insurance
• Retail
• Transport
• Telecom
• Government
• Healthcare
• Automotive
4 IBM MobileFirst Strategy Software Approach
IBM Worklight
IBM Worklight is a MEAP to help organizations extend their business to mobile devices.
With IBM Worklight, your organization can efficiently develop, run, and manage HTML5,
hybrid, and native apps. You can also reduce development costs, improve time-to-market, and
enhance mobile app governance and security. IBM Worklight uses standards-based
technologies that avoid the use of code translation, proprietary interpreters, and nonstandard
scripting languages.
With IBM Worklight, organizations can accomplish the following tasks:
Support multiple mobile operating environments and devices with the simplicity of a single,
shared code base.
Easily connect and synchronize with enterprise data, applications, and cloud services.
Safeguard mobile security at the device, application, and network layer.
Govern their mobile app portfolio from one central interface.
In Chapter 3, “IBM Worklight overview” on page 19, you will find a detailed overview of IBM
Worklight.
IBM MessageSight
IBM MessageSight is built to help extend an organization‘s communication with m2m
possibilities. This helps an organization manage and optimize the flow of information in a
complex business environment, and enhance the quality of customer engagements.
IBM MessageSight extends messaging networks outside the data center, scaling to handle
concurrent connectivity between a multitude of devices and apps with predictable latency.
This event-driven, interactive infrastructure will provide the level of performance and value to
support new systems of interaction with people, mobile devices, sensors, machines, and
applications by unlocking information in systems of record and enabling business to be
conducted anywhere.
IBM MessageSight provides the following advantages:
Scalability and high performance
High throughput for persistent and non-persistent messages
Reliability, assuring critical messages are delivered
Developer-friendly APIs and libraries
Native app development, including Android and iOS
Security that is DMZ-ready (a firewall configuration for securing local area networks), with
no user-level operating system
Integration that extends and connects to existing WebSphere MQ infrastructures
For more information about IBM MessageSight see the following website:
http://www.ibm.com/software/products/us/en/messagesight/
Chapter 1. Overview of IBM MobileFirst 5
IBM Rational Test Workbench
IBM Rational Test Workbench is a part of the mobile ALM, and provides a comprehensive test
automation solution for mobile apps, regression testing, integration technologies, and
performance and scalability testing. It helps an organization build intelligent and
interconnected enterprise applications that can be deployed on traditional and cloud
infrastructures. Testing costs can be reduced by reducing test cycle times due to an earlier
integration of testing into a development lifecycle.
Rational Test Workbench delivers test automation for all types of applications, including
mobile apps, using a physical device or a mobile emulator:
Simplifies test creation with storyboard testing and code-free test authoring
Enables the quick development of complex performance test scenarios with scriptless,
visual, performance test, and workload models
Provides earlier, end-to-end continuous integration testing throughout hardware, software,
and cloud-based dependencies
Emulates workloads accurately, so that a server workload can be created that represents
realistic user scenarios
Is extensible and supports standards and protocols to help meet the challenges of a
testing environment
For more information about IBM Rational Test Workbench, see Chapter 6, “Application of
Rational Test Workbench in IBM MobileFirst” on page 133.
IBM MobileFirst Application Platform Services
IBM offers MobileFirst Application Platform Services to help an organization adopt mobile
apps designed to address both employee and customer needs. The employment of an IBM
Worklight platform that is built on open standards is also able to be used with all types of
apps.
IBM mobile application platform management services can help your organization achieve
these goals:
Adapt to both business-to-consumer and business-to-employee environments.
Support emerging trends, such as bring your own device (BYOD).
Apply advanced analytics and reporting capabilities to help track app usage.
For more information about IBM Mobile Application Platform Management Services, see the
following website:
http://www.ibm.com/services/us/en/it-services/mobile-application-platform-manageme
nt.html
1.3.1 IBM MobileFirst Management
IBM MobileFirst Management is a solution to address the challenges of managing an
enterprise mobile device environment. It is needed to control and deploy BYOD policies to
enhance an enterprise‘s productivity by providing employees the capability to use personal
smartphones and tablets for work-related activities.
6 IBM MobileFirst Strategy Software Approach
The focus on managing sensitive data, tracking and optimizing mobile expenses, and
handling multi-platform complexities is critical in sustaining an effective and secure
environment for BYOD. To support this initiative, IBM MobileFirst Management has the
following capabilities:
Unified management across devices
Selective destruction of corporate data
Configuration and enforcement of password policies, encryption, virtual private network
(VPN) access, and camera use
Streamlining of workflow between development and operations with an integrated
enterprise app store
Optimization of telecommunication expenses with detailed usage analysis
User portal for management of mobile equipment, carrier plans, and usage tracking
In Chapter 7, “IBM MobileFirst Management overview” on page 153 you can find more
information about IBM MobileFirst Management.
IBM Endpoint Manager for Mobile Devices
IBM Endpoint Manager for Mobile Devices provides a completely integrated approach for
managing, securing, and reporting on notebooks, desktops, servers, mobile devices, and
even specialty devices, such as point-of-sale terminals. This provides clients with
unprecedented real-time visibility and control over all of the devices that employees use in
their daily job functions, reducing costs, increasing productivity, and improving compliance.
IBM Endpoint Manager for Mobile Devices addresses the issues of security, complexity, and
adherence to defined BYOD policies that challenge support for an increasingly mobile
workforce:
Safeguard enterprise data with advanced security and compliance features.
Gain enterprise visibility with a consolidated inventory of employee-owned and
corporate-owned devices.
Manage from a unified infrastructure using a single platform to manage all of your
enterprise devices.
For more information about IBM Endpoint Manager for Mobile Devices, see Chapter 8, “The
Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst” on page 163.
IBM Mobile Enterprise Services for Managed Mobility
IBM MobileFirst Managed Mobility Services is designed to help reduce the complexity, risk
and higher costs that is associated with a proliferation of mobile platforms in the workplace.
This robust solution provides lifecycle services and advanced mobile device management.
The services help you improve control with over-the-air provisioning and updates,
enterprise-strength security, and governance policies. A simplified subscription-based pricing
model is built around devices, usage and service options for greater predictability, flexibility,
and cost-effectiveness.
Chapter 1. Overview of IBM MobileFirst 7
1.3.2 IBM MobileFirst Security
Mobile devices offer a host of possibilities for enterprises, but only if they are implemented
correctly and securely. To focus on this key element in achieving the possibilities of mobile
devices, IBM has introduced several solutions to manage security for a corporation’s
information and data.
For more detailed information about IBM MobileFirst Security, see the IBM Redbooks
publication Securing Your Mobile Business with IBM Worklight, SG24-8179:
http://www.redbooks.ibm.com/abstracts/sg248179.html
IBM Security AppScan
IBM Security AppScan® is designed to manage vulnerability testing throughout the software
development lifecycle of a company. It scans and tests all common web application
vulnerabilities, including SQL-injection, cross-site scripting, buffer overflow, new flash and flex
applications, and Web 2.0 exposure scans.
In addition, it features a next-generation dynamic application security scanning engine and
the innovative, all-new XSS Analyzer. IBM Security AppScan V8.7 provides the ability to
identify and remediate vulnerabilities in code by taking advantage of security insights from
over 40,000 analyzed iOS and Android APIs.
IBM Security AppScan Enterprise delivers the following functionality:
A strategic approach to web application security
Broad scanning capabilities to scan and test hundreds of applications simultaneously and
retest them frequently
Enterprise-level reporting that facilitates communication of security status and issues
Remediation features that issue advisories to help guide developers in effective
remediation
For more information about IBM Security AppScan, see the following website:
http://www.ibm.com/software/products/en/appscan
IBM Security Access Manager for Cloud and Mobile
IBM Security Access Manager for Cloud and Mobile extends user access protection to mobile
and cloud environments.
The product includes the following capabilities:
User authentication
Federated single sign-on (SSO) and risk scoring to help detect and prevent security
breaches and web fraud
Context-based access management for mobile endpoints, such as smartphones and
tablets, to protect sensitive IT assets in an insecure environment
Consistent security policies across multiple applications and users
For more information about IBM Security Access Manager, see the following website:
http://www.ibm.com/software/products/us/en/samcm
8 IBM MobileFirst Strategy Software Approach
1.3.3 IBM MobileFirst Analytics
In the first years of mobile channels, many e-businesses decided to roll out mobile
functionality as quickly as possible to participate in mobile‘s big advantages. This just do it
approach resulted in unsatisfied and disappointed users, due to bad experiences with
incorrect formatting and missing or non-working features on their mobile offerings. Customer
Experience Management (CEM) is the term for focusing on this problem. With the acquisition
of Tealeaf in 2012, IBM can offer a strong solution to address CEM issues.
IBM Tealeaf CX Mobile
IBM Tealeaf CX Mobile helps customers apply the power of Tealeaf’s robust CEM solutions to
their mobile websites, native applications, and hybrid applications, including support for
HTML5. Tealeaf gives clients visibility into mobile interactions where they do not have it today,
helping them deliver winning mobile services. Tealeaf CX Mobile is an add-on to the Tealeaf
CX platform.
Tealeaf CX Mobile helps clients accomplish the following objectives:
Optimize customer experiences in the mobile channel for all users of mobile websites,
including HTML5-based sites, hybrid apps, or native apps.
Gain complete mobile visibility by capturing user information for mobile websites, including
HTML5-based sites, native apps, and hybrid apps:
– Both network and client interactions
– Touchscreen gestures, such as pinching, zooming, scrolling, and device rotation
Build and manage an early warning system to detect mobile user problems and provide
proactive awareness into mobile app failures, usability issues, or other obstacles. These
things can lead to failed transactions, abandonment, poor app store rankings, and
negative feedback.
Quantify revenue effect and segmentation with real-time drag-and-drop analysis by
specific mobile user behaviors or device attributes.
Quickly find and isolate problems in mobile customer sessions (for both individual
customers and aggregates) with powerful ad hoc discovery and segmentation, without
pre-defining tags or beacons.
To learn more about IBM Tealeaf CX Mobile, see Chapter 9, “IBM MobileFirst Analytics
overview” on page 183.
1.3.4 IBM MobileFirst Strategy and Design Services
IBM offers strategy and design services to help customers explore, assess, and plan their
mobile platform to address current and future business and technology requirements that are
unique to an organization, industry, and users.
IBM Interactive
IBM Interactive is a leading interactive agency with a unique ability to imagine, discover, and
deliver compelling user experiences. IBM Interactive uses the full spectrum of IBM global
capabilities (strategy, creative, technology, accessibility, and business transformation) to
implement solutions that strengthen relationships between organizations and their users.
Integrating customer experience visions and strategic frameworks, IBM Interactive helps
clients create brand differentiation, enhance business value, and improve key customer
interactions across all channels.
Chapter 1. Overview of IBM MobileFirst 9
For more information about IBM Interactive, see the following website:
http://www.ibminteractive.com/index.html
IBM Mobile Infrastructure Strategy and Planning Services
IBM Mobile Infrastructure Strategy and Planning Services is enabled to assist an organization
to develop a robust mobile infrastructure strategy for a more flexible workplace that enables
users to choose (and bring) their own devices in alignment with an enterprise’s goals. A focus
on strategic planning helps build the correct roadmap to mobility and accelerate deployment.
IBM offers a range of consulting capabilities:
Assess the current mobile environment against industry best practices.
Identify important aspects of mobility that might have been overlooked.
Help build a successful business case for mobile initiatives.
For more information about IBM Mobile Infrastructure Strategy and Planning Services, see
the following website:
http://www.ibm.com/services/us/en/it-services/mobile-infrastructure-strategy-and-p
lanning.html
Omni-channel experience assessment
Most companies have no shortage of ideas on how to improve the customer experience. The
real challenge is to select the correct set of initiatives that maximize value, taking into account
the dependencies on other elements of the operating model. The following list includes key
questions for consideration:
Which touchpoints matter most in customer interactions with your organization?
What are the future capabilities or features that your customers are seeking?
How can you tell if your capabilities really differentiate the customer experience you
deliver?
What should the role of each of your channels (Mobile, web, device, contact center, or
retail store) be, and how should you skew your investment?
How do you develop the business case for investing in better customer experiences?
With omni-channel experience assessment, you can meet the following objectives:
Rapidly develop a customer experience strategy that reflects current and future customer
trends and priorities.
Assess a company’s channel capability maturity, and determine the optimal future maturity
needed to support the omni-channel strategy.
Create journey maps of key events to characterize the future-state of the customer
experience.
Develop a roadmap with business and organizational cases for change.
For more information about omni-channel experience assessment, see the following website:
http://www.ibm.com/services/us/gbs/mobileconsulting/
10 IBM MobileFirst Strategy Software Approach
1.3.5 IBM MobileFirst Development and Integration Services
IBM has the capability to develop, deploy, integrate, and manage application and
infrastructure elements of your mobile enterprise and user platforms. Additionally, IBM can
help a business optimize new technologies while making the most of the existing application
development, IT infrastructure, and communication platform investments. This enables the
selection of delivery models that include managed services and cloud computing.
IBM Mobile Application Development from the Cloud
IBM Mobile Application Development from the Cloud enables fast-cycle mobile development
and delivery of prototypes, new applications, and upgrades. This approach includes
development of multiple creative treatments and prototypes for a single price, facilitating
rapid, iterative innovation that can be initiated in a cost-effective way.
IBM consulting services can help transform application software development and delivery
processes, achieving broad-based improvements in cycle time, quality, and the cost of
application development and management. IBM Mobile Application Development from the
Cloud uses an outcomes-based delivery model to provide a way to tie a sourcing strategy to
business results, rather than labor hours.
The IBM delivery model promotes productivity by aligning incentives and recognition with
business outcomes. With the IBM ecosystem of capabilities on the IBM SmartCloud®, rapid
orchestration is possible for required talent, platforms, and tooling to deliver fast-cycle
development based on requirements, and to meet the demanding time requirements of the
mobile application market.
For more information about IBM Mobile Application Development from the Cloud, see the
following website:
http://www.ibm.com/services/us/gbs/mobileconsulting/rapid-mobile-app-development.h
tml
IBM Mobility and Wireless Services
The development of a mobile enterprise implementation strategy requires a reliable and
secure mobility infrastructure. This is what IBM Mobility and Wireless Services is for. It helps
to design and deploy a wireless broadband infrastructure that connects people to each other
and to the information that they need. It lowers costs and defines security requirements. IBM
starts by understanding the business environment and requirements, and then uses its
proven methods and extensive experience in designing mobility and wireless solutions.
IBM Mobility and Wireless Services enables an enterprise to achieve the following goals:
Rapidly deploy reliable, secure mobility infrastructures.
Reduce network maintenance and communications costs.
Gain a high-speed communications system that is extensible to mobile workers.
Boost productivity of field sales, public service, and customer support professionals.
Improve overall organizational responsiveness to gain competitive advantage.
For more information about IBM Mobility and Wireless Services, see the following website:
http://www.ibm.com/services/us/en/it-services/mobility-and-wireless-services.html
IBM Mobile Application Management Services
IBM Mobile Application Management Services provides capabilities to address challenging
business issues and achieve the wanted business outcomes from an SAP investment.
Chapter 1. Overview of IBM MobileFirst 11
For more information about IBM Mobile Application Management Services, see the following
website:
http://www-935.ibm.com/services/us/gbs/application-management/
1.3.6 IBM Cloud and Managed Services
Going further, if you want IBM to manage or run those services, IBM has a set of Cloud and
Managed Services that will take that burden off your hands. IBM has specific solutions from
IBM Global Technology Services® (GTS) to help you address BYOD with a full service for
managing mobile devices. IBM also delivers hosted versions of the mobile platform with the
IBM Mobile Application Platform Management service if you choose to have IBM host and run
your infrastructure.
IBM Cloud and Managed Services offer the following capabilities:
Flexible and scalable compute power with access to greater network bandwidth
Predictable allocation of, and investment in, current skills and IT resources that support
mobile initiatives
Multi-vendor integration and device support
Highly efficient coordination of global mobile projects
IBM Mobile Enterprise Services for managed mobility
IBM Mobile Enterprise Services for managed mobility is designed to help reduce the
complexity, risk and higher costs that is associated with a proliferation of mobile platforms.
IBM robust solution provides lifecycle services and advanced mobile device management.
IBM has the capabilities to improving control with over-the-air provisioning and updates,
enterprise-strength security and governance policies. A simplified subscription-based pricing
model is built around devices, usage and service options for greater predictability, flexibility
and cost-effectiveness.
For more information about IBM Mobile Enterprise Services for managed mobility see the
following website:
http://www.ibm.com/services/us/en/it-services/managed-mobility-services.html
12 IBM MobileFirst Strategy Software Approach
1.4 Theoretical application lifecycle with IBM MobileFirst
Figure 1-2 shows a typical application lifecycle with the IBM MobileFirst platform, with
associated products to support the respective stages.
Figure 1-2 Application lifecycle with corresponding applications
The following typical application lifecycle stages correspond to those shown in Figure 1-2:
1. Design and develop
In the first stage of the mobile development lifecycle, the mobile architecture must be
designed and developed. This can be performed by IBM Worklight. Making use of open,
flexible, and standardized cross-platform (iOS, Android, Windows Phone, and BlackBerry)
development methodologies, Worklight provides a rich development environment
maximizing code reuse.
Worklight helps you not just to develop, but also to deploy, host, and manage mobile
enterprise apps. With Worklight Studio, organizations can push developed mobile apps
straight to the Worklight Server and Worklight Application Center for fast distribution.
For more information about Worklight, see Chapter 4, “Application of IBM Worklight in IBM
MobileFirst” on page 39.
2. Instrument
To be able to analyze and monitor how an application behaves before releasing it to
production, Worklight and Tealeaf CX Mobile provide tools to be able to simulate how the
application will operate. This enables the developers to test their application on different
devices, on different operating systems, and in different scenarios (such as changing
screen orientation, using the GPS, using the compass, and using the camera).
Design & Develop
Integrate
Instrument
Test
Scan & Certify
Deploy
Manage
Obtain Insight
IBM Worklight
IBM Endpoint
Manager
IBM Worklight
IBM AppScan
IBM Security
Access Manager
IBM Rational Test
Workbench
IBM Tealeaf CX
IBM Worklight
IBM Rational Test
Workbench
Chapter 1. Overview of IBM MobileFirst 13
3. Integrate
Mobile cloud services can be integrated as an overall framework. Mobile cloud services
are high-value middleware capabilities that are designed to be used by mobile apps. As an
example, consumers increasingly purchase clothing on their mobile devices. A pass
service enables companies to easily engage with those customers by sending them
loyalty coupons, and so on. Worklight and IBM WebSphere Cast Iron® can process such
an integration with back-end data, systems, and cloud services.
For cloud services, a firewall controls inbound and outbound connections. To secure these
connections, an enterprise’s internal IT infrastructure can be protected with a proxy or
security gateway, such as IBM Security Access Manager or IBM WebSphere DataPower®.
Using a security gateway, such as DataPower, enables companies to control the parts of
infrastructure that are displayed to consumers, which capability is especially relevant for
push notifications.
For more information about IBM Worklight, WebSphere Cast Iron, and WebSphere
DataPower, see Extending Your Business to Mobile Devices with IBM Worklight,
SG24-8117:
http://www.redbooks.ibm.com/abstracts/sg248117.html
4. Test
To test the configured, enterprise-specific application, a company can use IBM Rational
Test Workbench. It is a comprehensive test automation solution, which enables
regression, performance, and scalability testing. For more information about Rational Test
Workbench, see Chapter 5, “IBM MobileFirst Quality Management overview” on page 119.
5. Scan and certify
In addition to testing the customized application run by Rational Test Workbench, IBM
Security AppScan is able to scan, evaluate, and certify an organization’s application. It
provides the user with enhanced vulnerability testing, scanning, and reporting for mobile
web apps, web elements (JavaScript and HTML5), or hybrid mobile apps (see Securing
Your Mobile Business with IBM Worklight, SG24-8179).
6. Deploy
The application is distributed to various channels, such as Worklight Application Center,
devices managed by IBM Endpoint Manager for Mobile Devices (see Chapter 8, “The
Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst” on
page 163), and external app stores. IBM Worklight Application Center distributes mobile
apps inside a company, and IBM Endpoint Manager for Mobile Devices addresses mobile
device management.
7. Manage
The IBM Endpoint Manager platform consists of a large menu of features for the
management of mobile devices. These features are required to support an enterprise
mobile strategy. Continuous enhancements to the IBM Endpoint Manager for mobile
suites, such as the inclusion of Mobile Enterprise Application Platform and Telecom
Expense Management, provides beneficial advantages at a pace to match ever-increasing
mobile adoption in corporations.
For more information about IBM Endpoint Manager, see Chapter 7, “IBM MobileFirst
Management overview” on page 153.
14 IBM MobileFirst Strategy Software Approach
8. Obtain insight
At the end of the cycle, analysis of how the application is used can be derived from Tealeaf
CX Mobile (see Chapter 10, “Application of Tealeaf CX Mobile in IBM MobileFirst” on
page 199). Usage pattern analysis can improve the effectiveness of your application, and
highlight areas users are struggling with. Consequently, this understanding will both close
the iterative mobile development circle, and influence the next iteration of the product
design.
© Copyright IBM Corp. 2014. All rights reserved. 15
Chapter 2. Business scenario used in this
book
This chapter provides an overview of a business scenario that will be used as a case study of
how the IBM MobileFirst suite is used in a business environment.
The following sections provide information about how the IBM MobileFirst offerings can
support an organization based on a set of generic objectives. It is not intended to provide a
complete description of the organization, and the subsequent sections do not cover all of the
necessary activities related to a mobility strategy in detail.
The purpose of this chapter is to provide the business background to be used in the following
chapters on IBM Worklight, IBM Rational Test Workbench, IBM Endpoint Manager, and IBM
Tealeaf.
This chapter contains the following sections:
Company profile
Business initiatives
Technical initiatives
2
16 IBM MobileFirst Strategy Software Approach
2.1 Company profile
Insurance Company A is a fictional, US-based corporation headquartered in New York with
global operations. Its primary business is personal auto insurance through customer calls to
the contact center and field representatives performing house calls. Its intention is to extend
its services to the public through a self-subscription model using mobile devices. Additionally,
Insurance Company A intends to modernize its field sales representatives with real-time
mobile applications (apps) and eliminate paper-based transactions.
Organizationally, the global operations are segmented by regions:
North America
South America
Europe
Asia
Other regions will be included as part of the strategic expansion into new geographical
regions.
Each region has its own IT group that is responsible for its respective area. The head office in
New York provides direction on the services, and the regions implement the initiatives through
their own processes. This has proven costly and inefficient. It is the corporate objective that
the mobility program is part of an overall common enterprise mobile strategy.
The following list includes the needs to support this initiative:
Speed of application development
Competitor advantage
Maximum efficiency
Cost savings
Wide spectrum of mobile devices
2.2 Business initiatives
For the mobile applications initiative, Insurance Company A has decided to standardize
applications, and to have a common application storefront with common processes.
The mobile initiative has the following objectives:
Attract new customers, transform their value chain, and increase productivity using the
new business models and insights from mobile interactions.
Engage users with contextually relevant experiences, with apps that are created with
simplified multi-channel development solutions.
Create an opportunity for return on engagement and investment, by developing
interactions with mobile capabilities.
Provide brand value in interactions consistently by connecting mobile apps to systems of
record for continuous, trusted transactions.
Chapter 2. Business scenario used in this book 17
2.3 Technical initiatives
The IT requirements for the mobile initiative have the following objectives:
The field representatives with mobile devices will be managed by a common management
platform and standard corporate applications.
The mobile employees will all have a common application suite regardless of geographical
region.
Customers with mobile devices will have a common app store for downloads, regardless
of geographical region. However, apps will be presented in multiple languages dependent
on the geographical location of the device.
All apps will be developed by a central authority that will own all mobile apps for all
regions.
All apps will need to be tested before rollout, with input from the various business units.
Continuous data collection and analysis needs to be looped back to the app development
cycle for existing and new operations and offering apps.
The target mobile users and devices are estimated in Table 2-1.
Table 2-1 Target mobile users and devices
The following technologies are under consideration in support of the mobile app rollout:
The mobile app platform (See Chapter 3, “IBM Worklight overview” on page 19)
Quality management (See Chapter 5, “IBM MobileFirst Quality Management overview” on
page 119)
Mobile device management (See Chapter 7, “IBM MobileFirst Management overview” on
page 153)
Analytics (See Chapter 9, “IBM MobileFirst Analytics overview” on page 183)
The mobile app platform should be designed to ease sharing and distribution of mobile apps
in an organization. It will be used to distribute mobile apps to specific users and groups. A
mobile app development team will use the application platform during various phases of the
development lifecycle (for example, to initially share apps with reviewers on the testing team
and eventually expand the group to include beta testers later in the development cycle).
Reviewers will use the mobile client to download, install, and evaluate versions of the app,
and to leave feedback for the developers.
The application platform includes a client app that runs on a mobile device. The mobile client
will be used for the following tasks:
Listing apps that are available to be installed from the application platform.
Installing mobile apps from the application platform to a mobile device.
Rating and leaving feedback for apps in the application platform.
Region Employee Customers
North America 5000 100,000
South America 500 25,000
Europe 2000 50,000
Asia 3500 75,000
18 IBM MobileFirst Strategy Software Approach
The mobile client runs on Android, iOS, and Windows Mobile devices. The mobile client must
be present on the device if the user wants to install apps from the application platform
repository.
The quality management framework will be used for enterprise mobile app development that
dramatically reduces the response time to customer feedback:
Reduced time-to-deliver mobile apps (deliver new apps and updates to employees and
consumers in less time)
Lowered development and test costs (reduce costs associated with training and
maintaining multiple development teams and their infrastructures)
Improved mobile app quality (make users happy and more productive)
Increased alignment between line of business and development (ensure that apps meet
business goals the first time)
Mobile device management is primarily based on a single consolidated platform providing the
management of mobile devices. To protect employee mobile devices as they access more
and more sensitive systems, and to protect organizations from unauthorized or corrupted
devices, the mobile device management platform must provide the following
functionalityprovide the following functionality:
Detect security threats, such as rooted or jail-broken devices, and automatically take
countermeasures.
Selectively wipe only corporate data, such as calendar, email, contacts, and
enterprise-managed applications when a device is lost or stolen.
Extend management and security capabilities.
Configure and enforce password policies, encryption, virtual private network (VPN)
access, and camera use in accordance with organizational and public security standards,
such as the Center for Internet Security (CIS) benchmarks.
Automatically identify non-compliant devices.
Control non-compliance by disabling access to enterprise resources, such as email and
applications, or by issuing user notifications until corrective actions are implemented.
The analytics engine will consist of server-side software, that will capture mobile application
interaction throughout daily use. This will enable the business to accomplish these tasks:
Provide qualitative analysis on every gesture (swipe, zoom, pinch), device orientation and
screen entry.
Replay any customer transaction to identify and resolve problems.
Provide an early warning for users struggling with an application, or for application failures.
Quantify business effect by analyzing customer behaviors and device attributes.
Make business decisions on which features and functions to invest in, fix, or remove.
© Copyright IBM Corp. 2014. All rights reserved. 19
Chapter 3. IBM Worklight overview
This chapter provides information about the Worklight platform, describing how mobile
applications (apps) for multiple devices can be designed, developed, and deployed with an
intuitive set of tools, programming models, and systems.
Worklight enables mobile apps to embody the following characteristics:
Developed for multiple devices and operating systems
Secured and governed
Given access to back-end services, applications, and data
Monitored and analyzed for usage, trends, and feedback
Deployed and managed in an enterprise
3
20 IBM MobileFirst Strategy Software Approach
3.1 Description of Worklight
Worklight is a comprehensive set of tools, application programming interfaces (APIs), and
runtime components. It is designed to help organizations build, run, and manage mobile
apps, and forms part of the IBM MobileFirst Platform product suite.
Using Worklight, browser, hybrid, mixed, and native mobile apps (Figure 3-1) can be
efficiently developed in a short space of time, giving businesses a competitive edge:
Faster time-to-market
Reduced development costs
Enhanced mobile application governance and security
Figure 3-1 Mobile application implementations with Worklight1
Development activity is carried out in an environment that can address all supported mobile
operating systems. Therefore, an app can be created that looks and feels the same across all
deployed devices, but takes advantage of the native capabilities of the mobile device.
Worklight uses standards-based technologies to integrate directly with the various mobile
platform software development kits (SDKs), avoiding the use of code translation, proprietary
interpreters, and the less well-known scripting languages.
1
From IBM Worklight 6.0 Technology Overview
http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USEN.PDF
Remember: The following list describes application types:
Mobile web apps are the same as those used in a desktop browser, but are adapted to
fit on the smaller screen of a mobile device. They are typically written using HTML5,
Cascading Style Sheets (CSS), and JavaScript, and are portable across multiple
devices and operating systems. Web applications cannot access the hardware on the
mobile device, such as the camera and the global positioning system (GPS).
Native apps are written in an operating system-specific language, and have full access
to the mobile device hardware, features, and functions.
Hybrid apps combine both the web and native models. Apps are written in the browser,
but are wrapped in a container that enables the app to access the device hardware.
Chapter 3. IBM Worklight overview 21
The five key components of Worklight are shown in Figure 3-2.
Figure 3-2 Worklight components
These are the components in Figure 3-2:
Worklight Studio
An Eclipse-based development platform designed for coding, testing, and integration tasks
for web, hybrid, or native mobile apps. It interfaces with native tools, such as XCode and
Android Studio.
Worklight Server
A scalable mobile middleware that sits between the mobile app and the enterprise
back-end services. It acts as an auditable control point for mobile devices, and provides a
strong security layer.
Worklight capabilities: With Worklight, businesses are able to accomplish the following
tasks:
Support multiple mobile operating system environments and devices.
Connect and synchronize with enterprise data, applications, and cloud services.
Safeguard mobile security at the device, application and network layer.
Govern the mobile application from one central interface.
Test applications by recording and playing back a process or function on a mobile
device or emulated mobile environment.
22 IBM MobileFirst Strategy Software Approach
Worklight Server contains multi-factor authentication and mobile app authenticity
checking. It enables data connectivity for multi-source data extraction and manipulation,
mobile application management, analytics, and runtime services, such as push
notifications and geolocation capabilities.
Worklight Application Center
A multi-platform enterprise application store to enable organizations to govern and
distribute production-ready mobile apps. It has built-in access controls and role-based
security, and can elicit and organize user feedback. It can also be used as part of the
development lifecycle to distribute prerelease software, to be analyzed by developers for
feedback by version and device.
Worklight Device Runtime
Client-side runtime code compiled into hybrid apps that embed functionality, such as
offline, encrypted, and syncable data stores that interact with the Worklight Server.
Worklight Console
A web-based user interface for monitoring and administering the Worklight Server and its
deployed applications. Adapters to connect to services and push notifications are also
managed in the console. Furthermore, summaries of platform usage can be displayed on
dashboards.
3.1.1 Worklight Studio
The Worklight Studio SDK and integrated development environment (IDE) offers simplified
development of applications across multiple mobile platforms, including iOS, Android,
Windows Phone, and Java Platform, Micro Edition (Java ME). The Worklight framework
enables a high level of code reuse, and enables developers to deliver a rich and consistent
user experience matching the capabilities of the device.
Worklight Studio features a drag-and-drop user interface (UI) for the design and development
of the mobile app. Interfaces, such as JQuery Mobile, HTML, and JavaScript files are easily
created by dragging HTML5 and Dojo Mobile components from a built-in palette onto the
HTML work area, known as the canvas.
If the developer opts for a hybrid development style, the majority of application code can be
shared across multiple mobile device environments, without altering the platform-specific user
experience or application functionality. For example, an application can be developed once,
with feature and function code unique to the iPhone held in a separate folder.
Common application code is stored in a shared folder, with device-specific or
environment-specific code stored in isolated folders (see Figure 3-3 on page 23), that can
overwrite or compliment the common shared code. As a result, application logic is consistent
across the different environments, while the user experience behaves as expected, natively
and geared to the functionality and design guidelines of the device.
Chapter 3. IBM Worklight overview 23
Figure 3-3 Multiple device-specific code stored in a single project2
When developing hybrid or native applications, application developers can directly access the
APIs that the devices offer, and can easily integrate with third-party libraries, frameworks, and
tools. Because developers are not constrained by intermediary build-time or runtime layers,
when new APIs are released, they are accessible for use immediately.
Worklight Studio enables developers to choose how they develop applications. They can
either use pure native code (Objective-C, Java, or C#), standard web technologies (HTML5,
CSS3, JavaScript), or a combination of both.
For hybrid application development, Worklight Studio supports the following scenarios:
HTML to call native code using a plug-in, which can be used to perform non-user
interactive functions, such as reading the compass, or to overlay a user interface on top of
the browser
Implementation of complete screens, with switching between native screens and web
screens made seamless with smooth or animated transitions
The following list includes further development capabilities in Worklight Studio:
Runtime skins, which enable applications to automatically adjust to different devices using
the same operating system, such as different screen sizes, different screen resolutions,
and different input methods
Geo-location toolkit, enabling the gathering and analysis of location data from GPS and
WiFi efficiently and with minimal drain on the device
Screen templates to automate the creation of mobile screens, such as lists,
authentication, navigation, search, and configuration
Standard data retrieval, enabling developers to access hierarchical data from many
back-end database management systems, such as IBM DB2®, and convert to JavaScript
Object Notation (JSON) for application use
2
From IBM Worklight 6.0 Technology Overview
http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USEN.PDF
24 IBM MobileFirst Strategy Software Approach
The ability to invoke back-end services and applications, such as those running in IBM
CICS®, directly from within the Worklight Studio using JSON and Extensible Markup
Language (XML)
Unified push notifications to preconfigure automatic alerts from one centralized interface,
making the communication with users completely transparent to the developer
Worklight Studio includes integrated and automated functional testing, available for Android
and iOS native and hybrid apps. This enables developer and testing teams to rapidly test
Worklight applications, by recording a sequence of actions on a mobile device to generate a
test script, which is then replayed on a real mobile device, or on an emulator/simulator. The
results can be viewed and shared using a generated HTML report. Device-specific functions,
such as camera, gyroscope, and compass, can be emulated and tested with the application.
3.1.2 Worklight Server
The WebSphere-based Worklight Server is a scalable gateway sitting between applications,
external services, and the enterprise, and acts as a container for Worklight application
packages.
The Worklight Server is designed to integrate seamlessly with existing infrastructure, based
on industry-standard adapters and server-side code. It is a scalable solution, enabling
hundreds of thousands of users to perform transactional processes against the mobile app
and back-end systems.
In summary, the Worklight Server provides capabilities including those in the following list:
Encrypted communications between mobile devices and the enterprise
Back-end connectivity to existing application services and servers
Data manipulation, such as converting hierarchical data to JSON
Single sign-on (SSO) authentication, with integration into existing enterprise
authentication services
Automatic collection of user-adoption and usage data for analysis
Server-side entities, such as configuration files and integration code, that are used in the
Worklight Server, can be created and managed from within Worklight Studio. These artifacts
are automatically built into web archive (WAR) files using Worklight Studio, and deployed onto
the Worklight Server.
In providing the physical connectivity between mobile device and enterprise systems, the
Worklight Server supports a wide variety of adapter technology, such as SOAP,
Representational State Transfer (REST), and Structured Query Language (SQL). It integrates
multiple source data mashups into one stream for serving to the user, and can host
server-side logic to deliver back-end data for mobile consumption.
3.1.3 Worklight Device Runtime Components
Worklight provides client-side runtime code that services HTML5, hybrid, or native
applications, and includes libraries for native and JavaScript implementations.
The runtime components enable a mobile app developer to accomplish the following tasks:
Access back-end data and transactions through the invocation of Worklight services.
Authenticate using pre-configured code to manage the authentication sequence, and to
secure application data.
Chapter 3. IBM Worklight overview 25
Provide offline access with a local JavaScript Object Notation (JSON) database for data
persistence, with back-end synchronization. Supports encryption and large data sets.
Manage new application versions and disable applications in accordance with set policies.
Troubleshoot code for detecting runtime connectivity problems in the application, and for
collecting diagnostic information.
Collect usage reporting for audit and analysis, to be recorded by the Worklight Server.
Ensure cross-platform compatibility (a set of uniform APIs to hide the differences in
features and functions across different devices).
Adjust features and functions during run time, optimizing the application for different
devices across the same operating system (for example, a phone and a tablet).
3.1.4 Worklight Application Center
Worklight Application Center provides an enterprise application store for the distribution,
governance, and management of prerelease and production-ready mobile apps.
The Worklight Application Center could be used, for example, to deploy applications to
employees with their own bring your own device (BYOD) or company-owned mobile asset.
Existing authentication frameworks can be used to manage application distribution by
department, job function, geographical location, or other rule. Consequently, users accessing
the store will see only the applications that they are entitled to download. Employees can rate
apps and provide feedback.
For development teams, Worklight Application Center can be used to distribute prerelease
software to developers and testers. Feedback can be quickly obtained and organized by
version and device to isolate and resolve defects. It will integrate with the software build
process to automate the distribution of the latest releases to project teams.
Key functions of the Worklight Application Center console include the following abilities:
Upload different versions of mobile applications.
Remove unwanted applications.
Control access to applications.
View feedback that mobile users have left for an application.
Obtain information about applications installed on a device.
Make an application inactive so that it cannot be downloaded.
From the mobile device, the Worklight Application Center will enable users to accomplish the
following tasks:
List available mobile apps.
Install a new app on a device.
Send feedback about an app.
The Worklight Application Center supports applications for Android, iOS, and BlackBerry
devices.
3.1.5 Worklight Console
The Worklight Console is a web-based user interface used for the administration of the
Worklight Server and deployed applications, adapters and push-notifications. Analytics
enable an administrator to search across logs and events that are collected from devices,
applications, and servers for patterns, problems and platform usage statistics.
26 IBM MobileFirst Strategy Software Approach
By using the console, an administrator can accomplish the following tasks:
View dashboards that monitor all deployed adapters and applications.
Control and monitor push-notification services, event sources, and related apps.
Assign device-specific security to support the installation of business apps on sanctioned
devices.
Manage multiple versions of the same app, and remotely disable apps by version and
mobile operating system type.
Define device-based access control policies to control the access to apps (Worklight v6.1
and later).
Operational analytics collated in the Worklight Console enable the administrator and
management teams to look at data on a map view, showing activity on a world map, search
through server logs. Also, by using the equivalent reports feature, they can view the full device
usage for the last 30, 60, or 90 days. Reporting can be carried out in near-real time across the
various views, providing at-a-glance dashboard reports, with client activities, server logs, and
client crash data.
3.2 Worklight in IBM MobileFirst
Worklight is the application and data platform component in the IBM MobileFirst suite of
products, and participates in many aspects of the development lifecycle.
Many of the functions in Worklight are complimented and extended by other products in the
IBM MobileFirst product set, such as advanced analytics with Tealeaf CX Mobile, and
automated mobile testing with Rational Test Workbench.
In relation to the lifecycle, Worklight provides the following major capabilities (Figure 3-4 on
page 27):
Design and develop mobile enterprise-ready apps, rapidly and across platforms.
Instrument apps to understand what is happening with the app in terms of security and
usability.
Integrate to back-end application services and data, to re-use assets of value.
Test with the IBM Mobile Test Workbench for Worklight (MTWW).
Deploy mobile apps with the Worklight Application Center.
Manage mobile apps through the Worklight Console and Worklight Application Center.
Chapter 3. IBM Worklight overview 27
Figure 3-4 The development lifecycle
The mobile app development lifecycle could begin with a business problem or opportunity, but
equally it can be initiated by a need to make changes to a deployed mobile app following
insight from actual use.
You can use operational analysis to measure functional and non-functional attributes of the
app, such as responsiveness and abandoned transactions, which directly feeds into a new
iteration of the development lifecycle. This information can be used to make improvements,
add functionality, or even remove functionality that is not adding benefit.
Worklight provides ready-for-use integration with Tealeaf CX Mobile, with the appropriate
Tealeaf CX Mobile libraries for iOS, Android, and mobile web included. As soon as a
Worklight project is created, a developer can immediately start instrumenting the app using
Tealeaf CX Mobile technologies.
After the development of an app, the app can be deployed for testing. This deployment
directly feeds into the testing phase of IBM MobileFirst, integrating with IBM Rational Test
Workbench.
3.3 Business benefits
In the rapidly developing and changing world of mobile apps, businesses need to adapt and
evolve constantly. User expectations of mobile apps are as high, if not higher, than their
experience of other channels, such as web and in-store.
Design & Develop
Integrate
Instrument
Test
Scan & CertifyDeploy
Manage
Obtain Insight
28 IBM MobileFirst Strategy Software Approach
Worklight enables mobile apps to be designed and developed in a short space of time, and
provides the deployment, management, governance, and security that results in a successful,
enterprise-ready application.
Worklight brings the following key business benefits:
Rapid time to value from developing to deploying a mobile app
Reduced development costs achieved through efficient code and asset re-use, and
collaboration across teams
Meet customer’s expectations the first time by simulating how the app will appear, and how
it will behave, with application record and playback facility
3.4 System overview
Figure 3-5 on page 29 shows the Worklight platform overview in an enterprise.
Through the Worklight platform, applications are distributed to the mobile devices through
Worklight Application Center. Native, hybrid, and web-based mobile apps connect back to the
mobile enterprise application platform (MEAP) to use the services that it provides. In this
case, the MEAP is Worklight.
Application management is provided through Worklight Application Center to ensure that the
applications are at the correct version, and accessible by the appropriate users.
In terms of security, Worklight facilitates user authentication and integration into existing
security systems.
Worklight provides integration with back-end applications, systems, and services. Existing
applications and database management systems can be accessed directly through common
service-oriented architectures (SOAs) and connectors provided by the Worklight platform.
Worklight advantages: Worklight decreases the cost of multi-platform application
development, integration, and maintenance, and speeds up time to deployment.
Chapter 3. IBM Worklight overview 29
Figure 3-5 Worklight system overview
3.5 Block overview
The Worklight platform sits in the middleware layer (Figure 3-6) to provide services between
mobile devices and the enterprise.
Worklight provides the development platform with which to create and modify mobile apps,
but also provides the necessary APIs, services, and standards to interface with enterprise
security, business applications, database management systems, infrastructure, and service
management.
Figure 3-6 Block overview of Worklight
IBM Worklight
Enterprise
Information System
REST Services
Web Services
Database
App Server
Enterprise
Services
Cloud Security Management
Mobile Device
Integration Layer Distribute App
Security
Data
Business Applications
Middleware
Infrastructure
Mobile Devices
IBM Worklight
ITServiceManagement
30 IBM MobileFirst Strategy Software Approach
3.6 Components
Figure 3-7 shows the components that make up the Worklight platform. It can broadly be split
into five areas:
Development infrastructure
All of the components required to build, deploy, and run a mobile app.
Client run time The components required to run a mobile app directly on a device.
Server run time Code, interfaces, and adapters required to provide back-end
application support and data to a mobile app.
Console The management capabilities to provide remote monitoring,
dashboards, and analytics on mobile devices.
Application center The necessary components required to host, manage, and deploy
apps to an enterprise application store.
Figure 3-7 Component view of Worklight
3.6.1 Development infrastructure
The development infrastructure supports the functions and capabilities of Worklight to provide
the complete mobile app development and test solution, from building the app to deployment
and run time.
Worklight Studio is an Eclipse-based IDE to enable all of the coding and integration tasks
required to develop a fully operational mobile app for various mobile operating systems. As
described in 3.1.1, “Worklight Studio” on page 22, the tool supports open, multi-platform
device development.
Chapter 3. IBM Worklight overview 31
The shell approach to mobile app development is a feature of the Worklight Studio platform
that enables the application to be split into two portions (Figure 3-8):
An external shell
An inner application
This enables development teams with different skill sets to develop independently, without
affecting the overall appearance and functionality of the application.
Figure 3-8 The shell approach to mobile development3
The shell enables developers to encapsulate mobile code and other assets into a reusable
foundation. One development team can be responsible for developing the branding, security
configurations, auditing, and authentication, and another can concentrate on the functional
code. Any number of shells can be created, but these will enforce the inner applications to
automatically comply with these standards.
With corporate policies enforced by the shell, application developers can focus on the core
functionality of the application, such as the user interface, the business logic, and data
integration. When completed, the shell and inner application development constructs are
distributed into a single app.
3.6.2 Client runtime environment
The client runtime environment, as discussed in 3.1.3, “Worklight Device Runtime
Components” on page 24, consists of frameworks, libraries, APIs, and code bases to support
the execution of apps on the mobile device.
3
From IBM Worklight 6.0 Technology Overview
http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USEN.PDF
32 IBM MobileFirst Strategy Software Approach
This functionality enables the deployment of runtime code to the mobile device, with
embedded server functionality.
Worklight provides a framework that enables the development, optimization, integration, and
management of secure apps that run on client devices. The framework provides the following
features:
Automatic packaging and provisioning of application resources
Tools that provide uniform access to back-end enterprise data, processes, and
transactions
Uniform persistence
Flexible authentication and automatic application protection from web attacks
Worklight uses the Apache Cordova development framework (Table 3-1) to deliver a bridge
between standard web technologies (such as HTML5, CSS3, and JavaScript) and the native
functions that the mobile device provides. Therefore, your team does not need to learn or
adopt a proprietary programming language or model.
Table 3-1 Worklight development frameworks and programming models
Client-side runtime APIs are provided to improve application development, enabling the
application to access various features during run time. The libraries are bundled into the
application, and integrate with the mobile app and the Worklight Server through predefined
communication interfaces.
Mobile OS Devices Native
applications
Hybrid
applications
Web
applications
iOS4+ iPhone, iPad,
iPod Touch
Objective C Cordova Yes
Android 2.2 - 4.2 Phones and
tablets
Java Cordova Yes
BlackBerry 6, 7,
and 10
Phones - Web Works Yes
Windows Phone
7.5 and 8.0
Phones - Cordova Yes
Windows 8
(including RT)
Desktops,
notebooks, and
tablets
- Cordova Yes
Feature Phones Phones Java ME - Yes (mobile
browser must
support HTML4,
CSS 2.1, or
JavaScript 1.5, or
later versions)
Chapter 3. IBM Worklight overview 33
3.6.3 Server runtime environment
The Worklight Server, discussed in 3.1.2, “Worklight Server” on page 24, provides a run time
for adapters, analytics, push notifications, and application hosting services.
Server-side APIs are provided to integrate communication between the mobile app and
back-end systems. JavaScript and Java APIs can be called to perform functions, such as
authentication, accessing web services, accessing a database, and subscribing to push
notifications.
By developing server-side application code, the mobile app has direct access to back-end
transactional systems, such as IBM CICS Transaction Server, and cloud-based services.
Performance, security, and maintenance are centralized.
Built-in JSON translation is provided to reduce the amount of data transferred between the
mobile app and the Worklight Server. JSON is a lightweight and human-readable data
interchange format, and because it is smaller than other data interchange protocols, such as
XML, it can be quickly generated and parsed. The Worklight Server can automatically convert
hierarchical data to the JSON format, further optimizing delivery and consumption by the
mobile app.
A built-in security framework provides connectivity and integration into existing enterprise
security systems, and sends connection credentials to the back-end. This enables the mobile
app to use existing security systems, with credentials residing on the server, not the device.
Client-side APIs: Client-side APIs include the following key features:
Cross-platform compatibility, to support development across all platforms, such as
accessing common control elements of tab bars, clipboards, location services, and the
camera.
Client-to-server integration, to ensure transparent communication between a mobile
app and the Worklight Server. Worklight mobile apps always use an SSL-enabled
connection to the server.
An encrypted data store, to access private data, using ISO/IEC 18033-3 standards,
such as AES256 or PCKS#5.
The ability to synchronize mobile app data with related data on the back-end, using
JSON.
Runtime skinning for abstracting devices from the design of the user interface. The
runtime skin is applied during run time to configure to screen resolution, operating
system, and form factor.
34 IBM MobileFirst Strategy Software Approach
The adapter library can be used to connect to various back-end systems, with adapters
provided for SOAP, XML over HTTP, Java Database Connectivity (JDBC), and Java Message
Service (JMS), as shown in Figure 3-9. With this capability, complex lookup procedures can
be defined, and data combined from multiple back-end services. This aggregation reduces
the amount of network traffic to and from the mobile device.
Figure 3-9 Worklight adapters for back-end connectivity.
The push notification service in the server runtime environment (Figure 3-10) is an
abstraction layer for sending notifications to the mobile device, using either the device
vendor’s infrastructure or the Worklight Server Software Management Services (SMS)
capabilities.
The request to subscribe to notifications is sent from the user’s application to the Worklight
Server, containing information about the device and platform. The system administrator can
manage subscriptions, notifications from back-end systems, and use the Worklight
Application Center to send notifications to the devices.
Figure 3-10 Worklight Push Notification service
Chapter 3. IBM Worklight overview 35
The operational analytics feature enables searches across applications, services, devices,
and other sources, to reveal usage data or detect problems. In addition to summary report
data, more detailed operational analytics are available in the Worklight Console, described in
3.1.5, “Worklight Console” on page 25, and in Tealeaf CX Mobile, in Chapter 9, “IBM
MobileFirst Analytics overview” on page 183.
Worklight includes the IBM WebSphere Analytics Platform (IWAP), which drives the Worklight
analytics feature. IWAP is designed to help understand the volume, velocity, veracity (amount
of noise in data), and variety of mobile data.
Figure 3-11 shows how Worklight can interface with IWAP, and together with Tealeaf CX
Mobile, can create detailed reports on mobile data to be accessed by Business Intelligence
and Reporting Tools (BIRT).
Figure 3-11 Worklight Operational Reporting interfacing with Tealeaf CX Mobile
3.6.4 Console
The Worklight Console is a centralized web-based portal, used for the control and
management of the deployed application, and supports the analysis of user statistics
collected by the Worklight Server runtime environment.
Details of the functionality and capability of the console are described in 3.1.5, “Worklight
Console” on page 25.
36 IBM MobileFirst Strategy Software Approach
The console consists of application catalogs, a dashboard, and a push notification display.
Figure 3-12 shows an example of the push notifications panel, with the left column displaying
the list of data sources configured in the Worklight Server and how many users are
subscribed to it. The column on the right displays the deployed applications that can receive
push notifications, how many notifications have been sent since system startup, and any
errors that have occurred.
Figure 3-12 Worklight Console push notification
3.6.5 Worklight Application Center
The Worklight Application Center is made up of four main components:
The mobile client application is used to install applications on a mobile device, and to send
feedback about the application to the server.
The web console is a Java-based application, hosted server-side, that must be deployed
in a web application server, such as IBM WebSphere Application Server.
Application center services provide functions, such as listing available applications,
delivering binary files to the mobile device, and registering feedback and ratings.
The server-side component consists of an administration console and the mobile apps.
Details are described in 3.1.4, “Worklight Application Center” on page 25.
Chapter 3. IBM Worklight overview 37
A database repository is held on the server. It contains information regarding which apps are
installed on mobile devices, the feedback about apps, and the application binary files.
A web administration console is provided to enable users to manage apps, user access rights
to install apps, feedback, and details about the apps installed on devices.
Figure 3-13 shows how the Worklight Application Center can be used to view all of the apps
installed on a device.
Figure 3-13 Worklight Application Center showing installed applications
Figure 3-14 shows the architecture of the Worklight Application Center, and how the
Application Services can use services.
Mobile devices can view the apps available to install through the catalog service or the install
service, and they can provide feedback through the feedback services. The Worklight
Application Center mobile app is installed locally on the mobile device, and an administrator
uses the Worklight Application Center Console to manage the entire process.
Figure 3-14 Worklight Application Center architecture
Applications developed in the Worklight Studio can be published directly into the Worklight
Application Center.
38 IBM MobileFirst Strategy Software Approach
© Copyright IBM Corp. 2014. All rights reserved. 39
Chapter 4. Application of IBM Worklight in
IBM MobileFirst
This chapter contains details about the implementation of a mobile insurance application
(app) for the fictional Insurance Company A using IBM Worklight. This chapter assumes basic
knowledge of general application development, but you might have not previously developed
a Worklight mobile app. It also assumes basic knowledge of Eclipse.
This chapter walks through the steps of creating the first couple of screens of the mobile app,
called Open Insurance, for Insurance Company A. This chapter does not provide detailed
steps for implementing the entire mobile app, but has enough information and examples to
demonstrate the various components and capabilities of IBM Worklight.
For a more in-depth look at developing a mobile app using Worklight, see the IBM Redbooks
publication Extending Your Business to Mobile Devices with IBM Worklight, SG24-8117.
This chapter introduces the capabilities of IBM Worklight used to accomplish the following
tasks:
Design and develop a mobile application.
Integrate with backend services.
Deploy a mobile application.
Manage a deployed application.
Secure access to application resources.
The chapter describes the detailed steps of how to create a mobile app using Worklight, and
provides information about other scenarios in high level, that are not covered in detail.
Throughout this chapter, you will use resources that have been supplied as companion files,
such as source code and graphic contents. To retrieve these files, see Appendix A,
“Additional material” on page 249.
4
40 IBM MobileFirst Strategy Software Approach
4.1 Design and develop with Worklight
In this section, you use Worklight Studio to design and develop the Open Insurance mobile
app for Insurance Company A. You will explore various features available in the integrated
development environment.
4.1.1 Introducing Worklight Studio projects
In Worklight Studio, work is organized in projects in a workspace.
All developer assets, including source code, libraries, and resources, are placed in a project
folder. In the project folder, each application you create has a top-level application folder and
several sub-folders:
For hybrid applications, a common folder to store code that is shared between all
environments, such as HTML, Cascading Style Sheets (CSS), and JavaScript code
Additional folders to store code that is specific to each supported environment, for
example JavaScript functions or CSS formatting
An adapters folder, to store the code of the adapters that the application requires to
interact with back-end systems
The IBM WebSphere Liberty Profile (WLP) development server is available for hosting the
Worklight Projects during development and unit testing. Each Worklight Project will have its
own Worklight Server run time deployed as a customized web archive (WAR) to the WLP
server.
4.1.2 Creating an application project
Worklight provides different sets of capabilities to rapidly develop mobile application screens
or pages, such as page templates. However, in this exercise you will walk through the manual
step-by-step approach to get familiar with the tooling:
1. Start Worklight Studio, if not already started.
2. Select a workspace location that will be used for this project. Remember that any
customizations done in a workspace, such as browser preferences or view customization,
will be lost if a new workspace is chosen in a future startup.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 41
3. Select File  New  Project to display the New Project wizard (Figure 4-1).
Figure 4-1 Create a new worklight project
4. Select Worklight Project, and then click Next.
5. In the next wizard, enter InsuranceProj as the project name, select Hybrid Application
from the list of Project Templates, and then click Next (Figure 4-2).
Figure 4-2 Enter Project name and choose Hybrid application
Notice that there are other options available, such as Native and Shell. You will focus on a
hybrid application in this scenario, but Worklight is not limited to a single model.
6. In the next wizard, enter openInsurance in the Application Name field.
7. The user interface will be built using jQuery Mobile, so select the Add jQuery Mobile
check box to add the jQuery Mobile library.
42 IBM MobileFirst Strategy Software Approach
8. Under the check box there is a Location field. Click the archive icon located to the right of
the folder icon and navigate to a location where the jquery.mobile-1.3.1.zip companion
file was saved (Figure 4-3).
Figure 4-3 Select a location
9. In the list of resources, select the images folder, and the .css and .js files that are shown
in Figure 4-3, and then click Finish. If a prompt to switch to the Design perspective
appears, click Yes (Figure 4-4).
Figure 4-4 Application Descriptor Editor opens in Design view after the wizard completes
Chapter 4. Application of IBM Worklight in IBM MobileFirst 43
10.The project is now created and the Application Descriptor editor opens automatically.
Close this editor for now and revisit at a later step.
11.In the Project Explorer, open the openInsurance.html file located under the
apps/openInsurance/common directory. The file is opened in the Rich Page editor (RPE),
as shown in Figure 4-5.
Figure 4-5 Worklight Studio: Project Explorer, rich page editor, and Palette
Prepare the development environment
Follow these steps:
1. Expand the InsuranceProj/apps/openInsurance/common/images folder.
44 IBM MobileFirst Strategy Software Approach
2. Locate the images directory from the resource companion files and copy the content into
this folder. The result should be as shown in Figure 4-6.
Figure 4-6 The result of copying the images content from the resource companion files
Create the splash page
Follow these steps:
1. In the RPE, select the Split tab in the lower left corner, as shown in Figure 4-7 on page 45.
Then select the Vertical (side by side) mode in the upper right corner and then select
Apple iPhone 5 from the list of Devices.
2. In the source code pane, locate the <body> element, and then delete the openInsurance
text located after the <!--application UI goes here--> comment. This is the default user
interface that is generated with the application content. The default will be replaced with
content created in the following steps.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 45
Figure 4-7 Rich Page editor in split and vertical mode
3. In the Properties view, typically in the lower right of the screen, locate and update the
Page Id to splashPage (Figure 4-8).
Figure 4-8 Properties view to update page Id to splashPage
4. Review the Mobile Navigation view, typically in the lower left corner of the screen, to make
sure that the change has been applied (Figure 4-9).
Figure 4-9 Mobile Navigation view
46 IBM MobileFirst Strategy Software Approach
5. From the Project Explorer, expand the apps/openInsurance/common/images directory, and
drag the Logo.png image file into the page content where the current display is Insert
Widgets here, as shown in Figure 4-10.
Figure 4-10 Drag Logo.png image into page content
6. In the Source panel, update the padding to 0px. The code should look similar to that
shown in Figure 4-11.
Figure 4-11 The splashPage source code
Create the login page
Follow these steps:
1. In the Palette view, locate the Page widget (Figure 4-12).
Figure 4-12 Page widget in Palette view
2. Drag the Page widget into the content under the splashPage, as shown in Figure 4-13 on
page 47. Make sure that the message in the RPE can be seen before dropping the content
into the canvas.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 47
Figure 4-13 Add a Page widget
3. Change the Page ID to loginPage.
4. In the Mobile Navigation view, double-click the loginPage to move the focus of the RPE to
it (Figure 4-14).
Figure 4-14 Select loginPage in Mobile Navigation view
5. From the Project Explorer, drag logo_login.png into the page content (Figure 4-15).
Figure 4-15 Drag image file into page canvas
6. In the source pane, update the padding to 2px.
7. You might want to adjust the source code tab formatting a bit to make the code look tidy
throughout the process (Figure 4-16).
Figure 4-16 Code for loginPage
48 IBM MobileFirst Strategy Software Approach
Add a few input fields
Follow these steps:
1. In the Palette view, locate the Text Input widget (Figure 4-17).
Figure 4-17 Text Input widget in Palette view
2. Drag the Text Input widget into the content after the image (Figure 4-18).
Figure 4-18 Drop Text Input widget into page canvas
3. Insert a second Text Input widget under the first (Figure 4-19).
Figure 4-19 Insert additional widget into page canvas
4. The generated source code should look similar to Figure 4-20.
Figure 4-20 Source code of loginPage after adding widgets
5. In the Source panel, change the first <label for="text">Text Input:</label> to
<label for="text">user id</label>, then change the second Text Input: to password.
6. Next, change the first input text id="text" to id="txtUser" placeholder="ex. Johndo84"
change id="text0" to id="txtPass", and change the last input type="text" to input
type="password". The result should look similar to Example 4-1.
Example 4-1 The loginPage code
<div data-role="page" id="loginPage">
<div data-role="content" style="padding: 2px">
<img src="images/logo_login.png">
<label for="text">user id</label>
Chapter 4. Application of IBM Worklight in IBM MobileFirst 49
<input type="text" name="text" id="txtUser" placeholder="ex. Johndo84">
<label for="text0">password</label>
<input type="password" name="text0" id="txtPass">
</div>
</div>
7. Select the txtUser input text box in the Design pane to display the property details.
8. Select the All tab, then enter place in the Value search box to filter and display the
placeholder property, as shown in Figure 4-21.
9. Enter ex. Johndo84 in the Value box.
Figure 4-21 Placeholder text
10.Select the txtPass box in the Design pane to display the property details:
a. Select the Tag tab.
b. Choose the Password Input type radio button (Figure 4-22).
Figure 4-22 Password box properties detail
50 IBM MobileFirst Strategy Software Approach
Add the login button and social network images
Follow these steps:
1. In the Palette view, locate the Grid widget (Figure 4-23).
Figure 4-23 Grid widget
2. Drag the Grid widget under the Input Text box (Figure 4-24).
Figure 4-24 Add Grid widget
Chapter 4. Application of IBM Worklight in IBM MobileFirst 51
3. Click in the grid, and use the hover control to add a row after it (Figure 4-25).
Figure 4-25 Add second row to grid
4. The loginPage should now look similar to Figure 4-26.
Figure 4-26 The loginPage grid
5. In the Palette view, locate the Button widget (Figure 4-27).
Figure 4-27 Button widget
52 IBM MobileFirst Strategy Software Approach
6. Drag the Button widget into the grid Column 2 (Block B) in the upper right corner
(Figure 4-28).
Figure 4-28 Add button widget
7. Double-click the button, and then change the text to Login (Figure 4-29).
Figure 4-29 Login button text
Chapter 4. Application of IBM Worklight in IBM MobileFirst 53
8. In the Properties view, select the Tag tab and change the Id: to loginBtn (Figure 4-30).
Figure 4-30 Login button properties details
9. Select the jQuery tab and clear the Rounded corners check box, as shown in
Figure 4-31.
Figure 4-31 Login button properties detail
Add links
Follow these steps:
1. In the Palette view, locate the Link widget (Figure 4-32).
Figure 4-32 Link widget
54 IBM MobileFirst Strategy Software Approach
2. Drag a Link widget into Column 2 (Block B) under the loginBtn button (Figure 4-33).
Figure 4-33 Add link widget
3. Double-click the link and rename it Register (Figure 4-34).
Figure 4-34 Register link
4. In the Properties view for the link, select the Tag tab and change the Id: to registerLnk
(Figure 4-35).
Figure 4-35 Register link properties detail
5. Repeat this procedure to add a Forgot Password link (Figure 4-36).
Figure 4-36 Password properties detail
Chapter 4. Application of IBM Worklight in IBM MobileFirst 55
6. Add a pipe after the Register link to separate the two words by adding &nbsp;|&nbsp; to
the right at the end of the link. The source code can be found in Example 4-2.
Example 4-2 Add pipe between links
<a href="#" id="registerLnk">Register</a> &nbsp;|&nbsp;
7. The result should look similar to Figure 4-37.
Figure 4-37 Add pipe to separate links
Add images
Follow these steps:
1. From the Project Explorer image folder, drag the icon_fb.png file to the second row,
Column 2 (Block B) grid directly beneath the one used for Login.
2. From the Project Explorer image folder, drag the icon_twitter.pnf file to the same grid as
in the previous step (Figure 4-38).
Figure 4-38 Add icon images
3. In the Source panel, add id="social-block" to the div tag class="ui-block-b", as shown
in Figure 4-39. This id="social-block" references a CSS rule that will be implemented
later. It will be used to format this specific element.
Figure 4-39 Add CSS rule reference
Create the home screen
The following steps do not have as many details as before, because you have already seen
them in the previous sections:
1. From the Palette, drag a Page widget into the Design Panel beneath the loginPage. You
can refer back to the steps in Figure 4-13 on page 47 for adding the loginPage for
reference if needed.
56 IBM MobileFirst Strategy Software Approach
2. In the Properties view, update the Id: to homePage (Figure 4-40).
Figure 4-40 Change Id to homePage in properties
3. In the Mobile Navigation view, select and open the homePage (Figure 4-41).
Figure 4-41 Select homePage in Mobile navigation
4. In the Source panel, update the homePage content padding to 2px.
5. From the Project Explorer images folder, drag the logo_lgin.png file into the page content.
The source code should look similar to Figure 4-42.
Figure 4-42 Login button code
Build the page menu
Follow these steps:
1. From the Palette, drag a Grid widget into the content after the <img> tag. The result should
look similar to Figure 4-43.
Figure 4-43 Add a grid
Chapter 4. Application of IBM Worklight in IBM MobileFirst 57
2. In the Properties view, set the Id: to menu (Figure 4-44).
Figure 4-44 Grid properties detail
3. Add a column to the menu grid. The result should look similar to Figure 4-45.
Figure 4-45 The homePage menu grid
4. Add a second row to the menu grid. The result should look similar to Figure 4-46.
Figure 4-46 The homePage menu grid
Add images into the menu grid
Follow these steps:
1. From the Project Explorer images/menu folder, drag the manage.png file into the first row,
Column 1 (Block A) block (Figure 4-47).
Figure 4-47 Menu folder images
58 IBM MobileFirst Strategy Software Approach
2. Drag the claims.png file into the first row, Column 2 (Block B) block.
3. Drag the message.png file into the first row, Column 3 (Block C) block.
4. The result should look similar to Figure 4-48.
Figure 4-48 The homePage with first row icons
5. Drag the roadside.png file into the second row, Column 1 (Block A) block.
6. Drag the contact.png file into the second row, Column 2 (Block B) block.
7. Drag the logout.png file into the second row, Column 3 (Block C) block.
8. The result should look similar to Figure 4-49.
Figure 4-49 The homePage with two rows of icons
9. From the Palette, drag a Label widget for each one of the images, into the column after
<img>.
10.Change the label name according to their images: Manage, Claims, Messages, Road
Side, Contacts, Log Off.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 59
11.The result should look similar to Figure 4-50. Do not be alarmed about the formatting of
the text label displacements. This will be adjusted by the CSS formatting in a later step.
Figure 4-50 The homePage icons with labels
12.Add id="logoutBtn" to the ui-block-c div tag for the logout.png image, as shown in
Figure 4-51.
Figure 4-51 Add CSS reference to logoutBtn button code
Add the “I’ve been in an accident” button
Follow these steps:
1. From the Palette, drag a Button widget into the homePage content after the grid.
2. Change the button text to I’ve been in an accident.
3. In the Properties view, update the button Id: to accidentBtn and clear the Rounded
corners check box (Figure 4-52).
Figure 4-52 Button detail properties
60 IBM MobileFirst Strategy Software Approach
4. The design panel should look similar to Figure 4-53.
Figure 4-53 RPE homePage preview
5. Save and close the openInsurance.html file.
Develop the logic that ties the screen together
Follow these steps:
1. In the Project Explorer common/js folder, open the openInsurance.js file (Figure 4-54).
Figure 4-54 The openInsurance.js file in the Project Explorer
2. Add the code in Example 4-3 after the wlCommonInit() function shown in Figure 4-55.
Figure 4-55 The wlCommonInit() function in openInsurance.js
Example 4-3 Add the following code after the wlCommonit() function
$("#splashPage").on("pageshow", function(){
$.mobile.showPageLoadingMsg();
window.splashTimerId = setTimeout(removeSplashScreen, 2000);
});
Chapter 4. Application of IBM Worklight in IBM MobileFirst 61
function removeSplashScreen(){
$.mobile.hidePageLoadingMsg();
$.mobile.changePage( "#loginPage", { transition: "pop"} );
}
$("#loginBtn").on("click",function(){
$(this).trigger("blur");
setTimeout(function(){
$.mobile.changePage("#homePage", {transition: "flip"});
}, 350);
});
$("#logoutBtn").on("click",function(){
$(this).trigger("blur");
setTimeout(function(){
$.mobile.changePage("#loginPage", {transition: "flip"});
}, 350);
});
3. The code you just entered will bind the click event for each of the buttons and call the
changePage function to go between the different pages.
Update the application initialization option
Follow these steps:
1. Open the initOptions.js file located under the openInsurance/common/js folder.
2. Change the connectOnStartup property value to true (Example 4-4). By doing this, you
are telling the application to attempt to connect to the Worklight Server on startup. This will
enable the framework to check for various things, such as updates and authenticity.
Example 4-4 Connect to server on startup
// # Should application automatically attempt to connect to Worklight Server
on application start up
// # The default value is true, you are overriding it to false here.
connectOnStartup : true,
3. Uncomment and implement the onConnectionFailure callback function (Example 4-5). If
during initialization the application is not able to contact the Worklight Server, initialize and
log it. This is useful for running application in offline mode.
Example 4-5 Initialize even if there is no connectivity to the Worklight Server
onConnectionFailure: function (){
wlCommonInit();
WL.Logger.debug('Unable to connect to Worklight Server, running
offline');
},
At this point, make sure to save all of the files that you have been working with.
62 IBM MobileFirst Strategy Software Approach
See how the application currently looks
Follow these steps:
1. Before proceeding to the next step, make sure that you set the workspace browser
preference to Use external web browser, as shown in Figure 4-56.
Figure 4-56 Eclipse workspace web browser setting
2. You can either select your browser or choose to use the system default browser. The
suggested browsers are Google Chrome, Safari, or Firefox. In this example, Google
Chrome will be used, and it is set as the default system browser, as shown in Figure 4-57.
Figure 4-57 Google Chrome as default system browser
Chapter 4. Application of IBM Worklight in IBM MobileFirst 63
Previewing directly from Worklight Studio
Follow these steps:
1. In the Project Explorer, select the openInsurance.html file. Right-click and select Run
As  Preview, as shown in Figure 4-58.
Figure 4-58 Preview openInsurance.html using Eclipse menu
2. This causes the application to be deployed and a browser window (in this case Google
Chrome) opens. You will see a screen similar to that shown in Figure 4-59. There is
actually a splash screen that appears before this login screen, but quite quickly.
Figure 4-59 Login page preview
64 IBM MobileFirst Strategy Software Approach
3. Enter your credentials, and then click the Login button. You will be taken to the homePage
screen (Figure 4-60). Do not worry about the offset in alignment of the text. It will be
addressed later on.
Figure 4-60 Menu page preview
4. You can play around with the different icons a bit if you want. Click the Log Off button to
return to the loginPage.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 65
Access the preview using the Worklight Console
Another way to access the same web preview of the application is using the Worklight
Console. Each Worklight project has a console that can be used to manage and access the
Worklight application resources in it:
1. In the Project Explorer, right-click the InsuranceProj folder and select Open Worklight
Console (Figure 4-61).
Figure 4-61 Open Worklight Console using Eclipse shortcut
2. The IBM Worklight Console will open in a new browser window, or a new tab if an existing
browser is already running (Figure 4-62).
Figure 4-62 Worklight Console showing common web environment
3. Click the Preview as Common Resource link to open a new window or tab (depending
on your browser setting preferences) with the similar web preview screen.
4. You are looking at a web preview of the application as just designed using the RPE. There
has not been any CSS design formatting applied yet.
66 IBM MobileFirst Strategy Software Approach
Apply CSS logic to make the application look better
Follow these steps:
1. In the Project Explorer, open the openInsurance.css file under the common/css folder
(Figure 4-63).
Figure 4-63 Supplied default CSS rules
As you can see, the default CSS is quite basic, so you need to add your own CSS rules.
2. The source code included in the companion resources has a copy of openInsurance.css.
Copy that file into the common/css folder and override the current implementation.
3. There are many more rules created specifically for the content that you just created.
Review them for yourself, because this section will not go into details. This is because
CSS is not the intended focus of this chapter.
4. After applying the new CSS rules, use the Mobile Navigator to open the splashPage, as
shown in Figure 4-64. It might be necessary to close and reopen the openInsurance.html
file.
Figure 4-64 Splash page after applying new CSS rules
Chapter 4. Application of IBM Worklight in IBM MobileFirst 67
5. Using the Mobile Navigation view, open the loginPage and review the changes to the
layout (Figure 4-65).
Figure 4-65 Login page after applying new CSS rules
6. Using the Mobile Navigation view, open the homePage screen. Notice that the icon
images and text are formatted much nicer now than initially (Figure 4-66).
Figure 4-66 Home page after applying new CSS rules
68 IBM MobileFirst Strategy Software Approach
7. The I’ve been in an accident button looks much different than before. Locate the
accidentBtn CSS rule in openInsurance.css to see the implement details (Figure 4-67).
Figure 4-67 Accident button CSS rules
Add mobile environments (iPhone and Android)
IBM Worklight is a first-class platform that you can use to develop mobile apps using web,
hybrid, and native methodologies. This example showcases the hybrid approach to achieve
quick time-to-market and maximum reuse across different platforms. The previous steps
showed how to start developing the screens and logic using web technologies. Now you will
add in the support for installing a native application on mobile devices.
This example is demonstrated using Android Virtual Device (AVD), because it is more
generally available and can be used on most desktop operating systems at no charge. The
general steps apply to anyone that might be using an Apple Mac with the Apple-provided
software development kit (SDK) Xcode available.
An optional (but quite useful) step for testing with AVD is to install the Intel Hardware
Accelerated Execution Manager (HAXM). You can find more detailed instructions and the
required code from the Android Developer Guide:
http://developer.android.com/tools/devices/emulator.html
Chapter 4. Application of IBM Worklight in IBM MobileFirst 69
Follow these steps:
1. In the Project Explorer, select the openInsurance application folder. Right-click it and
choose Worklight Environment, as shown in Figure 4-68.
2. This opens the new Worklight Environment dialog box, as shown in Figure 4-68. You can
also find the same menu by using the Eclipse File  New path.
Figure 4-68 Adding Worklight Environment
3. Select the iPhone and Android phones and tablets check boxes, and then click Finish
(Figure 4-69).
Figure 4-69 Worklight environments list
70 IBM MobileFirst Strategy Software Approach
4. In the Project Explorer, locate the newly created iphone and android folders under the
openInsurance application folder (Figure 4-70).
Figure 4-70 Application folder structure after adding iPhone and android mobile environments
Explore the content and you will see that the structure is similar to the common folder with
additional native folders. This is the optimization structure that IBM Worklight provides for
centralization of common code and customization to specific environments. The folder
structure enables simple overriding of content, such as HTML or graphic resources, and
extending additional CSS or JavaScript logic that might apply only to the specific
environments.
5. Right-click the openInsurance application folder and select Run As  Build All and
Deploy (Figure 4-71).
Figure 4-71 Build All and Deploy
This action initiates the Worklight builder tools:
a. Take the content from the common folder.
b. Determine if there have been any customizations added in the environment.
c. Build the native project with them.
d. Deploy the web content to the running development Worklight Server.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 71
6. In the Project Explorer, open the android folder and look at the content of the sub folders,
as shown in Figure 4-72.
Figure 4-72 Explore android environment folder
There are placeholder files in the css and js folders for any custom functions or rules that
you want to add for Android explicitly. The native and nativeResources folders contain the
content required for a native Android project (Figure 4-73). With the appropriate Android
Development Tool (ADT) and SDK installed in your Worklight Studio environment, you can
see that the Android native project that was created by the Worklight build process is
available in your workspace.
There are useful training modules available for setting up the Worklight development
environment, and Android and iOS environments, located in the Getting Started with IBM
Worklight documentation:
http://www.ibm.com/developerworks/mobile/worklight/getting-started.html#setup
Figure 4-73 Android native project for openInsurance
4.2 Integrate with IBM Worklight
Worklight applications, mobile, mobile web and other web based supported environments
connects to backend application and services using the Worklight adapter framework hosted
on the Worklight Server.
72 IBM MobileFirst Strategy Software Approach
Worklight supports a variety of connectivity options for communicating with back-end
systems, such as an HTTP adapter for connecting to SOAP or Representational State
Transfer (REST)-based services, a SQL adapter for database backends, a Java Message
Service (JMS) adapter for messaging-based backends, and much more.
4.2.1 Overview of the HTTP adapter
This section will use a simple HTTP adapter to serve as an example of how the Insurance
Company A mobile Worklight application openInsurance can integrate with backend
resources. The example is based on the reference information and examples from the Getting
started with IBM Worklight materials, specifically the Adapter-based authentication module.
This example will be expanded upon in a later Security section.
For more information about adapters, review the “Overview of IBM Worklight Adapters” article
on the Worklight 6.0 Information Center:
http://pic.dhe.ibm.com/infocenter/wrklight/v6r0m0/topic/com.ibm.worklight.help.do
c/devref/c_overview_of_ibm_worklight_adap.html
http://www.ibm.com/developerworks/mobile/worklight/getting-started.html#security
http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v600/AdapterBa
sedAuthenticationProject.zip
4.2.2 Using the HTTP adapter
This section describes the steps to create, implement, and test an HTTP adapter called
SimpleAdapter.
Create the SimpleAdapter
Follow these steps:
1. In the Project Explorer, right-click the InsuranceProj project and select Worklight
Adapter to create a Worklight adapter (Figure 4-74).
Figure 4-74 Create Worklight adapter
Chapter 4. Application of IBM Worklight in IBM MobileFirst 73
2. Make sure that InsuranceProj is selected for Project name. Choose HTTP Adapter for
the adapter type. Enter SimpleAdapter for the adapter name (Figure 4-75).
Figure 4-75 Create HTTP SimpleAdapter
3. Click Finish. The adapter editor is opened by default to the Design tab of the
SimpleAdapter.xml file (Figure 4-76).
Figure 4-76 SimpleAdapter.xml descriptor file in design mode
74 IBM MobileFirst Strategy Software Approach
4. Delete the default procedures, then add a procedure Name getData. Optionally, add a
Description, as shown in Figure 4-77.
Figure 4-77 The create getData procedure
5. Save the SimpleAdapter.xml file.
Implement the SimpleAdapter
In the Project Explorer, you can see that there is a subfolder called SimpleAdapter under the
adapters folder. Adapters are server-side artifacts that are also developed and unit tested in
the Worklight Studio. The SimpleAdapter.xml file is the declarative descriptor component of
the adapter. To implement the server-side functionality of the adapter, you need to work with
the SimpleAdapter-imp.js file.
1. Add a getData() function call and add the implementation code (Example 4-6).
The implementation of this function returns a hardcoded response when a request is
made by the client code. Typically a server procedure would connect to HTTP backends,
such as SOAP or REST services, to POST or GET data. The comments of the
SimpleAdapter-imp.js file contain an example of how the WL.Server.invokeHttp API is
implemented.
Example 4-6 Add getData() function implementation
function getData(){
return {
data: "something simple"
};
}
The default functions can be deleted or left as an example if you want. Save the
SimpleAdapter-impl.js file.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 75
Testing the SimpleAdapter
After you have implemented the SimpleAdapter, you can do initial unit testing of the function
to make sure that connectivity exists and functionality is valid.
1. In the Project Explorer, select the SimpleAdapter folder, right-click it, and choose Run
As  3 Invoke Worklight Procedure (Figure 4-78).
Figure 4-78 Start Worklight Procedure
2. A dialog box window opens to enable selecting the desired procedure to start. Because
there is only one procedure in this implementation, it is selected by default. Initially, there is
no parameter for this request, but if a backend request requires parameter input, it can be
provided using this dialog box. Click Run to run the test (Figure 4-79).
Figure 4-79 Select Worklight procedure
76 IBM MobileFirst Strategy Software Approach
3. The adapter will be deployed to the local development Worklight Server run time. The
request will be run, then Worklight Studio will display the response in the default web
browser (Figure 4-80).
Figure 4-80 Invocation result
4. You can see that the invocation was successful because the response returned the data
that you hardcoded in the implementation. Verify in the Worklight Console that there is
now a SimpleAdapter deployed to the Worklight Server (Figure 4-81).
Figure 4-81 Deployed SimpleAdapter
The default connection information can be ignored, because you are not actually calling
out to a backend service. The getData procedure is listed in the details.
Implement application client code
Now that you have validated that the invocation of the Worklight adapter is functioning,
implement a simple client-side code to start the procedure from a Worklight Application.
1. Open the openInsurance.js file, then add the following function, as shown in Example 4-7.
The function calls the Worklight client invokeProcedure API and passes it the Worklight
adapter, procedure name, and any optional parameters. When the Worklight Server
receives the request, it runs the target function and returns a response to the client caller.
Example 4-7 Client-side getData function implementation
function getData(){
var invocationData = {
Adapter :'SimpleAdapter',
procedure : 'getData',
parameters : []
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : getDataCallback,
onFailure : getDataCallback
});
}
Chapter 4. Application of IBM Worklight in IBM MobileFirst 77
Typically there would be a success and failure callback, but in this case you are retrieving
a hardcoded value so there is no expectation for failure.
2. Implement the getDataCallback function to handle the response from the request
(Example 4-8). In this case, you will take the JSON response and print it in an alert dialog.
Example 4-8 Display adapter response in client application in an alert
function getDataCallback(response){
alert("getDataCallback response: "+
JSON.stringify(response.invocationResult.data));
}
3. To test using the client code, you need to call the function from an element. Use the
Claims icon button to call the function from the client code, as shown in Example 4-9.
When the user clicks the Claims button, the local getData() client function will be called.
Example 4-9 Update claim button to call getData() function
<div class="ui-block-b" id="claimBtn" onclick="getData()">
<img src="images/menu/claims.png">
<label id="label0">Claims</label>
</div>
4. Build and deploy the code change, then use the Worklight Console to preview the
common environment. Testing the application should display a response similar to that
shown in Figure 4-82.
Figure 4-82 Testing adapter using console preview
78 IBM MobileFirst Strategy Software Approach
4.3 Deploy with IBM Worklight
This section provides information about the various ways that you can deploy Worklight
applications.
4.3.1 Deployment options
Worklight applications can be deployed in several different ways, depending on the scenario.
During the iterative design and development stage, it is common to use the Worklight Studio
integrated development environment (IDE) to deploy and test the work in progress content.
The tooling provides the capabilities needed for building, deploying, and testing Worklight
application resources, as seen in previous sections. Each Worklight workspace contains an
integrated Worklight Server environment used for this purpose.
After completing the unit development and testing period, it is often necessary to move to a
more centralized remote environment for integration development and testing activities. In this
scenario, it is common to interact with a remotely installed Worklight Server. To deploy
application resources to such a server, you can use the Worklight Console web interface or
command-line interface (CLI)-driven Worklight Ant tasks.
More details about using the Worklight Console can be found in 4.4, “Manage with IBM
Worklight” on page 96.
The following sections provide information about the different ways to deploy the Worklight
server-side resources. Worklight (and non-Worklight) mobile app clients need to be deployed
and distributed as well. For this, IBM Worklight provides a feature called IBM Worklight
Application Center (App Center). App Center is a production-grade private app store that can
be used as a means of distributing and sharing apps inside an enterprise.
Whether the mobile app will be targeted for public consumption through vendor-specific app
stores, such as Apple iTunes, Google Play, or Windows Marketplace, or if the mobile app will
be made available for internal enterprise consumption only, App Center has a role in the
development, testing, and production means of distributing the mobile apps to users.
4.3.2 Performing the deployment
To proceed with the App Center section, you will need to have access to, and have installed
an entitled version of, IBM Worklight. App Center is not available as part of the Worklight
Development Server included with IBM Worklight Studio. This section assumes that you have
already completed the installation of an external Worklight Server and App Center.
After you have the App Center server installed, you can upload the Android Application
Center mobile client, as described in the following section for the Insurance Company A
openInsurance application. The prepackaged .apk file can be found under the IBMAppCenter
folder:
{INSTALL_ROOT}/ApplicationCenter/installer/IBMAppCenter/IBMApplicationCenter.apk
Chapter 4. Application of IBM Worklight in IBM MobileFirst 79
Worklight Application Center server
Follow these steps:
1. Open the App Center server console. The following URL is the default:
<server>:<port>/appcenterconsole
2. Enter your credentials to access the App Center console (Figure 4-83). The default
credential is demo/demo depending on how your server was installed.
Figure 4-83 Worklight Application Center login
The console enables a developer or administrator to add, delete, or manage access
control to their mobile apps. Information about users and devices that are using the App
Center is available. More details about Worklight Application Center can be found in
Enabling Mobile Apps with IBM Worklight Application Center, REDP-5005.
3. Click Add Application to start the process for deploying the openInsurance mobile client
for Android to the App Center server (Figure 4-84).
Figure 4-84 Current application list available
80 IBM MobileFirst Strategy Software Approach
4. Click the Upload button to browse for the location of the Android application archive (.apk
file), as shown in Figure 4-85.
Figure 4-85 IBM Application Center add an application
5. Browse the file system to locate the .apk file (Figure 4-86). By default, the Android client
file is located under the {WORK_SPACE}/<projectName>/<appName>/android/native/bin/
directory with a naming convention of <ProjectName><AppName>Android.apk. The file
name in this case is InsuranceProjOpenInsuranceAndroid.apk.
Figure 4-86 Browse for openInsurance .apk file
Chapter 4. Application of IBM Worklight in IBM MobileFirst 81
6. After selecting the application client file, it will be uploaded to the server. After the upload
completes, you will see an uploaded confirmation message (Figure 4-87). Click Next.
Figure 4-87 Upload application file
82 IBM MobileFirst Strategy Software Approach
7. You can provide additional relevant details about the application on the Application Details
screen, such as Description or Recommended (Figure 4-88). Click Done when you are
finished.
Figure 4-88 Application Center add application details
Chapter 4. Application of IBM Worklight in IBM MobileFirst 83
8. The application list now has the openInsurance client listed as an available app
(Figure 4-89).
Figure 4-89 Application Center application list
9. Click the unrestricted link under openInsurance to access the Access Control List (ACL)
screen.
10.Select the Access control enabled check box to activate ACL, as seen in Figure 4-90.
You can use this feature to control access for users or groups to be able to see and
remotely install your app using their App Center mobile client. If this feature is not enabled,
anyone who has authenticated access to the App Center server will be able to view and
install your app.
Figure 4-90 Application Center access control list
84 IBM MobileFirst Strategy Software Approach
11.Click the Applications link in the menu bar to return to the application list. You can see
that the status value for Access control is now restricted, as seen in Figure 4-91.
Figure 4-91 Access restricted for openInsurance
12.Click openInsurance to return to edit the application details page. Click the Reviews link
to display the Application Feedback view (Figure 4-92).
Figure 4-92 The openInsurance Application Feedback screen
The App Center client and server provide a feedback mechanism for users to provide
rating and comments and view them from the mobile client. On the server side, developers
and administrators can review and manage the feedback as needed.
13.Click the Properties link above Reviews to return to the main application details window
(Figure 4-93).
Figure 4-93 Delete or remove application access
Chapter 4. Application of IBM Worklight in IBM MobileFirst 85
After adding a mobile app to the App Center, you can select the Active check box for the
application if you want users to be able to see and install the app or clear the check box if
you prefer not to allow access. You can also delete the app from the repository. Doing this
will remove all history of the app, including feedback statistics.
Installing the Worklight Application Center mobile Client
The App Center has a mobile client that is installed on a mobile device to access the server
repository. The mobile client can be installed by accessing a mobile web page, called
installers.html, from the server.
This section assumes that you have followed the getting started guide to set up the Android
development and created the AVD.
1. Using the AVD, open a mobile browser and enter the installers.html page in the
address bar. In this example, the address is:
http://192.168.14.1:9080/appcenterconsole/installers.html. Other installations can
have varying address.
2. You will be prompted to authenticate, as seen in Figure 4-94. The default Name and
Password is demo/demo.
Figure 4-94 Installers mobile web page authentication
86 IBM MobileFirst Strategy Software Approach
3. After successfully authenticating, an installers list is displayed, as seen in Figure 4-95.
Select the IBM App Center item to display the details for installation.
.
Figure 4-95 Mobile Installers application list
4. Click the Install button to start the download process of the IBM App Center mobile client
(Figure 4-96).
Figure 4-96 Application Center mobile client details
Chapter 4. Application of IBM Worklight in IBM MobileFirst 87
5. This will initiate the download process to the AVD. Open the downloads  notification
window to display the downloaded app. Click the IBMApplicationCenter.apk link to start
the installation process (Figure 4-97).
Figure 4-97 Mobile client download complete
6. Verify the permissions required for the mobile client, and then click Install (Figure 4-98).
Figure 4-98 Android permission review for IBM App Center client
88 IBM MobileFirst Strategy Software Approach
7. After the installation is complete, click Open to start using the mobile client (Figure 4-99).
Figure 4-99 Mobile client installation completed
The installation of the mobile client is a one-time process to establish the client connection
to the App Center server. After you have the client available, you can use it to obtain
mobile apps from the App Center server, regardless if it was built using IBM Worklight.
Using the mobile client to install mobile apps hosted on the App Center
server
Follow these steps:
1. In the login screen, enter the required connection information and authentication details to
connect to the App Center server, and then click Log in (Figure 4-100 on page 89).
Chapter 4. Application of IBM Worklight in IBM MobileFirst 89
Figure 4-100 App Center client connection details
2. After successful authentication the Catalog page is displayed, showing the list of mobile
apps available to the authenticated user (Figure 4-101).
Figure 4-101 Mobile applications available to user by mobile client
The Access Control feature in the App Center server shown in Figure 4-90 on page 83
controls whether the user is able to access an active mobile app using this mobile client.
90 IBM MobileFirst Strategy Software Approach
3. Select the openInsurance item from the list to display the application details
(Figure 4-102).
Figure 4-102 The openInsurance details
4. Click Install when you are ready to start the over-the-air (OTA) installation process
(Figure 4-103).
Figure 4-103 Installing the openInsurance mobile application
You can use the App Center to share and distribute your applications to other colleagues
in your company, without needing to go through setting up file servers, distributing over
email, or synchronizing with iTunes, as a few examples.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 91
Then, when you or your colleagues have the mobile client available, it can be used to
obtain updates, obtain new apps, or provide feedback at your convenience, without having
to be tied to a desktop or notebook computer.
Using the mobile client to provide feedback
Now that you have installed the openInsurance mobile application, test to see what has been
implemented:
1. Locate the openInsurance item in your application list. Alternatively, you can also search
for the application (Figure 4-104).
Figure 4-104 Search for openInsurance
2. Tap on the openInsurance application to start it. You will see the splash screen open
briefly (Figure 4-105).
Figure 4-105 The openInsurance splash page
92 IBM MobileFirst Strategy Software Approach
3. After the splash screen passes, the login page will be displayed. The current state of the
application does not have any authentication processing enabled, so you can enter any
information or nothing at all, and then click LOGIN (Figure 4-106).
Figure 4-106 The openInsurance login page
4. The home page is displayed with all of the formatting that was applied by the
openInsurance.css style sheet (Figure 4-107).
Figure 4-107 The openInsurance home page
5. The icons are nicely formatted. However, there has not been any functionality
implemented. Click the Log Off button to return to the loginPage.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 93
A potential tester of your application can preview this application on their mobile device,
and can provide feedback for improvement. The App Center mobile client provides this
capability ready for use.
Use the scenario that you are a reviewer/developer and have just reviewed your
application. You want to make a quick change. You will use the feedback mechanism to let
developers know (and remind yourself) of this.
6. Open the IBM App Center client on your device and log in with your credentials.
7. Select the openInsurance item in the Catalog list. Notice that there are currently no
reviews yet for this application. Click Review Version 1.0 to open the Write a Review page
for the application (Figure 4-108).
Figure 4-108 View the details page for openInsurance
94 IBM MobileFirst Strategy Software Approach
8. Enter a comment and provide a star rating of your choice (in this example update login
placeholder to Janedo85 please and three stars), and then hit the Submit Review
button (Figure 4-109).
Figure 4-109 Submit a review with rating and comment
9. After submitting the review, the Details page displays again. Note now that there has been
a review, there is an option to View reviews. Click that item in the list to review the
feedback just left (Figure 4-110).
Figure 4-110 View reviews from the mobile client
Chapter 4. Application of IBM Worklight in IBM MobileFirst 95
10.You can see the star rating, comments, and details, such as date and time of review and
who created the feedback (Figure 4-111).
Figure 4-111 Feedback details from the mobile client.
11.Open the App Center server console to review the feedback (Figure 4-112).
Figure 4-112 Console feedback review
96 IBM MobileFirst Strategy Software Approach
4.4 Manage with IBM Worklight
With an application built and deployed, the next stage is to use Worklight to perform
management capabilities.
4.4.1 Management overview
IBM MobileFirst has different management capabilities. For example, IBM Endpoint Manager
for Mobile Devices takes care of Mobile Device Management, and IBM Worklight provides
Mobile Application Management capabilities. This section focuses on the IBM Worklight
management capability using the IBM Worklight Console. The details of this section do not
exhaust the management activity available in the console, but addresses a few common
scenarios.
4.4.2 Performing mobile management
After a mobile app is deployed, it is necessary for the mobile application platform to be able to
provide management capabilities. Mobile application management has different dimensions,
including versioning, updates, and access control. These are just a few of the management
functions that are provided by the Worklight platform.
Deploying Worklight application resources using the Worklight Console
After having spent a little time developing and testing openInsurance on a workstation, you, a
developer for Insurance Company A, have decided to deploy to a remote instance of IBM
Worklight Server for testing.
1. Open the remote Worklight Server Console. This example uses
http://192.168.14.1:9080/worklight/console, but your installation might vary. Notice
that the server currently does not have any applications deployed yet (Figure 4-113).
Figure 4-113 Remote server Worklight Console
2. Click Choose File and browse to the {WORKSPACE}/InsuranceProj/bin directory and
locate the .wlapp archives.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 97
3. Select the openInsurance-all.wlapp file, and then click Open (Figure 4-114).
Figure 4-114 Browse openInsurance wlapp archive
The .wlapp archive files contain the web resources for each of the environment folders.
The openInsurance-all.wlapp archive contains resources for all of the environments on
one archive, versus the other archives, which only contain resources for their respective
environments (Figure 4-115).
Figure 4-115 The openInsurance-all.wlapp archive selected
98 IBM MobileFirst Strategy Software Approach
4. Click the Submit button to deploy the wlapp archive to the Worklight Server. You can see
a successful message displayed in the Worklight Console (Figure 4-116).
Figure 4-116 The openInsurance-all.wlapp archive deployed using Worklight Console
Worklight application version management
The Worklight Console enables you to manage multiple versions of a particular environment
for each application. In this example, you currently have version 1.0 of the openInsurance
application deployed. You want to deploy a new version, 1.1.
1. Update the version number in the application-descriptor.xml file. Change the version of
the iPhone and android environments to 1.1 (Figure 4-117).
Figure 4-117 Change the version using application-descriptor.xml
Chapter 4. Application of IBM Worklight in IBM MobileFirst 99
2. Save then build to update the server wlapp archive and client native project resources.
Choose the Build For Remote option to point the client to a remote instance of the
Worklight Server, different than the one in the local development workspace
(Figure 4-118).
Figure 4-118 Build For Remote Server
3. Enter the URL of the target remote Worklight Server, and its Context Path (Figure 4-119).
In this example, these values are http://192.168.14.1:9080 and /worklight.
Figure 4-119 Remote Worklight Server address
4. Deploy the updated wlapp archive by using the Worklight Console. Browse to the bin
directory to select the openInsurance-all.wlapp archive file (Figure 4-120).
Figure 4-120 Browse to select the wlapp archive for version 1.1
Notice that there are multiple environment versions available. When a new version is
created, a new .wlapp archive will be created during the build process. The current version
will be replaced in the openInsurance-all.wlapp file.
100 IBM MobileFirst Strategy Software Approach
5. Submit the selected .wlapp archive file to deploy the new updates to the server
(Figure 4-121).
Figure 4-121 Worklight Console deployed additional version of openInsurance
6. Use the Worklight Studio or Android SDK to build a corresponding version of the mobile
client .apk to deploy to the App Center server for distribution as well (Figure 4-122).
Figure 4-122 Android Tools export signed application package (apk)
Chapter 4. Application of IBM Worklight in IBM MobileFirst 101
7. Save the .apk file to a location of your choice. In this example, the file is saved to the
project bin directory (Figure 4-123).
Figure 4-123 Save version 1.1 .apk to project bin directory
8. Access the IBM App Center server console to upload the openInsurance Version 1.1
mobile client .apk file (Figure 4-124).
Figure 4-124 Add the export openInsurance version 1.1 apk file
102 IBM MobileFirst Strategy Software Approach
9. Click the Next button to review the Application Details information page. Add any
description of your choice (Figure 4-125).
Figure 4-125 Add description to version 1.1
10.Click Done to complete deploying the version 1.1 mobile client .apk file. Notice that the
latest added version information is displayed (Figure 4-126).
Figure 4-126 openInsurance multiple versions available
11.Click the downward pointing arrows to reveal the other available version (Figure 4-127).
Figure 4-127 Display multiple version details
Obtaining a new version using the mobile client
Follow these steps:
1. Open and log in to the IBM App Center mobile client to see the catalog of available
applications. You can see that openInsurance shows version 1.1 with no rating
information.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 103
2. Click the openInsurance list item to show the Details page (Figure 4-128).
Figure 4-128 Application catalog
3. Click the Select version list item to open the Versions page (Figure 4-129).
Figure 4-129 Application details
104 IBM MobileFirst Strategy Software Approach
4. You can see what version you have currently installed on your device and what version is
available for installation. Because version 1.1 is already selected, return to the Versions
page and click the Update button to start downloading (Figure 4-130).
Figure 4-130 Select version to switch to
5. Click the Install button to start the update process for your application (Figure 4-131).
Figure 4-131 Device access permissions
Chapter 4. Application of IBM Worklight in IBM MobileFirst 105
6. Click Open to run the updated application (Figure 4-132).
Figure 4-132 New version installed
7. You are now running the newly updated openInsurance Version 1.1 on your mobile device
(Figure 4-133).
Figure 4-133 Running openInsurance Version 1.1
106 IBM MobileFirst Strategy Software Approach
Updating Worklight application resources using the Worklight Console
After deploying the new client and server-side resources, you inform your users/testers to
start using the application. You then realized that you received a quantity of feedback for a
simple change in version 1.0, as shown in Figure 4-112 on page 95.
You decide to implement and deploy the change using the Direct Update feature of IBM
Worklight. This feature enables you to make changes to your web code and deploy the
change directly to the Worklight Server using the wlapp archives. When your user employs
the application client, the Worklight framework retrieves the changes to the device and
updates the application client.
1. Make the changes to the HTML source code using Worklight Studio (Figure 4-134).
Figure 4-134 Update the user id placeholder text
2. Build and deploy the changes to produce the updated copies of the wlapp archives.
3. Deploy the wlapp archive using the Worklight Console (Figure 4-135). Make sure that you
keep the version number the same. In this case, Version 1.1 will have the changes applied
to the source, and then deployed to the server, without having to deploy a new version of
the client.
Figure 4-135 Browse for the wlapp archive to deploy
Chapter 4. Application of IBM Worklight in IBM MobileFirst 107
4. Click the Submit button to deploy the updated openInsurance-all.wlapp archive. Make
note of the last updated time stamp (Figure 4-136).
Figure 4-136 Verify and submit application update
5. After successful deployment, the time stamp will be updated as well (Figure 4-137).
Figure 4-137 Application has been updated
108 IBM MobileFirst Strategy Software Approach
6. The next time your users attempt to use Version 1.1 of openInsurance, they will get a
dialog box warning that an update is now available. The only choice is to acknowledge and
accept the update (Figure 4-138).
Figure 4-138 The application receives notification of update
7. After the update is downloaded, the application will reload. You can see that the change to
the user id placeholder text has been implemented (Figure 4-139).
Figure 4-139 The placeholder text has been updated
Chapter 4. Application of IBM Worklight in IBM MobileFirst 109
You can optionally override the default prompting behavior by setting the updateSilently
property to true in the initOptions.js located under the openInsurance/common/js folder.
If this property is set, when there is an update to be applied the user experiences a
temporary pause while the new content is downloaded and the application reloads.
Notifying users using the Worklight Console
Now that you have openInsurance Version 1.1 available with the latest updates applied, it is
time that you let your users know so that they can update accordingly.
1. Open the Worklight Console, locate the Android Version 1.0 drop-down. Note that the
current display is Active. Click the drop-down and select Active, Notifying
(Figure 4-140).
Figure 4-140 Set application version status to Active, Notifying
2. Enter a message that you want to notify all of the users of your app (in this example,
Version 1.1 is available, please update your client), and then click Save
(Figure 4-141).
Figure 4-141 Set Service Notification message
110 IBM MobileFirst Strategy Software Approach
3. You will see a message on the top of the Worklight Console heading displaying
Notification rule was set for application openInsurance version 1.0 in Android.
(Figure 4-142).
Figure 4-142 Notification message saved
4. Click the Enter messages for multiple languages link under the message box
(Figure 4-143). This will display a dialog box that enables you to add locale support to
display the notification messages in multiple languages.
Figure 4-143 Add optional locale support for Service Notification message
Chapter 4. Application of IBM Worklight in IBM MobileFirst 111
5. The next time your user opens the app on either their device or an emulator, a Service
Notification message will display with the message that you entered (Figure 4-144).
Figure 4-144 Application receives Service Notification message from Worklight Console
6. The user can click the Close button and continue to use the application.
Disabling access using the Worklight Console
When you have done enough validation (the testing required to ensure that your new version
is fully functional and you are ready to discontinue the previous versions), you can force your
users to move off an existing version by disabling access to it from the Worklight Server
Console.
1. In the Worklight Console, go to the Version 1.0 status drop-down list and select Disabled
(Figure 4-145).
Figure 4-145 Set application version status to Disabled
Service notification: This message will be seen only once, because the framework
recognizes that the client has already received this and suppresses it for future
connection. If you change the message, the client will receive the updated message.
112 IBM MobileFirst Strategy Software Approach
2. Update your message to indicate that this version of the application is no longer available.
Enter a URL to direct users to get the latest version of your application on a public or
private app store or mobile device management application. In this example, you do not
have a specific URL to use, so enter something simple, such as m.ibm.com (Figure 4-146).
Figure 4-146 Setting remote disable message and redirect url
3. When users return to the application, it will show as disabled, with an option to download
the latest version (Figure 4-147).
Figure 4-147 Remote disable dialog box from the client
4.5 Securing with IBM Worklight
When talking about securing in the context of IBM Worklight, there are several different
dimensions, including but not limited to the following list:
Securing the connectivity of the mobile app and devices to the enterprise
Securing access to a protected resource, such as the Worklight Console
Securing the application resources on the mobile device and the Worklight Server
For more information about security with IBM Worklight, see the IBM Redbooks publication
Securing Your Mobile Business with IBM Worklight, SG24-8179.
Chapter 4. Application of IBM Worklight in IBM MobileFirst 113
This section focuses on a simple scenario relating to protecting access to the mobile
insurance application that Insurance Company A is building, openInsurance. Using the
existing SimpleAdapter to simulate a backend authentication service, you will implement a
simple authentication process that will simulate credential validation and protection of access
to the mobile application.
4.5.1 Add an authentication procedure
Follow these steps:
1. Open the SimpleAdapter.xml descriptor file and add a procedure name,
submitAuthentication, and optional description (Figure 4-148).
Figure 4-148 Add submitAuthenication procedure to SimpleAdapter
2. In SimpleAdapter-impl.js, add the following implementation (Example 4-10). This
function simulates a backend authentication service to validate the username and
password that will be sent from the client application, specifically the loginPage.
Example 4-10 Adapter procedure simulating backend authentication service
function submitAuthentication(username, password){
if (username==="worklight" && password === "worklight"){
return {
data: "Login Success!!",
login: "success"
};
}
return {
data: "Invalid login credentials",
login: "failed"
};
}
114 IBM MobileFirst Strategy Software Approach
3. Test the adapter procedure functionality by using Invoke Worklight Procedure
(Figure 4-149). Enter the expected value for username and password into the Parameters
box, and then click the Run button.
Figure 4-149 Test submitAuthentication using expected credential parameters
4. You can see the resulting data property value is Login Success!! and the login property
value is success (Example 4-11).
Example 4-11 Worklight Server response for correct credential
{
"data": "Login Success!!",
"isSuccessful": true,
"login": "success"
}
5. Try to enter a few invalid credential parameters and test the procedure again. You can see
that the adapter procedure will present a different result based on the implementation that
you provided earlier (Example 4-12).
Example 4-12 Worklight Server response for incorrect credential
{
"data": "Invalid login credentials",
"isSuccessful": true,
"login": "failed"
}
You will use these responses to implement the client-side authentication logic.
6. Create a function to collect the input values of the text boxes used in the loginPage so that
they can be passed as parameters to the backend (Example 4-13).
Example 4-13 Collect user and password parameters
function doLogin(){
WL.Logger.debug("doLogin ..");
var user = $("#txtUser").val();
var password = $("#txtPass").val();
login(user,password);
}
Chapter 4. Application of IBM Worklight in IBM MobileFirst 115
You can see that the user and password variables are passed to a login() function as
arguments.
7. Add a login() function. Use the Worklight client API to start the submitAuthentication
procedure, passing in the required parameters collected from the loginPage, as shown in
Example 4-14.
Example 4-14 Add login() function to start the submitAuthentication adapter procedure
function login(user, password){
WL.Logger.debug("in login()....");
var invocationData = {
Adapter : 'SimpleAdapter',
procedure : 'submitAuthentication',
parameters : [user,password]
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : loginSuccess,
onFailure : loginFailure
});
As seen in Example 4-10 on page 113, there will be an expected response from the
Worklight Server based on the credentials provided with the client invocation.
8. Implement the Success and Failure callbacks for the client invocation (Example 4-15).
Example 4-15 Client invokeProcedure callback implementation
function loginSuccess(response){
WL.Logger.debug("login >> loginSuccess");
if (response.invocationResult.login == "failed"){
WL.Logger.debug("Invalid credential");
alert(JSON.stringify(response.invocationResult.data));
} else {
WL.Logger.debug(JSON.stringify(response.invocationResult.data));
$.mobile.changePage("#homePage", {transition: "flip"});
}
}
function loginFailure(msg){
alert(msg);
}
The implementation shown in Example 4-15 entails that if invalid credentials are provided,
the user will get a window with the message from the server in the data property. However,
if valid credentials are provided, you will log the message from the server and call the
changePage() to go to the homePage.
116 IBM MobileFirst Strategy Software Approach
4.5.2 Change the default login behavior
Currently, the loginBtn is bound to a function that will change the page to homePage after a
click event. You will modify this:
1. Add a comment block to the loginBtn function to remove this behavior (Example 4-16).
Example 4-16 Comment out the on click bind of the loginBtn element
/*$("#loginBtn").on("click",function(){
$(this).trigger("blur");
setTimeout(function(){
$.mobile.changePage("#homePage", {transition: "flip"});
}, 350);
});*/
With this comment block enabled, when you click the loginBtn, after building and
deploying this change, the changePage() function will not be triggered.
2. Open the openInsurance.html file, locate the loginBtn element, and add an onclick
property to start the doLogin(); function. You can do this using the source code editor or
the properties view panel (Example 4-17).
Example 4-17 Add onclick property to loginBtn element
<div class="ui-block-b">
<a href="#" data-role="button" id="loginBtn" data-corners="false"
onclick="doLogin();">Login</a>
<a href="#" id="registerLnk">Register</a> &nbsp;|&nbsp;
<a href="#" id="forgotLnk">Forgot Password</a>
</div>
This change will call the doLogin() function to collect the credentials and pass them to the
login() function, which will in turn call the submitAuthentication() procedure that will
validate the supplied credentials.
3. Save the files, build all, and deploy the changes. Then, test using the common web
preview (Figure 4-150).
Figure 4-150 Testing login using bad credentials
Chapter 4. Application of IBM Worklight in IBM MobileFirst 117
The results of the test using invalid credentials are shown in Figure 4-151.
Figure 4-151 Result from invalid credential test
The results of a test using valid credentials are shown in Figure 4-152.
Figure 4-152 Result for valid credentials
118 IBM MobileFirst Strategy Software Approach
© Copyright IBM Corp. 2014. All rights reserved. 119
Chapter 5. IBM MobileFirst Quality
Management overview
Quality management and testing solutions from IBM help organizations achieve consistency,
efficiency, and predictability, with software quality that meets objectives and testing strategies
that validate and verify applications for any platform and test type.
IBM test automation capabilities enable agile software delivery and eliminate testing
bottlenecks. This is especially helpful for clients challenged by the increasing cost of quality
associated with developing and maintaining composite applications, with integrations across
traditional and more modern technologies (enterprise, distributed, and cloud).
This chapter contains the following sections:
Description of quality management
IBM Rational software in IBM MobileFirst
Business benefits
System overview
Mobile application testing
Components
IBM Mobile Quality Assurance on the cloud
5
120 IBM MobileFirst Strategy Software Approach
5.1 Description of quality management
For a business, the quality of any mobile application (app) that is produced is critical. Not just
because of the business effect that can occur if your mobile app malfunctions and fails to
support the transactions that you expect, but also because these mobile apps are the new
face of your business, your new digital front lobby.
The impression that a user gets from your mobile app is the impression that they will form of
your company as a whole. Therefore, the quality of design for your mobile app is just as
important as the functional quality aspects. If the app is not at least satisfying to use, if not
delightful, your target customer has choices. There are thousands of apps competing in the
app store, so they can easily drop your app and go to another. If that happens, your goals of
establishing a strong and lasting relationship with that customer are lost, possibly forever.
Mobile apps need to be tested thoroughly to ensure functional and user experience quality.
5.1.1 Mobile testing challenges
When you look at what is in front of mobile testers, you can see that there are many
challenges. One of the first things you realize is the sheer magnitude of the device space and
the associated test configuration matrix. You have multiple different vendors (iOS, Android,
BlackBerry, and Windows Phone). In addition, historically, you cannot assume that one
vendor is going to stay on top, so you must have a test and a test tool strategy that is flexible
and adaptable.
Compound multiple platforms with the fragmentation on certain platforms. With Android, there
are over 100 different screen resolutions, and several prominent (and in a few cases, old)
platform versions – 2.2, 2.3.x, and 4.0.x are widespread, and 2.1 and 4.1 have non-trivial
usage as well.
The iOS platform is a bit better at forcing the progression of OS versions, but you still have
several that are in widespread use. Also, to top it all off, the market keeps introducing new
devices at an incredible pace. Last year alone, there were over 300 new devices introduced
on the market.
All of those devices have a wide array of capabilities. New features are being added to mobile
devices frequently. You all know about the cameras and GPS that feature on all recent mobile
devices. But now near field communication (NFC) for mobile wallet features are in many new
devices. Some devices include tactile feedback enhancements that your app might benefit by
using. In addition, voice interaction is becoming a frequently used mobile app feature.
So, there are astounding arrays of new aspects of mobile apps that pose a daunting
challenge for mobile app testing and validation.
However, we do not want to make it sound as if nothing from previous generations of software
quality assurance is relevant in the mobile space:
Mobile testing still needs to be well organized and managed.
Being able to isolate component parts of the app for focused testing still provides value.
The principles of good test case design and test optimization still apply to mobile.
Chapter 5. IBM MobileFirst Quality Management overview 121
Of course, do not forget the overall significance of user experience and user experience
testing. Mobile users are so much more demanding of the overall look, feel, and operation of
mobile apps. They will not hesitate to switch to a competitor’s application if they are not
completely satisfied with yours. Therefore, keeping a keen focus on the overall user
experience in the app, and having a focused set of user experience test cases, is critical.
5.2 IBM Rational software in IBM MobileFirst
The computing industry is undergoing fundamental changes that will position mobile devices
as the primary solution for personal computing and Internet access. As a result of this
generational shift in the IT industry, you are witnessing an explosion in the number of mobile
apps, the creation of which follows the common software development lifecycle.
Application lifecycle management (ALM) solutions, with collaborative capabilities, help align
the development and delivery of mobile apps with business objectives, within budget and time
constraints, while meeting customer needs.
The combined Worklight Studio plus Rational mobile development tools, integrated with
Rational Collaborative Lifecycle Management, offer the most comprehensive, end-to-end
development solutions for mobile apps in the market today.
IBM Rational mobile app development solutions provide the capability to build enterprise
mobile applications that have the following capabilities:
Run on multiple mobile devices.
Connect to enterprise back-end applications and information systems.
Fulfill fast time-to-market requirements, and can be rapidly updated with new releases.
Deliver a high-quality user experience.
5.3 Business benefits
IBM Rational software assures quality of deliverable in the agile mobile enterprise. The
Rational family of products helps you accomplish the following tasks:
Manage and run automated quality assurance and field testing.
Aggregate and analyze user feedback.
Streamline quality feedback to business and IT.
Benchmark the quality of mobile apps over time.
Improve mobile app quality with holistic visibility into user experience, including bugs,
crashes, feedback, and user sentiments.
Minimize risks associated with poor user feedback through rapid assessment of issues
and reduced cycle time.
5.4 System overview
As you think of the challenges of mobile testing, you need to remember to think about the
entirety of the mobile solution (Figure 5-1 on page 122). Most of the time, when people think
about mobile apps, they think only of the code that runs on the mobile device. However, there
is much more to a mobile app.
122 IBM MobileFirst Strategy Software Approach
In almost all cases, enterprises have existing systems to which they are connecting their
mobile apps. These can be middle-tier systems running web application servers, supporting
Java Platform, Enterprise Edition (Java EE) applications, web services, or newer
Representational State Transfer (REST) services. Alternatively, they can be enterprise
systems running on IBM Power Systems, or IBM z/OS® systems running CICS transactions
or batch operations.
Figure 5-1 illustrates the need to test your system end-to-end.
Figure 5-1 System overview
In all of these cases, the enterprise has invested significant time and money into creating
these systems, and they want to use them as they expand out into the mobile marketplace.
Therefore, the mobile apps that they are producing will be interacting with them.
It can be a real challenge, in terms of cost and complexity, to have those other systems and
services available and running all of the time, just for testing purposes. A glitch in a
back-office enterprise service could cause your team to waste hours on troubleshooting the
mobile app code when that was not the problem at all. Another problem that can be a factor is
that sometimes those other services that you want to have your test mobile app interact with
come with a usage charge, so it is truly costing you to run the mobile app tests.
5.4.1 Block overview
Rational Test Workbench acts as middleware by interacting with IBM Worklight server and the
business applications hosted on it, as shown in Figure 5-2 on page 123. As you have seen,
there is much that makes up a mobile app. In addition, there are many things that mobile
testers need to take into account.
As this section goes through the capabilities that mobile testers need, we are going to
describe a few areas that are common in more traditional testing, such as test management
and manual testing, but you will notice that even those are affected by the nature of mobile
testing.
Middle Tier ServerClient Tier Devices Back-end Data & Services
Testing involves much more than just the mobile front-end
Testing the end-to-end mobile solution
Chapter 5. IBM MobileFirst Quality Management overview 123
Figure 5-2 Block Overview
We will address other areas that are unique to mobile testing (mobile UI automation and
device access), and a few that really rise to prominence with mobile testing (security testing
and service virtualization).
5.5 Mobile application testing
The different aspects of mobile application testing are shown in Figure 5-3.
Figure 5-3 Aspects of mobile testing
What do mobile testers need?
124 IBM MobileFirst Strategy Software Approach
5.5.1 Test management
Even the smallest mobile app will require many test cases to be ran to get good coverage and
validation. As you build up these mobile test cases, you will eventually need to organize them
into suites of tests. Ideally, you associate the suites or sets of test cases with a certain feature
of the mobile app. The test suite should be linked to an application requirement, and to the
code changes that delivered that feature.
This is why integration between the tests and the rest of the application development lifecycle
is so important. That integration between the tests (and their execution records) and
everything else that occurred earlier in the development cycle, is what enables a complete
picture to unfold of the status of the mobile app being developed.
Test management capabilities enable you to have reports that aggregate the test results into
a high-level view. Furthermore, it is common to have some kind of master dashboard that
displays all of this information for the whole team to see and understand.
As you will see, mobile testers have many tools in their arsenal. In much the same way that
you want your test management system to integrate with the rest of your lifecycle tools, you
need your test management system to integrate with the variety of mobile test tools that you
will be using. In particular, the ability to manage the definition and execution of coordinated
suites of test cases across the various test disciplines, and to be able to see the results of
these in the consolidated views, reports, and dashboards.
5.5.2 Manual testing
Another area that testers have familiarity with is manual testing. You sit in front of your
computer (or in this case mobile device) and type, poke, pinch, turn, and otherwise interact
with your device. If this sounds familiar to you, you are not alone. Manual testing is still, by far,
the most common means for testing in general, and for testing mobile apps in particular.
There are many reasons for this: it is simple, intuitive, and requires little up-front investment.
Beyond that, there are certain types of tests and interactions that are difficult or impossible to
accomplish otherwise. Certain specific capabilities can be difficult to get at. For example,
think about calibrating the compass on an iOS device. Even some simple things, such as
orientation, can be difficult to deal with without significant investment.
In addition, there is the whole area of user experience testing, which is, almost by definition, a
manual process. You need to feel the device in your hand, and directly manipulate the
application to get a full appreciation for the user experience of interacting with the mobile
application.
So, given that you are going to be performing manual testing, you want to be able to link those
tests back into your test management system. You want to be able to record or document the
manual test for playback by other team members, so that they become full-fledged
contributors with the rest of your test cases, where they will get rolled up into the overall test
metrics.
One of the interesting twists on manual testing that has become more prevalent recently is
the concept of crowd-sourcing the testing of the mobile app. In this arrangement, you actually
outsource the testing to an organization that maintains a group of mobile app testers, who are
analogous to just-in-time manual testers-for-hire. Your development team cranks out the latest
build of the mobile app and uploads it to an app store (perhaps your private enterprise app
store), and this crowd of testers gets notified, downloads the new build, and starts using it.
Chapter 5. IBM MobileFirst Quality Management overview 125
Your organization can save some money with this approach, plus you get better variability of
testing with the wider variety of testers than you could afford to hire directly. With
crowd-sourced mobile app testing, it is even more important to have a good test management
solution that can deal with the large number of testers, and coordinate all of their input
effectively.
This type of crowd source testing is performed internally at many companies. In essence, you
gather together your set of internal stakeholders, with devices in hand. You distribute your
manual test cases to them (which is where it is really useful to have this all integrated with
your test management system), and everyone proceeds through the documented scenarios.
Everyone gets to hear and experience what the others are doing, and it really helps drive
home the current state of your mobile application. You learn what works well, and where
people are struggling.
Again, with appropriate integration into your test management system, the results are readily
accessible when the testing is complete.
5.5.3 Service virtualization
Service virtualization is one of the areas that is common to traditional testing, yet which
increases in value in the mobile world. Service virtualization enables you to emulate (or
virtualize) the service interfaces of another part of the system.
As an example, assume that there is a web service in the middle tier that will be started by
your mobile app. Service virtualization enables you to emulate that service running on the
middle-tier, without that middle-tier system having to be up and running. You can create this
service virtualization by either recording a canonical session between the mobile client and
the service, or by crafting the virtualization by hand.
But, why would you want to virtualize services in the first place?
To begin with, it enables you to isolate the systems from one another. In the mobile scenario,
it enables you to isolate the mobile front-end from the middle-tier system in question. Doing
so enables you to focus your attention on the capabilities and functional correctness of the
front-end, without having to worry about interactions with the rest of the system.
At the same time, because you are using a simulation layer, you have more control over how
that virtualized service responds. Therefore, you can control things, such as the latency of the
response and the overall transaction rate.
Even more importantly, you can readily create the various corner cases and error conditions
that can be difficult to construct when using real systems. Rather than spending time and
energy figuring out how to contort the system behind the scenes into the wanted state, you
can plug the wanted values straight into the service virtualization tool.
This gets back to savings in your testing budget. A common combination is the “Mobile +
Cloud” architecture, where the services for your mobile app are hosted in the cloud for
scalability and flexibility of service delivery. Those services are costing you real money to
keep running. With service virtualization, you can totally remove that cost from your testing
budget until the application is ready for final system verification involving the whole
end-to-end solution.
126 IBM MobileFirst Strategy Software Approach
5.5.4 Security testing
Security is certainly a concern for enterprises that are producing mobile business apps.
Software security is a multi-dimensional issue, and must be present across the entire chain of
interactions involved in the multitier mobile app ecosystem. Software data security is only as
strong as the weakest link in that chain. For instance, if you do not use strong encryption on
the data that the mobile app transfers across the public cellular data network, nothing else
that you do for other parts of the app is going to matter much.
One aspect of testing for security is actually analyzing the code for the app to ensure that no
vulnerabilities have been inadvertently embedded into the source code by your developers. It
might not be intentional, but there are so many ways in which the code for an application can
be used that it is nearly impossible for a programmer to know for certain that they have not left
a door open somewhere in the application unbeknown to them.
One way to address this is to use testing tools that can decompose the mobile app code and
use advanced techniques, such as data-flow analysis, to locate vulnerable pieces of the app
and point them out. You should apply this vulnerability detection testing against all tiers of the
mobile app, including the code on the device and the code running on the servers.
5.5.5 Device access
We have covered much about the various tools and techniques that you need as a mobile
tester, but one of the most critical things people are going to need is access to the devices
upon which to test. As mentioned in 5.1.1, “Mobile testing challenges” on page 120, there are
multiple devices from which to pick, and the selection is not getting any smaller.
Clearly, you will be looking to find the correct set of devices based on your anticipated user
profiles. However, the following list includes some of the not-so-obvious things that you should
be considering when you think of your pool of devices as a whole:
How are you going to access the devices?
In particular, will you be accessing them directly, that is to say with device in-hand? If so,
how are you planning to handle teams in other locations? Are you buying duplicate
devices? Are you splitting the set of devices across locations? However, what if there were
a way that you could access the devices remotely, with most of the convenience and
capability as though they were in-hand?
How will you share these devices across multiple mobile teams?
Even if you are an isolated group now, mobile is growing so rapidly that you will soon be
surrounded by mobile test teams, with that same hunger for devices. Will you buy
duplicate devices for each team, or will you look for them to share? Even if they are
geographically co-located, how are you going to manage reservation of the device, and
clean-up between users?
So, what if you could easily share devices across teams, manage reservations across the
teams, and ensure that they were in a known good state before hand-off? These kinds of
concerns are what has given rise to mobile test solutions known as device clouds.
The idea is similar to traditional test clouds, with the exception that the resources that
make up the elastic cloud are mobile devices rather than traditional computers. Your testers
can push the application-under-test out to any number of remote mobile devices, and
manually run through the tests for the app just as though they were holding the device directly
in their hand.
Chapter 5. IBM MobileFirst Quality Management overview 127
You can also run automated testing against your mobile app running on dozens of different
devices, mobile operating systems, and form factors. Then, when you are done with your
tests, you return whatever devices you used to the pool of available resources in the device
cloud, and they can be reused for other testing.
Some of the things that are advantageous with this approach are that you do not have to
constantly be chasing the entire mobile device market, worrying about buying the latest
phone that has come onto the market, and getting it set up so that your testers can use it.
That is the job of these device cloud vendors, and they are quite skilled at accomplishing it
because they do it every day. This saves you a lot of headaches, and it saves you a lot of
money. Because you pay only for the mobile devices that you actually use, when you use
them, and you do not have to deal with disposing of those devices either.
5.5.6 Performance testing
Traditionally, performance testing seemed straightforward. You have systems or services, and
you have users, and you needed to understand the behavior of those systems in response to
increasing user load. But this is another area where mobile has really broadened the horizon.
However, you still need to validate the capacity of your middle-tier and back-end systems. In
fact, this is even more significant with the rise of mobile.
You are starting to see reports of increasingly high demand being driven by the overall
increase of mobile devices, and the anyplace/anytime interactions that they support. A large
supermarket chain added a new coupon capability to its mobile app. It was so popular that it
was driving on the order of 100,000 transactions, and the back-end systems collapsed under
the load. So, in the world of mobile, you must be ready to test against new user access
patterns that stray from those of traditional desktop applications.
In addition, because mobile apps include a significant amount of code that runs on the mobile
device, there can be performance issues with that too, regardless of the performance of the
server portion of the application. This is especially true if the mobile app is storing and
accessing a lot of data, perhaps encrypted (or maybe linking to another mobile app and
dependent on it for a certain function), then there can be lags and timing issues with the user
experience that will negatively affect your user’s satisfaction with the app.
In fact, sometimes it can be the network that causes problems for your app. So, a test tool that
can simulate network behavior is a valuable testing capability, especially when considering
the variability of cellular data network performance.
5.5.7 Mobile user interface automation
A key element of mobile testing is related to automating the user interaction with the app, so
that testing can be done without requiring a human being to always be tapping, swiping, and
pinching the phone. We call this aspect of mobile testing user interface automation (UI
automation), and it is one thing that is quite specific to mobile apps.
For years (decades) there has been UI automation for other kinds of software. So it is only
natural to expect the same concept to apply to mobile apps. But the problem is that mobile
apps are different. There are all of these different incompatible mobile operating systems, and
a wide variety of form factors that affect the user interface.
128 IBM MobileFirst Strategy Software Approach
You might write the automation for a test case to be run on one kind of mobile device, but will
that same automation script work against the app on a different device? What is needed is a
UI automation solution that is device-agnostic, so that you can reuse the automation across
all of the target devices that the app needs to support.
One approach that various vendors have taken is to embed code into the mobile app that acts
as an internal observer and captures all of the user interaction with the app when a tester
manually steps through a test case. This captured user interaction data is then stored away
as a replayable automation script that can be run against the app later (similar to a robot that
can redo what the original tester did to the app).
Some vendors are able to run their automated user interaction scripts against different mobile
devices than were used to capture (or record) the script.
Another common approach to mobile UI automation is optical (or image-based) recognition.
Essentially, the software captures the images on the phone and is performing comparisons of
previously captured images. Usually, there is a certain level of intelligence to allow for slight
image drift and other things that would typically fall in the margin of error. Furthermore, many
tools also provide optical character recognition so that you can ask for specific pieces of text
to be found in the on-screen images.
This type of tooling can be particularly handy in cases where you are unable to instrument the
application (for example, the vendor apps that come packaged with the phone).
So, both instrumented and optical approaches to mobile UI automation have their place.
Chapter 5. IBM MobileFirst Quality Management overview 129
5.6 Components
This section describes the IBM products, and the deployment of those products, that enable
clients to gain the benefit of a comprehensive mobile testing system.
5.6.1 Rational Quality Manager
IBM Rational Quality Manager (Figure 5-4) is a collaborative hub for business-driven software
and systems quality across virtually any platform and type of testing. This software helps
teams share information seamlessly, use automation to accelerate project schedules, and
report on metrics for informed release decisions.
Figure 5-4 Rational Quality Manager
Rational Quality Manager helps quality assurance teams with the following functions:
Collaborate Share project information and status updates seamlessly, so that team
members can synchronize teamwork throughout the lifecycle.
Automate Reduce labor-intensive activities to accelerate project schedules.
Govern Understand and report on project metrics to enable accurate, reliable,
and timely release decisions.
130 IBM MobileFirst Strategy Software Approach
5.6.2 Rational Test Workbench
Rational Test Workbench (Figure 5-5) provides a comprehensive test automation solution for
mobile applications, regression testing, integration technologies and performance and
scalability testing. It helps you build intelligent and interconnected enterprise applications that
can be deployed on traditional and cloud infrastructures. With Rational Test Workbench, you
can significantly reduce test cycle times, moving integration testing earlier in the development
lifecycle.
Figure 5-5 Rational Test Workbench
Rational Test Workbench delivers test automation for all types of applications, including
mobile using physical device or mobile emulator. It also:
Simplifies test creation with storyboard testing and code-free test authoring.
Enables you to quickly develop complex performance test scenarios with script-less,
visual, performance test and workload models.
Provides earlier, end-to-end continuous integration testing throughout hardware, software
and cloud-based dependencies.
Emulates workloads accurately so you can create a server workload that represents
realistic user scenarios.
Is extensible and supports standards and protocols to help you meet the challenges of your
testing environment.
5.6.3 Rational Integration Tester and Rational Test Virtualization Server
The Rational Integration Tester component (based on Green Hat technology) provides
service virtualization capabilities, and extends performance testing to a whole host of new
protocols.
Chapter 5. IBM MobileFirst Quality Management overview 131
Rational Test Virtualization Server (Figure 5-6) enables the deployment of virtualized
services, software, and applications for simplified, efficient testing. It accelerates the delivery
of complex test environments, and enables you to complete integration testing earlier and
more frequently in the development cycle.
Figure 5-6 Rational Test Virtualization Server
Rational Test Virtualization Server helps you eliminate application test dependencies, reduce
setup time, and reduce infrastructure costs:
Simulate real system behavior to accelerate software development and testing.
Update, reuse, and share virtualized test environments to gain efficiency and keep pace
with changes in the underlying systems and data.
Benefit from integration with other tools to improve performance and quality management.
5.7 IBM Mobile Quality Assurance on the cloud
IBM offers software as a service (SaaS) designed specifically to help organizations adopt a
mobile first, user-centric view of mobile app quality. IBM Mobile Quality Assurance provides
line-of-business professionals and development teams with insightful and streamlined quality
feedback and metrics from both pre-production and production, enabling them to prioritize
and take action to support a dynamic mobile app strategy (see Figure 5-7 on page 132).
IBM Mobile Quality Assurance provides insightful metrics and feedback to help developers
and business professionals rapidly improve app quality and user experience throughout the
development lifecycle. You can prioritize and take action on data from testers around the
globe, from apps running on a diverse array of platforms.
Both better and faster quality feedback from field testing in pre-production, and aggregated
and easily understood crash logs in live-user production environments, enable developers to
gain a user-centric view of their mobile app quality. They can then perform evidence-based
prioritization, so that they can focus on fixing what delivers the most value to users, and
improve user experience.
132 IBM MobileFirst Strategy Software Approach
IBM Mobile Quality Assurance also gives insight into what are the hardest issues to address,
before they result in costly scrap, rework, and technical debt. Fixing those issues early will
improve the overall economics of mobile software development, and support your mobile
development strategies (Figure 5-7).
Figure 5-7 IBM Mobile Quality Assurance capabilities
IBM Mobile Quality Assurance is a key offering for DevOps in the context of mobile, delivering
the following new capabilities:
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 the latest and greatest
builds, and submit bug reports with screen captures and
device details in less than a minute with no hassles.
In-app crash reporting Immediately know what is causing most crashes.
These capabilities will substantially improve the quality of the mobile app, and also reduce the
risks associated with poor user feedback through rapid assessment of issues and reduced
cycle time.
The IBM Mobile Quality Assurance offering can be evaluated online at the following website:
http://www.quality4mobile.com/
© Copyright IBM Corp. 2014. All rights reserved. 133
Chapter 6. Application of Rational Test
Workbench in IBM MobileFirst
This chapter describes the process of using Rational Test Workbench for quality testing the
mobile solution in an enterprise. This chapter illustrates testing a scenario based on the
Insurance Company A scenario described in Chapter 2, “Business scenario used in this
book” on page 15.
The process of recording a test case, running a test case, and evaluating the results of the
test case is described in this chapter, including the sample application (app).
This chapter provides information about the following topics:
Record a test case with Rational Test Workbench
Edit a test case with Rational Test Workbench
Run a test case with Rational Test Workbench
Analyze a test report with Rational Test Workbench
6
134 IBM MobileFirst Strategy Software Approach
6.1 Record a test case with Rational Test Workbench
Rational Test Workbench Version 8.5 and later delivers end-to-end functional, regression,
load, and integration testing to address the quality challenges of highly complex and
integrated applications.
The offering includes the following installable components:
IBM Rational Test Workbench Eclipse client
IBM Rational Integration Tester
IBM Rational Integration Tester Platform Pack
IBM Rational Test Control Panel
IBM Rational Performance Tester
IBM Rational Functional Tester
For mobile testing, the following components are required:
IBM Rational Test Workbench Eclipse client (on desktop)
Rational Test Workbench Mobile client (on a mobile device)
The Recording process is orchestrated to give a high-level view of the procedures involved in
testing the solution, as shown in Figure 6-1.
Figure 6-1 Procedures
This section describes the following procedures:
Set up your mobile test environment
Add a mobile device
Prepare your mobile application for testing
Create a new project
Record a test
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 135
6.1.1 Set up your mobile test environment
To set up your mobile test environment, follow these steps:
1. Install Rational Test Workbench and ensure that Rational Test Workbench Eclipse Client
and Rational Test Workbench Extension for Mobile are selected.
2. Install the Android software development kit (SDK) on the same computer that Rational
Test Workbench Eclipse Client is installed on.
You do not need to install the full Android Developer Tools (ADT) bundle, but be sure to
install Android SDK Tools, Android SDK Platform-tools, and Android SDK Build-tools, if
these are not already installed.
3. Run the SDK manager at least once before running Rational Test Workbench Eclipse
Client to get the application programming interface (API)-level components.
4. Set the preferences in the mobile app builder path so that they point to the directory where
the Android SDK is installed.
6.1.2 Add a mobile device
A mobile device needs to be added to Rational Test Workbench by following these steps to
capture test cases:
1. Ensure that your mobile device is connected to PC over a network.
2. Click Display available mobile devices (Figure 6-2).
Figure 6-2 Display available mobile devices
3. Click Add device to list.
Oracle Java Development Kit: Running the Android SDK Manager and using the
Android emulators requires the Oracle Java Development Kit (JDK). Be sure to also add
the path to the Oracle JDK to your system's PATH environment variable.
136 IBM MobileFirst Strategy Software Approach
4. Select the workbench URL http://<machine ip>:7878/mobile (Figure 6-3) and click Copy
to clipboard.
Figure 6-3 Workbench URL
5. Paste the URL in the web browser of your mobile device after replacing the host name
with the IP address of your PC. For example, http://<machine ip>:7878/mobile.
6. This will enable you to download and install the Rational Test Workbench mobile client.
When installed, open the application and select Setting  Address. Enter
http://<machine ip>:7878/ as the address.
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 137
7. This mobile device will now be available in Rational Test Workbench (Figure 6-4).
Figure 6-4 Display added mobile device
6.1.3 Prepare your mobile application for testing
There are two options to add a mobile app to Rational Test Workbench. One is through the
installer. The .apk file can be directly imported to the workbench if it is present on the
desktop. The second option is to upload the app from the mobile device. The second
approach is described here.
1. From your mobile device, upload the mobile app to the Rational Test Workbench Eclipse
Client:
a. Click Manage applications in the Rational Test Workbench mobile client on your
mobile device.
b. Install the application from the Manage application.
c. Upload the application for testing.
2. From the Rational Test Workbench Eclipse Client, add the application to the test
workbench.
138 IBM MobileFirst Strategy Software Approach
3. Click Display available mobile applications, as shown in Figure 6-5.
Figure 6-5 Display Available Mobile applications
4. Select from local storage and select the appropriate .apk file (Figure 6-6). Click Finish.
Figure 6-6 Add application
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 139
5. The application is now available for capturing testing scripts, and will be listed on the
workbench, as shown in Figure 6-7.
Figure 6-7 Listed application
6.1.4 Create a new project
A new project needs to be created in Rational Test Workbench for recording and storing the
test cases:
1. To create a new project in your workbench, click File  New  Test workbench Project
(Figure 6-8).
Figure 6-8 Create project
140 IBM MobileFirst Strategy Software Approach
2. Enter a project name, select Use default location, and click Next (Figure 6-9).
Figure 6-9 Create a Test workbench project
3. Click Finish, as shown in Figure 6-10.
Figure 6-10 Finish the New Project dialog box
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 141
4. Click Cancel on the ensuing screen (Figure 6-11).
Figure 6-11 Cancel Mobile Test
5. Verify that the application is visible in the Test Navigator view in the Rational Test
Workbench Eclipse Client.
6.1.5 Record a test
After you have created a new project, create a test by recording gestures and user
interactions on the mobile device.
You can initiate the recording on the device or from the Eclipse client. Actions are represented
in natural language, which enables you to document and reproduce the test manually. Most
testers prefer to record the test by simulating the use case on their mobile device and
capturing it on Rational Test Workbench.
142 IBM MobileFirst Strategy Software Approach
Follow these steps to begin recording a test:
1. In Rational Test Workbench click Record  Mobile Test (Figure 6-12).
Figure 6-12 Start recording a test
2. Click the Record button on the application and start recording on the mobile device. When
done, stop recording (Figure 6-13).
Figure 6-13 Stop recording the test
3. Right-click the recording and select Generate Test (Figure 6-14).
Figure 6-14 Generate Test
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 143
4. Provide a file name and click Finish (Figure 6-15).
Figure 6-15 New Test from Incoming Recordings
A Test is generated from the recording. The test is recorded in Rational Test Workbench,
and the same will be in sync on the Rational Mobile client.
5. On mobile client in the App detail, click Test and the same test will now be available in the
mobile client for execution.
6.2 Edit a test case with Rational Test Workbench
Rational Test Workbench is used to examine and enhance the recorded test script as needed.
This gives you the ability to accomplish the following tasks:
1. Explore controls and menus to customize the script to your needs:
a. For example, the Password object is visible along with content that can be
parameterized later.
144 IBM MobileFirst Strategy Software Approach
b. You can edit the form field properties (Figure 6-16).
Figure 6-16 Editing form fields
2. Add verification points to verify that an expected value or behavior is returned during a test
run:
a. As shown in Figure 6-17, right-click an object to verify and click Create Verification
Point for Content.
Figure 6-17 Creating verification point on the contents
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 145
b. You can see the content verification point is added to the test, as shown in Figure 6-18.
Figure 6-18 Display content verification point
3. Add variables to the test script to parameterize the hard-coded values into variables that
can pick values from an external source. This can be achieved by creating a new data pool
on the created project:
a. Create a new data pool in the workbench by right-clicking Datapools and selecting
New  Datapool, as shown in Figure 6-19.
Figure 6-19 Create New Data pool
146 IBM MobileFirst Strategy Software Approach
b. In the New Datapool wizard, Enter a name for the new data pool (in this example,
Data1) and click Next (Figure 6-20).
Figure 6-20 New Datapool wizard
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 147
c. Browse the .csv file containing the data to be imported into the data pool. In this
example, you created a .csv file with a user ID and password as CSV data to be
imported to the data pool (Figure 6-21).
Figure 6-21 Importing CSV File into the new data pool
d. Click Finish and the imported data can be viewed on the Data pane under Datapools,
as shown in Figure 6-22.
Figure 6-22 Display imported data
148 IBM MobileFirst Strategy Software Approach
e. To substitute the imported data to the test runtime variable, select the test select the
Common Options tab, and click the Add Datapool button, as shown in Figure 6-23.
Figure 6-23 Substituting the imported data to runtime variable wizard
f. On the Test Editor - Add Datapool window, the imported data columns will be displayed
(Figure 6-24). Click Next.
Figure 6-24 Test Editor - Add Datapool dialog box
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 149
g. On the Access Mode window, set Open mode to Shared (per machine), set Access
mode to Sequential, and select Wrap when last row is reached (Figure 6-25). Click
Finish.
Figure 6-25 Access Mode window options to be selected
h. In the workbench select the value to be parameterized. On the Test Element Details
pane, right-click the value and select Substitute  “Uid” variable (Figure 6-26).
Figure 6-26 Substitute variable from data pool
150 IBM MobileFirst Strategy Software Approach
i. To check that the data pool values are rightly substituted, click Test  Common
Options  Data. It now shows the parameter substituted, as shown in Figure 6-27.
Figure 6-27 Verifying substituted variable
6.3 Run a test case with Rational Test Workbench
Run the test from the mobile device or from Rational Test Workbench. Do not interact with the
mobile device until the tests are completed. To run the test, follow these steps:
1. To run the test, open the test, select the test to run, and click Run (Figure 6-28).
Figure 6-28 Run the test
Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 151
2. The test will be run on the mobile device. Runtime results can be seen from the
workbench directly, as shown in Figure 6-29.
Figure 6-29 Test runtime results
152 IBM MobileFirst Strategy Software Approach
6.4 Analyze a test report with Rational Test Workbench
To check whether the mobile test ran successfully, open the test report. You can also view
each recorded functional action in the report.
When you run a test from Rational Test Workbench, you can view both the mobile web report
and the statistical report in the test workbench. Follow these steps:
1. From the Test Navigator, expand the project folder and double-click the test reports.
2. If the Test Navigator is logically arranged, expand the project folder, expand the Results
folder, and open the reports. A sample report of the test run is shown in Figure 6-30.
Figure 6-30 Test report
3. If you have initiated the test run from the device, the mobile reports are stored in the
Mobile Results folder.
© Copyright IBM Corp. 2014. All rights reserved. 153
Chapter 7. IBM MobileFirst Management
overview
This chapter provides an overview of IBM Endpoint Manager for Mobile Devices as part of the
IBM MobileFirst framework. The following sections are included in this chapter:
Description of IBM MobileFirst Management
This provides an overview of the requirements of mobile device management.
IBM Endpoint Manager for Mobile Devices in IBM MobileFirst
This section describes how IBM Endpoint Manager for Mobile Devices fits into the IBM
MobileFirst framework.
IBM Endpoint Manager for Mobile Devices and an approach for Mobile Device
Management
This section describes what mobile management requirements IBM Endpoint Manager for
Mobile Devices performs.
Business benefits
This section describes how IBM Endpoint Manager for Mobile Devices supports an
organization mobile strategy.
Ensuring mobile security and compliance
This section describes the security features that IBM Endpoint Manager for Mobile
Devices provides in protecting and securing mobile devices, applications, and data.
System overview
The system overview provides a high-level representation of the various systems that form
part of a mobile management framework.
Block overview
The block overview describes how IBM Endpoint Manager for Mobile Devices functions in
an IT systems management infrastructure.
Components
The component view describes what the components are, and their functions in the IBM
Endpoint Manager for Mobile Devices system.
7
154 IBM MobileFirst Strategy Software Approach
7.1 Description of IBM MobileFirst Management
In today’s business environments, the proliferation of mobile devices is expanding beyond the
desktop and notebook platforms. It is becoming increasingly critical for organizations to have
the capability of integrating the management of these mobile devices into current
management frameworks. This provides the benefit of using defined processes, tools, and
policies in maintaining the integrity of corporate data and information, while enabling the use
of personal devices for personal and business functions.
Mobile device management is based on supporting employees using personal devices in a
business environment. These devices are considered untrusted, and the business entity
requires a degree of protection and security for the corporate data. Mobile device
management (MDM) functionality is required to provide mobile device support and control.
The following list includes some requirements for MDM:
Manage mobile devices.
Control corporate data (wiping).
Integrate corporate application (app) store.
Enforce security compliance (password policies, encryption, VPN access, and camera
use).
7.2 IBM Endpoint Manager for Mobile Devices in IBM
MobileFirst
Personal mobile devices come in many forms, and they require management to a large set of
different mobile platforms. Through management controls of the mobile devices, the device
management data provides critical information about the usage of the device for normal
business applications.
IBM Endpoint Manager for Mobile Devices is based on the IBM BigFix® platform, and extends
the capabilities for desktops, notebooks, and servers into the mobile space. The mobile
devices supported include Apple iOS, Android, Windows, and BlackBerry devices.
This model includes the following benefits:
An integrated platform for managing mobile devices, along with standard corporate
endpoints nodes (user nodes and servers)
The capability to extend predefined processes and policies to the mobile environment
The tools to include the onboarding of applications to mobile devices
Management of email functions through ActiveSync for Exchange, BlackBerry, and
IBMSync for Lotus® Traveler
IBM Endpoint Manager for Mobile Devices includes additional unified and integrated
capabilities:
The management of mobile devices over a corporate intranet and over-the-air (OTA)
channels, including the Internet
Integration with established IT service management processes and tools through defined
application programming interfaces (APIs)
Chapter 7. IBM MobileFirst Management overview 155
Customizations of management capabilities using IBM Endpoint Manager for Mobile
Devices scripts and menus
Availability of mobile apps (from the IBM Worklight platform application) through IBM
Endpoint Manager for Mobile Devices
7.3 IBM Endpoint Manager for Mobile Devices and an approach
for Mobile Device Management
In IBM MobileFirst, IBM Endpoint Manager for Mobile Devices addresses these requirements:
Provide support for a wide range of mobile devices.
Provide capability for management of devices through application of appropriate controls:
– Mobile device information
– Onboard applications
Safeguard corporate data integrity and protection of data assets.
Adhere to defined security policies and compliance.
An enterprise’s visibility into its mobile domain is critical to maintain control on how devices,
software applications, and data are being used and manipulated.
Through IBM Endpoint Manager for Mobile Devices, the enterprise can gain detailed insights
into the following information:
Device information, such as model, OS version, and serial number
Device physical location (Device Location Services)
User profile and credentials
Applications installed on the device (authorized or unauthorized)
Security compliance and adherence
7.4 Business benefits
IBM Endpoint Manager for Mobile Devices consists of a large menu of features for the
management of mobile devices required to support an enterprise mobile strategy. Continuous
future enhancements to the product provide beneficial advantages, keeping pace with
ever-increasing mobile adoption in corporations.
With IBM Endpoint Manager for Mobile Devices, corporations are enabled with the tools
required to remotely support personal user devices through Internet connections.
7.4.1 Integrated mobile device management
Mobile devices will be managed in a manner that differentiates personal and business data
through an integrated management platform that is also used to manage conventional IT
devices. This provides a cost-efficiency model that uses existing processes and technologies
as part of an enterprise system management framework, with minimal additional costs. This
includes service support desks, asset inventory, and enforcing security and business rules
compliance.
Additionally, the enterprise has the capability to enforce selective removal of business data,
separate from personal information. This is useful in situations where the personal device has
been lost or compromised in a manner that makes confidential business information available
for unauthorized access.
156 IBM MobileFirst Strategy Software Approach
7.4.2 Multi-platform support
With multi-platform support, corporations can provide support for a wide range of preferred
user devices. This does not restrict employees and prospective customers on a defined set of
mobile devices giving the users a freedom of choice. The following list includes platforms
supported by IBM Endpoint Manager for Mobile Devices:
Apple iOS
Google Android
Nokia Symbian
Microsoft Windows Mobile
BlackBerry
7.4.3 Lower administration costs
Through the integration of mobile device management with a system management platform
that supports existing equipment, the cost of administration can be minimized.
The following list includes extended mobile management capabilities:
Support for authentication for various devices
Enterprise app store for approved enterprise apps
Self-portal capabilities for employees and system administrators to subscribe and
administer mobile policies
7.4.4 Data protection
Because business asset security is becoming an increasing risk and issue of concern, the
need to ensure that corporate data and information assets are protected produces critical
considerations:
Provide central authority for compliance control and security.
Manage security settings, such as password policy, encryption, WiFi, and iCloud sync.
Remotely administer device function for lost or stolen devices:
– Erasure of data
– Device lock
– Location of device
Control device applications
– Onboard application inventory
– Jailbroken devices
7.5 Ensuring mobile security and compliance
The inclusion of personal mobile devices into an organization exposes the organization to
certain external security risks. Personal devices tend to be used in dual modes (personal and
business). Without appropriate controls, personal usage patterns can adversely affect
organizational applications in the same device.
This might include unknown external intrusions into the device for the purposes of
undermining information security through malware, spyware, and spam threats. Furthermore,
personal device loss due to theft or damage creates the risk of external parties having
unauthorized access to confidential enterprise data information.
Chapter 7. IBM MobileFirst Management overview 157
There are distinct differences for both corporate and personal usage of the mobile device.
Enterprise needs
The following tasks represent enterprise needs:
Protect corporate applications and data, not just the device.
Enforce advanced security features, such as file-level encryption.
Centrally administer and enforce permissions and policies.
Remotely wipe all work-related applications and data.
Prevent data leakage from enterprise apps to personal apps and public cloud-based
services.
Personal needs
The following tasks represent personal needs:
Maintain full control over personal applications and data.
Ensure that personal data remains untouched by providing selective wipe.
Switch between personal and work functions simply.
Enterprise policies do not apply when the device is not connected to the enterprise
network and corporate apps are not in use.
Device level
The following capabilities represent security required for the physical device management:
Registration of the device
Onboarding of security policies to the device
Ability to lock device features where appropriate
Ability to wipe corporate data on the device
Secure data
Security oversight is required when data is resident in the mobile device:
Separation of data between personal and business usage in the mobile device
Encryption of the business data
Prevention of data leakage
Application security
For applications in the mobile device, security controls include the following capabilities:
Controls associated with the application
Authentication of access to apps and data
With IBM Endpoint Manager for Mobile Devices, the organization is enabled to accomplish
the following tasks:
Detect integrity of a device (rooted or jailbroken) and provide remedies for business
usage.
Delete enterprise data and applications selectively and in a controlled manner in the event
of a compromised or lost mobile device.
Enforce corporate security protocols through the integration of defined interfaces (IBM
Notes Traveler, Microsoft Exchange, Samsung SAFE, NitroDesk TouchDown, and
Enterproid Divide).
Administer security guidelines on login controls, encryption, Internet access, and native
device functions based on industry or defined corporate standards.
158 IBM MobileFirst Strategy Software Approach
In this manner, a corporation has the ability to restrict the usage of the personal mobile device
until such time as it is deemed to be secured and safe. Continuous monitoring will ensure that
any infractions are resolved and addressed.
7.6 System overview
Figure 7-1 describes a typical environment for MDM. The following list includes the main
components:
IBM Endpoint Manager server, which is a database that interacts with the IBM Endpoint
Manager relays and IBM Endpoint Manager Console to manage the mobile devices.
IBM Endpoint Manager relays distribute information from the mobile devices to the IBM
Endpoint Manager server.
Management Extenders enable the IBM Endpoint Manager server to communicate with
mobile devices that do not have an onboard agent (such as iOS, BlackBerry, Active Sync,
or IBM Sync).
Figure 7-1 Typical IBM Endpoint Manager deployment for a mobile environment
The IBM Endpoint Manager server is a database that stores all of the defined policies
associated with the management of the mobiles devices.
The trusted service provider brokers the communications between the self-service portal,
management extenders, and the active directory. This is to authenticate users through the
enrollment process, either through self service or administrative operation.
When enrolled, the user is authenticated through Lightweight Directory Access Protocol
(LDAP), and enables the user to perform self-administered functions, such as device wipe or
password changes.
Chapter 7. IBM MobileFirst Management overview 159
The Management Extenders with the relays bridge iOS or Android devices to the IBM
Endpoint Manager server (or the trusted service provider) to manage the devices by setting
and monitoring policies, sending messages, and deploying applications.
The management extenders are modular, and can be expanded according to growth
requirements. Each management extenders can support the following numbers:
5000 iOS devices per extender
10,000 Windows, BlackBerry, or Android devices per extender
Apple Push Notification Servers satisfy Apple’s requirement that iOS devices be triangulated
for the forwarding of third-party application notifications to iOS devices.
The following list includes the main connections of IBM Endpoint Manager for Mobile Devices:
Integration with the IBM Endpoint Manager platform
Import applications from an applications server (Worklight)
Connection to mobile device platforms
Connection to notification servers
Connection to service provider based services
7.7 Block overview
IBM Endpoint Manager for Mobile Devices is part of the IT Service Management Domain that
provides the following capabilities:
Support for basic management of devices using email-based management
Support for advanced management of devices using agent-based management
Device inventory
Security and password policy management
Management commands, such as wipe, lock, clear-password, deny email access, push,
and data roaming
Applications management
Authenticated enrollment for restrictive user access
Self-service portal enabling users to manage their own personal devices
Enterprise access configuration, including email, WiFi, and VPN
Note: Support for these features varies by device, OS, and management method.
160 IBM MobileFirst Strategy Software Approach
Figure 7-2 shows the IBM Endpoint Manager for Mobile Devices.
Figure 7-2 Block overview
7.8 Components
Figure 7-3 shows the main components of IBM Endpoint Manager for Mobile Devices:
IBM Endpoint Manager core platform services
Management interfaces
IBM Endpoint Manager relay
Mobile device management
Figure 7-3 Components
Chapter 7. IBM MobileFirst Management overview 161
7.8.1 IBM Endpoint Manager Core Platform Services
The IBM Endpoint Manager Core Platform Services consist of the following components.
IBM Endpoint Manager Server
The main component of the IBM Endpoint Manager system is the IBM Endpoint Manager
Server, which is responsible for hosting and managing the communication between all of the
sub-components of IBM Endpoint Manager for Mobile Devices. It includes a set of interacting
applications (web server, CGI-BIN, and database server) that coordinate the relay of
information between sub-components in the IBM Endpoint Manager for Mobile Devices
system. The server processes can be hosted by a single-server computer, segmented to
operate on separate server components, or replicated on redundant servers.
The IBM Endpoint Manager Server consists of the following components:
Platform DB
This component is the platform database.
FillDB
This component posts client results into the database.
GatherDB
This component gathers and stores IBM Fixlet® downloads from the Internet into the
database. Fixlets represent vulnerabilities identified based on relevance, which is a set of
questions that are returned as applicable in the IBM Endpoint Manager environment.
Fixlets are used to capture what vulnerabilities need to be rectified, and are no longer
relevant when remedies have been successfully implemented.
Web Reports
This component is an HTML-based tool that provides access to stored information about
the IBM Endpoint Manager server. There are built-in reports, and you can create custom
ad hoc reports based on a variety of criteria. Web reports data collection is one-way,
meaning it only draws information from the IBM Endpoint Manager databases.
Gather Services
This component watches for changes in fixlet content for all of the fixlet sites to which you
are subscribed. It downloads these changes to the server and makes them available to the
GatherDB component.
Root
This component refers to the HTTP or HTTPS services offered by the principal server. The
IBM Endpoint Manager Root Server is specially tuned to fixlet traffic. Previously known as
the BES Root Server, it is now known as the IBM Endpoint Manager Root Server, or Root
Server.
Management interfaces
This main component consists of the following components:
IBM Endpoint Manager Console
This component is a Fat32-based console that provides access to all of the administrative
functions required to manage an IBM Endpoint Manager production system.
IBM Endpoint Manager Web Reports
This component provides information about security compliance status of mobile devices.
162 IBM MobileFirst Strategy Software Approach
IBM Endpoint Manager Relay
This main component consists of the following service:
Relay Service
This service is the service running on a relay server that is a client that is running special
server software. Relays spare your server and the network by minimizing direct
server-client downloads, and by compressing upstream data. Relays are automatically
discovered by clients, which dynamically choose the best relay to connect to.
7.8.2 Mobile Device Management
This main component consists of the following components:
Apple iOS
These management extender components proxy communication between IBM Endpoint
Manager, Apple’s Apple Push Notification Service (APNS) servers, and the managed
devices.
Exchange/Notes
These management extender components support proxy communication between
Exchange/Lotus back-end email systems and the devices managed by MDM.
Self-Service Portal
This component is a web interface that enables users to manage a subset of
administrative controls only on their personal, registered devices.
Admin Portal
This component is a web interface that enables IBM Endpoint Manager operators to
manage a subset of administrative controls (the same commands are used as in the
Self-Service Portal). The Admin Portal is used by the help desk to perform basic functions,
such as device lock, device location, device wipe, and so on, without having to log in to the
IBM Endpoint Manager console.
Note: Android devices will communicate directly with IBM Endpoint Manager relays.
© Copyright IBM Corp. 2014. All rights reserved. 163
Chapter 8. The Application of IBM Endpoint
Manager for Mobile Devices in
IBM MobileFirst
This chapter describes the common mobile device capabilities of the IBM Endpoint Manager
(IBM Endpoint Manager) for Mobile Devices.
The intent is to demonstrate capabilities that support the management of mobile devices:
IBM Endpoint Manager console
Enrolling iOS and Android devices
Apply iOS profiles
Application management
Message to a mobile device
Device location services
Data roaming
Using web reports
8
164 IBM MobileFirst Strategy Software Approach
8.1 IBM Endpoint Manager console
The IBM Endpoint Manager console is used to manage mobile phones through a visual
representation. When logged in to the console, several domains, such as mobile device
management (MDM) are displayed in the lower left of the screen.
The mobile devices navigation tree in the console serves as a visual representation for all
mobile devices. The navigation tree provides access to reports, wizards, Fixlets, analyses,
and tasks related to the management of devices.
There are five primary dashboards in the navigation panel:
Mobile Device Overview
MDM Health Checks
Single Device View
Setup and Configuration Wizard
Security Compliance Dashboard
The primary MDM content is organized into the following nodes or categories:
Setup and Configuration
Mobile Device Inventory
App Management
Security Policies
Apple iOS Settings
Android Settings
Mobile Device Action History
The Setup and Configuration node displays a list of preliminary actions required before
mobile devices can be managed:
Activating analyses on the device
Deploying or removing components
Configuring the environment for custom enrollment
Specifying the Android device language settings
The Mobile Device Overview dashboard (Figure 8-1 on page 165) provides an overall view of
the status of the devices being managed.
This dashboard includes device OS breakdown to identify types of platforms, and device
count breakdown on the number of devices currently being managed. It also displays device
count by the last instance where the mobile device has communicated with the IBM Endpoint
Manager server.
It enables the system management administration to obtain a high-level representation of the
status of the mobile environment.
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 165
Figure 8-1 IBM Endpoint Manager dashboard
8.1.1 Dashboards
The dashboard view shows the health of the MDM environment, and a list of all mobile
devices (Figure 8-2).
Figure 8-2 List of available dashboards
166 IBM MobileFirst Strategy Software Approach
8.1.2 Setup and configuration
The Setup and Configuration folder (Figure 8-3) provides a number of options to deploy and
upgrade the MDM components. When deploying MDM, the Setup and Configuration wizard
will guide the necessary steps for the setup of the MDM.
After the deployment, when updates are available, they can be processed in the Upgrade
MDM Components view. The Analyses should be activated in order for IBM Endpoint
Manager for Mobile Devices to function properly.
Figure 8-3 Setup and Configuration folder
8.1.3 Mobile device inventory
The Single Device View (Figure 8-4) displays all of the mobile devices that are registered to
the IBM Endpoint Manager for Mobile Devices. Information provided in this view includes
device-specific information, such as device details (battery, mailbox, profile, and device
storage), commands that can be sent to the device, a list of iOS profiles, security information,
and installed applications (apps).
Figure 8-4 Single Device View
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 167
8.1.4 App management
The App Management folder (Figure 8-5) enables administrators to recommend,
un-recommend, prompt to install to, and remove apps from iOS and Android devices.
The Enterprise Apps Management dashboard provides a complete list of iOS and Android
apps installed on all devices, along with the ability to recommend or initiate a prompted install
to one or more devices. Additionally, any apps that were initially installed with the managed
capabilities enabled, can be removed in this folder.
Figure 8-5 Apps Management folder
8.1.5 Security policies
For security policies (Figure 8-6), a range of policies can be set for Android and devices
managed with Lotus, Microsoft Exchange, Enterproid Divide, and BlackBerry.
Figure 8-6 Security Policies folder
8.1.6 Android and Apple iOS settings
Android settings (Figure 8-7) can include WiFi settings or email settings provided by
Nitrodesk Touchdown, which is a secure solution for ActiveSync Email on mobile devices.
Apple iOS settings enable the administrator to configure a range of iOS settings, such as
Restrictions, APN, Email, ActiveSync, AppLock (iOS6), VPN, WebClips and so forth.
Other settings, such as Lock Screen, Deny Email Access, and so on are provided under
Basic Commands.
Figure 8-7 Android Settings and Apple iOS Settings folders
Important: Android devices must have SAFE installed to support install or uninstall of
apps.
168 IBM MobileFirst Strategy Software Approach
8.1.7 Mobile Device Action History / All Mobile Device Management Content
The history of actions that are run from the console, and their results, are displayed under
Mobile Device Action History (Figure 8-8).
Finally, the complete list of Fixlets, actions, and analyses are also contained in the All Mobile
Device Management Content folder.
Figure 8-8 Mobile Device Action History folder
8.2 Enrolling iOS and Android devices
This section describes the enrollment of iOS or Android devices to the IBM Endpoint Manager
for Mobile Devices environment.
Authenticated enrollment means that the user name and password are authenticated. It can
also require that the users answer a set of optional custom questions for the device to be
activated. All responses are treated as data, and are stored in the IBM Endpoint Manager
server for administrative purposes.
IBM Endpoint Manager provides multiple types of enrollment questions. All responses are
reported and stored in the IBM Endpoint Manager database.
Enrollment questions can consist of the following types:
Text Where a question is presented and a text response is required.
Email Where an email address is required as a response.
User License Agreement (EULA)
Where an agreement to conditions of use is required as a response.
Checkbox Where a check in a box is required.
Link Where a link is displayed for the user to access.
Select Where the user selects from a set of choices the correct answer as a
response.
Radio Where the user selects (in the form of radio buttons) from a set of choices
the correct answer as a response.
Remember: Enrollment can be performed by installing the application and connecting, or
through the enrollment web page.
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 169
8.2.1 Enrolling an iOS device
The first step of the enrollment process is to download the IBM Endpoint Manager Mobile
Client app onto the mobile client device.
1. To manage the client, provide the Management Extender server address (Figure 8-9).
Figure 8-9 Management Extender Server URL
2. Also provide the user information, including Work Email Address, Password, and Device
Ownership (Figure 8-10).
Figure 8-10 User information
170 IBM MobileFirst Strategy Software Approach
3. To install the self-signed certificate, click Install (Figure 8-11).
Figure 8-11 Self-signed certificate installation
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 171
4. To install the mobile device profile, click Install Now (Figure 8-12).
Figure 8-12 Mobile device management profile
5. You see the user notification warning that installing the profile will allow remote
management of your iPad. Click Install to accept (Figure 8-13).
Figure 8-13 User notification screen
6. The final step is a confirmation that the profile is installed. Click Done (Figure 8-14).
Figure 8-14 Enrollment is complete
172 IBM MobileFirst Strategy Software Approach
8.2.2 Enrolling an Android device
In this example, the IBM Endpoint Manager Mobile Client app is installed from Google Play for
the Android device:
1. To accept the license agreements, click Accept (Figure 8-15).
Figure 8-15 Android Mobile Client
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 173
2. You see a prompt to activate the security policies, along with a warning that doing so will
allow the app to perform data and password operations. Click Activate (Figure 8-16).
Figure 8-16 Android security activation
174 IBM MobileFirst Strategy Software Approach
3. Provide the Management Extender server address (Figure 8-17).
Figure 8-17 Android Management extender server address
4. Enter the user information and click Enroll (Figure 8-18).
Figure 8-18 User information
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 175
5. Enrollment is complete (Figure 8-19). Enrolled devices will then register with a relay and
be displayed within the console.
Figure 8-19 Enrollment completion
176 IBM MobileFirst Strategy Software Approach
8.3 Apply iOS profiles
This section describes the application of iOS policy for MDM functions, such as Passcodes,
Restrictions, or Apple WebClips. This is done from the IBM Endpoint Manager console, where
a new profile is created and configured with the appropriate Apple iOS settings.
8.3.1 Passcodes
Passcodes are used on Apple devices to protect the device against unwarranted access.
Passcodes are defined by corporate policies, and are required for the use of the mobile
device for business apps (Figure 8-20).
Figure 8-20 Passcode profile configuration
8.3.2 Restrictions
Restrictions are enforced as part of the corporate policies on certain capabilities of the mobile
device, and are updated as required. Restrictions, such as camera use, Apple Siri, in-app
purchase, iTunes, and so on, can be disabled based on corporate usage policies
(Figure 8-21).
Figure 8-21 Restriction profile configuration
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 177
8.3.3 Web Clips
A Web Clip is a shortcut to a specific website or web page on a mobile device. This is stored
as a shortcut to a website in the device. The Web Clip directs a user to a website for
information or data, or to a site for a recommended app (Figure 8-22).
Figure 8-22 Web Clips profile configuration
8.3.4 Remove iOS profile
An iOS profile removal is for situations where the profile for the mobile device is no longer
required or authorized to be used. Perform iOS profile removals remotely through the central
console (Figure 8-23).
Figure 8-23 The iOS Profile Removal window
178 IBM MobileFirst Strategy Software Approach
8.4 Application management
This section describes how to view apps installed on the mobile devices. Additional apps can
be recommended for download from the Apple Store for iOS devices, or from Google Play for
Android devices.
8.4.1 Installed apps
The Enterprise Apps Management dashboard shows all of the apps installed on all devices
(both iOS and Android devices), as shown in Figure 8-24.
Figure 8-24 Enterprise Apps Management dashboard
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 179
8.4.2 Recommend an app to an iOS device
Recommended apps can be imported from the following sources (Figure 8-25):
A public app store
An iOS application (.ipa) file to devices that are controlled with the Enterprise Agreement
(only Enterprises are eligible for this)
An IBM Worklight system
Figure 8-25 Options for importing an app
Figure 8-26 shows the IBM Endpoint Manager Mobile Client app installed.
Figure 8-26 Graphical view of Mobile Client application installed
Note: For a production environment, a recommended app can be applied to a group of iOS
devices. When devices are online, they will be alerted with the recommended app for
download.
180 IBM MobileFirst Strategy Software Approach
The Mobile Client app shows applications that have been installed on a mobile device
(Figure 8-27).
Figure 8-27 View of application installed
8.5 Message to a mobile device
In certain situations, there might be a requirement to broadcast a message to all (or a group
of) mobile devices. This can be a notification of an event or a message about a situation:
Android messages
Android devices use sticky notifications for messaging users. Therefore, the notification
will remain in the Android status bar until the user opens and removes it.
Apple iOS messages
Apple iOS uses push notifications to display message notifications to users. This
notification will display as a message on the device, and in the Apple Notification Center
on devices using Apple iOS5 and later. Similar to Android devices, Apple iOS messages
can be sent by custom actions and through a default Fixlet message.
8.6 Device location services
The physical location of iOS and Android devices can also be displayed by an administrator.
Users can disable this on their mobile phone (under Location Services in iOS). Mobile
devices report back their global positioning system (GPS) coordinates whenever the mobile
device client detects a significant change in location.
The Mobile Client uses the Significant Change Location Service to monitor the physical
location of a device. This feature must be enabled on the device, and on the server, for
tracking information to be sent for management purposes.
Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 181
8.7 Data roaming
Data roaming charges can become excessive for staff who travel overseas. IBM Endpoint
Manager for Mobile Devices can apply MDM policies to turn off data roaming (Figure 8-28).
Figure 8-28 Cellular Data and Data Roaming settings
Figure 8-29 Device List in the IBM Endpoint Manager console
Tip: IBM Endpoint Manager for Mobile Devices includes Data Usage information, as
shown in Figure 8-29. It shows the last three months of cellular data usage provided to the
server, which will store a larger archive for history checking. This column can be added by
following these steps:
1. Right-click the column header.
2. Type data usage.
3. Select the check box next to the Data Usage column.
182 IBM MobileFirst Strategy Software Approach
8.8 Using web reports
Several web reports are available for MDM:
Mobile Device Overview (Agentless)
Displays a summary of device types, password policy status for ActiveSync devices
Mobile Device Overview (Natively Managed)
Displays a summary of device types and password policy status for devices managed
using MDM
Mobile Device Security Overview
Displays the security status of devices (jailbroken), password policy, and device encryption
Device Security Compliance Report
Displays a high-level overview of security compliance and device information
An example web report is shown in Figure 8-30.
Figure 8-30 Mobile Device Overview (Agentless) web report
© Copyright IBM Corp. 2014. All rights reserved. 183
Chapter 9. IBM MobileFirst Analytics
overview
This chapter describes IBM Tealeaf CX Mobile, the component of the IBM MobileFirst
strategy that delivers fine-grained user behavioral analysis.
This chapter contains information about the benefits and components that make up Tealeaf,
and how analysis and reporting are crucial to any mobile application (app).
This chapter provides information about the following topics:
Description of Tealeaf CX Mobile
Tealeaf CX Mobile in IBM MobileFirst
Business benefits
System overview
Block overview
Components
9
184 IBM MobileFirst Strategy Software Approach
9.1 Description of Tealeaf CX Mobile
The rapid expansion of the mobile channel to conduct business has forced rapid development
of mobile apps, often without fully testing and integrating them before deploying them.
According to a study1 of 2,469 US adults, 84% of those online reported that they experienced
problems when conducting transactions on mobile devices.
Customers who have a bad experience with a mobile app are probably going to give up and
move on to a competitor quickly. Apps that are difficult to use will be rejected by the high
expectations that customers have grown accustomed to. In addition, they will not hesitate to
post reviews and complaints on social media sites, damaging your brand and reputation.
Similarly, employees using a mobile app for their job will be less productive if the way they
interact with the system is clumsy and time-consuming.
Using IBM MobileFirst can help you across the entire application lifecycle, from developing
and testing to deploying your mobile app correctly the first time, but what about quantifying
and analyzing how the app is used after it has been released? How can you tell if the user is
struggling? How do you know that customers are stuck on a particular screen? What happens
when they rotate the screen, or use their camera and the app suddenly becomes slow or
stops?
Tealeaf CX Mobile will give you the insights into how your app is being used, both in real time
or from historical records. Imagine that a customer is stuck on a screen and needs help. With
Tealeaf CX Mobile, an alert can be generated for someone to assist immediately. Perhaps a
customer bought an item a week ago, and has not received it. You can find that transaction
and play back everything they did to discover what went wrong in the process.
Tealeaf gives you the ability to determine what really happened, whether it is to track
problems, detect and alert when a user struggles, or to improve the business process in your
app. These features give real business value, with the ability to fix, invest in, or remove
functions to improve the user experience, and thereby increase potential revenue.
The following list includes key features of Tealeaf CX Mobile:
Mobile web, hybrid app, and native app support for iOS and Android, including support for
HTML5. When integrated with the desktop website, Tealeaf can help businesses
significantly improve all of their online channels.
Comprehensive mobile visibility achieved by capturing user information and interactions
across the mobile app, both on the network and the client side.
An early warning system to detect users struggling with an app, providing a proactive
insight into mobile app failures and usability issues. Obstacles that lead to failed
transactions, abandonment, negative feedback, and poor app store ranking can be
avoided.
Enhanced mobile web session replay helps businesses understand why something went
wrong by viewing what customers saw on their device, and the specific actions that they
took. Actions, such as pinch to zoom in/out and screen rotates, are all captured and
replayed.
Real-time drag-and-drop analysis to quantify revenue effect and segmentation by user
behaviors or device attributes.
Powerful ad hoc discovery and segmentation to quickly find and isolate problems across
mobile customer sessions, both at the individual and aggregate levels.
1 2011 Harris Interactive survey
Chapter 9. IBM MobileFirst Analytics overview 185
9.2 Tealeaf CX Mobile in IBM MobileFirst
Tealeaf CX Mobile fits into the final stage of the IBM Mobile Enterprise Development
Lifecycle. After an app has been designed, developed, tested, deployed and is being
managed, obtaining qualitative insight into how and why the app is being used is the final
step.
Figure 9-1 shows the application lifecycle, with the Obtain Insight phase gathering real
mobile app usage through Tealeaf, and feeding back into the Design and Develop phase.
Tealeaf CX Mobile can be integrated with the IBM Worklight Server to feed operational
events, such as application crashes, to the Worklight dashboard.
The Worklight client run time includes the Tealeaf CX Mobile libraries for iOS, Android, and
mobile web, which means developers can immediately start to instrument the app using
Tealeaf during the development stage.
Figure 9-1 The IBM Mobile Enterprise Development Lifecycle
The keys to delivering high-quality applications in a short space of time are to improve the
development and testing of an application, gain visibility into the user experience, and then
trace that to back-end systems and processes. Where there is a usability issue, it can rapidly
be resolved before releasing to production.
Analyzing the user experience enables business leaders to identify where to fix problems,
where to invest in new features and functions, and, where functions are not adding business
value, which to remove.
186 IBM MobileFirst Strategy Software Approach
9.3 Business benefits
The companies that are most effective in satisfying and retaining customers are those that
consistently enhance and innovate their online web and mobile channels. With mobile access
growing at the fastest rate of all online channels, it is crucial that the experience given to
customers is exemplary, because this will directly drive revenue.
Simply having a mobile presence is not the competitive differentiator it might have been in the
past. However, having a well-executed, easy-to-use design makes an app a pleasure to use,
which leads to repeat visits and sustained customer relationships.
Tealeaf CX Mobile provides businesses with the following key insights:
Why a customer does not complete a transaction
How many users are affected by a problem
Analysis of who the customer is, where they are, and what mobile device they are using
How a customer is using an app, and what their actual intent was
Immediate evaluation of business initiatives or sales campaigns
Raising conversion rates by detecting obstacles and issues that cause users to struggle
Making better business decisions across the mobile channel by analyzing user behavior
Diagnosing and fixing problems faster to avoid brand and reputation damage
These capabilities bring in significant benefits, such as higher revenue, lower operational
costs, and higher customer satisfaction.
Having a window into how customers are using your mobile app, where their pain points are,
why transactions are not completing when you would expect them to, and how to convert an
interest into a sale are all business issues that can be identified with Tealeaf CX Mobile.
Furthermore, being able to segment your customer base into who is visiting and using your
app, what browser and mobile device they are using, and what their screen resolution is, will
enable decisions to be made on where to invest future development work. Knowing where
and when your customer is using your app is an incredibly powerful insight, enabling targeted
sales initiatives and geographically based offers to be built in to the app.
How easy and reliable a mobile app is will dictate, therefore, how loyal the customers will be,
and how likely they are to repeat their business. This reduces customer churn, increases the
chance of positive feedback and satisfaction, and therefore drives new business revenue.
9.3.1 Real-time reporting
With real-time report building capabilities, business leaders and IT users are able to rapidly
quantify lost revenue, and attribute that to specific sources of customer struggle (for example,
obtaining a quote, or at check-out).
Note: In a recent studya, 85% of respondents expected the mobile experience to be better
than or equal to the experience offered on the desktop web. Of those questioned, 65%
would be less likely to buy from the same company through other channels (in-store or
online) if they encountered a mobile transaction problem.
a. 2011, Harris Interactive survey
Chapter 9. IBM MobileFirst Analytics overview 187
Figure 9-2 shows an example conversion rate at a check-out per hour of the day, charting the
number of transactions and how many of those converted to a sale. Businesses can quickly
determine which hours of the day people spend browsing, and which hours have the most
sales, and can target marketing accordingly. Also, they are able to quickly identify a system
problem at a particular time of the day.
Figure 9-2 Example conversion rate by time report generated by Tealeaf CX Mobile
Problems can be shown to either affect all users, or some users with certain devices. These
reports can be used to determine how to resolve the issue, and how to direct future business
decisions about how many devices or operating systems should be supported.
9.3.2 Customer intent
Analytical overlays reveal understanding of the customer intent for mobile web2
apps.
However well the app is designed, it does not necessarily mean that is how users perceive or
want to use it. With the use of heat maps, link analytics, form analytics, and attention maps,
Tealeaf CX Mobile provides a better understanding of how the customer is intending to use
the app. For example, patterns of where customers are touching the screen can reveal where
buttons on the application should be located, or where key information should be displayed.
By discovering common trends, the app can be redesigned to match customer intent, and
therefore drive sales.
2 Overlays will work only for mobile web, not for native applications.
188 IBM MobileFirst Strategy Software Approach
9.3.3 Dashboards
A variety of dashboards can be created and configured to give instant insight into the
business health through the mobile channel.
As an example, the “top movers and drivers” dashboard in Figure 9-3 enables business
leaders to see where the majority of mobile users are struggling at any given moment.
Combined with the qualitative insights available through the replay of a mobile session, the
technical issue or usability problem can be rapidly identified and resolved.
Figure 9-3 The top movers and drivers dashboard3
This enables businesses to benefit from resolving issues before they create a major impact,
and further enables the identification of key drivers of activities, which can be compared
across time to assess trends. For example, a sudden surge in mobile activity might be caused
by a major sporting event, or after a marketing activity. Instant feedback shows where and
when to target business initiatives.
9.4 System overview
IBM Tealeaf CX Mobile works across the multiple mobile programming models, including web,
hybrid, and native (Table 9-1 on page 189). However, there are important differences in the
way Tealeaf captures and uses data from the device, depending on the programming model
used.
3
Taken from Customer Experience Management in the New Era of Mobility
http://public.dhe.ibm.com/common/ssi/ecm/en/zzw03224usen/ZZW03224USEN.PDF
Chapter 9. IBM MobileFirst Analytics overview 189
For web-based mobile apps, Tealeaf captures the data going between the device web
browser and the web server by capturing packets in the network close to the web server.
For native and hybrid apps, Tealeaf provides a framework to enable developers to instrument
the app during development, providing the ability to capture more data. It is possible to
capture screens, for example, and send them to Tealeaf, showing exactly what a user was
seeing at the time. This uses resources in terms of data being transmitted, so developers
have the ability to capture screens more frequently when connected to a WiFi network.
Table 9-1 Tealeaf capabilities depending on application type4
Application types:
Tealeaf CX Mobile works across the following programming models:
Mobile web apps are the same as those used in a desktop browser, but are adapted to
fit on the smaller screen of a mobile device. They are typically written using HTML5,
Cascading Style Sheets (CSS), and JavaScript, and are portable across multiple
devices and operating systems. Web apps cannot access the hardware on the mobile
device, such as the camera and global positioning system (GPS).
Native apps are written in an operating system-specific language, and have full access
to the mobile device hardware, features, and functions.
Hybrid apps combine both the web and native models. Apps are written in the browser,
but are wrapped in a container that enables the app to access the device hardware.
Capability Native app Hybrid app Mobile web app
User Behavior Yes Yes Yes
Event-based Analytics
and Alerts
Yes Yes Yes
Replay Yes, using screen
capture
Yes, using screen
capture in native shell
and full in HTML
Yes
Track text field/value Yes Yes Yes
User gestures:
zoom/pinch/scroll
Tracked but not
replayable
Yes Yes
Heat map No No Yes
App launched/entered
background
Yes Yes Yes
Device orientation Yes Yes Yes
Device characteristics Yes Yes No
Connectivity / Carrier /
GPS
Yes Yes No
Free Memory Yes Yes No
Battery Level Yes Yes No
4 Courtesy of Henrik Sjöstrand, IBM MobileFirst Evangelist
190 IBM MobileFirst Strategy Software Approach
The interactions between systems and users with Tealeaf CX Mobile are shown in Figure 9-4.
At a high level, Tealeaf CX Mobile passively listens to all mobile app interactions, and collects
the data into a data store.
The data collected and stored by Tealeaf CX Mobile is requested by several user groups,
primarily split between IT users, business operational users, customer service users, and
business managers:
The IT users use the system for early warning about problems, such as general trends of
application failures and customers getting error pages. The IT users will receive real-time
information from the Tealeaf CX Mobile system.
Business operation users receive real-time alerts from the Tealeaf CX system with
information, such as failed transactions or users trying several times to complete a
purchase. With this information, they will be able to personally assist a user if they request
help, and will be able to replay the entire transaction.
Customer service users be able to recall historical transactions and replay those, to
problem solve a business transaction that might have failed to fulfillment, or perhaps to
investigate a suspected fraud.
Management users will receive dashboards on real-time activity in the Tealeaf CX Mobile
system, such as “top movers and shakers.” These dashboards provide general activity
trends, how many users are completing transactions, how many are failing, and how many
conversions to complete purchases are taking place.
Figure 9-4 System overview
Chapter 9. IBM MobileFirst Analytics overview 191
9.5 Block overview
Figure 9-5 shows where Tealeaf CX Mobile sits in the business IT architecture. Because the
system provides an interface between mobile devices and business users, and collects data
passively and asynchronously, it can be classified as middleware. Data gathered from the
mobile device session is collected into several indexable data stores and containers situated
in the data layer.
Figure 9-5 Block overview showing Tealeaf CX Mobile in the IT landscape
9.6 Components
The Tealeaf CX Mobile components are broadly split into five categories:
Customer Behavior Analysis Suite
Components to connect to and analyze Tealeaf data.
Customer Service Optimization
Ability to search for and replay mobile sessions.
Integrations Components for data analysis of the rich data stored on every
customer interaction.
Capture Passive application to capture the network stream from mobile
sessions.
Data store Short-term and long-term containers for storing and archiving the
captured data.
192 IBM MobileFirst Strategy Software Approach
Figure 9-6 shows the components that make up Tealeaf CX Mobile.
Figure 9-6 Components of Tealeaf CX Mobile
9.6.1 Customer Behavior Analysis Suite cxImpact component
Tealeaf cxImpact is the component that provides a portal into the Tealeaf CX Mobile system.
The Tealeaf portal is a web interface that provides, among others, real-time views of user
activity, searching capabilities, and drill-downs to perform session replay. Tealeaf cxImpact is
the base software, with additional modules that sit on top:
The cxView module enables dashboards and scorecards to be created.
The cxOverstat module enables heat mappings, link, form, and attention mapping for
web-based mobile sites.
The web portal provides a user interface for searching for both active and completed
(historical) sessions, a means to review and analyze data across search results, and, for
administrative users, controls to manage the Tealeaf system.
The cxImpact component (cxView and cxOverstat), includes the following functions:
Search
The indexes created by the processing server can be searched through the portal. It is
possible to search for text strings in current active and incomplete sessions, although
searching for completed sessions is much more powerful.
Replay
The ability to replay a session as a mobile visitor would have experienced it is one of the
unique features of Tealeaf CX Mobile. Replay enables you to understand the customer
experience from beginning to end, with the actual web pages served to visitors, the links
that they clicked, and the form fields that they edited. If a native app has been
instrumented to capture screen images, these will also be available in the replay.
Important: The cxImpact module is required to run with Tealeaf CX Mobile, because it
unlocks the powerful replay and event features.
Chapter 9. IBM MobileFirst Analytics overview 193
Monitor user actions
By identifying locations on a particular page or business process, the actual use can be
translated into why customers are abandoning the app at that point. The development
team can focus efforts in this area to resolve usability or functionality issues.
Development aid
By monitoring activity in an application, the tools can be used to perform data-driven
measurements with which to test functionality and usability.
In addition to the web-based browser, a desktop application called IBM Tealeaf RealiTea
Viewer is also available, offering the user additional options for configuring playback on the
system.
An active session report in the cxImpact portal shows all of the active mobile web sessions,
how many events have been marked for evaluation, and how many hits that session has
produced. The active session search results returned can be customized to contain any data
in the sessions (for example, a Customer Details Results view to return all visitors’ given
names and surnames, or an IT view that contains visitor server IP addresses, client IP
addresses, and browser types).
In this active session report, a user can accomplish the following actions:
Replay an active session in the cxImpact browser session, or in the Tealeaf RealiTea
Viewer.
Display the web pages in the session.
Display storage and user information for the session.
Send the session to the event tester as a sample.
Searching for active or completed session data is just as straightforward in the cxImpact
portal. Text that appears in the HTTP request or response data, in addition to metadata
included in each session, is included in the search option. Searching can span both active
and completed sessions. By querying data captured by Tealeaf, you can locate sessions for
further analysis or replay, such as abandoned transactions or a particular scenario that might
be reported by a visitor.
Much more complex and advance searches are straightforward, using drop-down menus in
the cxImpact portal. After a session has been located, cxImpact will enable a user to replay
the session as the customer viewed it.
Remember: An event is a business-defined action that occurs in the app, such as a
check-out failure or the start of a new business process.
Note: Replaying active sessions as they occur enables a business to provide real-time
customer support by using the following capabilities:
Show visitor input, such as entered text, selected menu options, clicked links, or
buttons.
Track activities that occur on different views of a dynamic page.
View the raw request and response data.
Drill down into session details.
Show a copy of the mobile screen that the user was presented with, if using a native
mobile app.
194 IBM MobileFirst Strategy Software Approach
9.6.2 Customer service optimization cxReveal component
The cxReveal component of Tealeaf CX Mobile provides a faster customer service
experience by enabling you to quickly locate a user session. It provides a simplified search
and easy session retrieval, using a separate, high-performance database for faster searching.
This is suited to a call-center environment, where a customer might be waiting for help on
the telephone.
Running in the Tealeaf portal under cxInsight, the cxReveal component offers two methods of
searching for sessions:
Database search
As soon as Tealeaf detects a new session, it is accessible for search through the cxReveal
database. Based upon session attributes, such as a user login, individual sessions can be
found as soon as they start.
Canister search
Session searches can be performed against the Tealeaf canisters5, which is useful for
exploratory searches where an exact identifier is unknown. These searches typically will
take longer to return the wanted result.
As with the functionality in cxInsight, after a session has been located, it can be replayed in
the browser. Both active and completed sessions can be located through the search
capability of cxReveal.
Management dashboards are available to report on cxReveal activity, detailing how many
internal users are searching for sessions and how many are replayed. This is useful to
understand how many potential problems are being investigated during a time period, and
how efficiently the customer service team are using the Tealeaf system.
9.6.3 Integrations with the cxConnect module
The cxConnect module provides integration with business intelligence and web analytics
products for further analysis of the rich data on every customer interaction that is stored in the
Tealeaf databases.
It supports the extraction and delivery of Tealeaf session data, using the same portal interface
available in cxImpact. Sessions can be retrieved and exported to one of many supported
formats, and used in Tealeaf or with another analytical product.
5 Canisters are part of the Processing Server, discussed in 9.6.5, “Data store” on page 196.
Note: The difference between searching using cxReveal and cxImpact is primarily
determined by time. When searching with cxImpact, the search criteria are passed to a
separate search server, which queries the active and completed session databases. This
is more suited for exploratory or generalized searches but takes longer.
Searching through cxReveal makes a single query of one database, with a maximum
number of returned results of 100, making searching fast. Although generalized searches
can be performed, it is suggested to use cxInsight for this.
Chapter 9. IBM MobileFirst Analytics overview 195
The cxConnect module consists of several components:
Use cxConnect for Data Analysis to extract, analyze, and report on Tealeaf CX Mobile
data in external warehouses and business intelligence environments, such as IBM
Cognos®.
Use cxConnect for Web Analytics to easily integrate with web analytical products, such as
IBM Digital Analytics, to reveal trends and anomalies.
Use cxConnect for Voice of the Customer to integrate with Voice of the Customer
applications, such as IBM Content Analytics with Enterprise Search. This capability
enables visitors to submit feedback, and for the business to analyze and aggregate this
into information that it can use as a basis for action.
The following list includes the primary features and capabilities of cxConnect:
A graphical user interface (GUI) through the portal for managing extraction tasks
Extraction to either a data file or a log file (W3C format)
Complete logging and audit of all extraction activities
Automated scheduled batch extraction of archived session data, and delivery in real time,
on an ad hoc basis
Flexible filters and controls for defining the data to be extracted, which can be constrained
to limit the amount of data being extracted, or to return only certain data portions
Ability to extract data from multiple Tealeaf CX servers
Integration directly into IBM Digital Analytics to move from analytics to market, targeting
prospective customers directly with relevant digital content
Additionally, Tealeaf CX Mobile can be integrated with IBM Worklight to support the
operational analytics features provided in the IBM Worklight platform.
9.6.4 Capture
The Passive Capture Server (PCA) component of Tealeaf CX Mobile unobtrusively records
the HTTP and HTTPS requests and responses of a mobile web or hybrid application’s
operation, by inspecting the TCP/IP packets from a network.
The PCA provides a real-time method to capture each visitor’s interaction, without introducing
any latency or disruption to the app, and is connected directly to a firewall, load balancer,
switch, or network tap.
The data streams captured by this process are sent to a separate processing server, where
the data can be viewed, analyzed and replayed.
To support the Secure Sockets Layer (SSL) decryption of HTTPS traffic, the PCA has a
secure copy of the website’s SSL certificate, enabling it to decrypt the data.
The core process has the following key components:
Listen Network traffic packets from the network are traffic.
Reassemble TCP packets are decrypted if necessary, and initial parsing of the
HTTP requests and responses is performed.
196 IBM MobileFirst Strategy Software Approach
Post-process The reassembled data is formatted into a Tealeaf hit6
, and
any configured processing is performed, such as deliberately
dropping hits, data compression and decompression, privacy
blocking, and filtering.
Deliver The Tealeaf hit is sent to the processing server, using built-in routing
functions in the Tealeaf Transport Service.
Figure 9-7 illustrates how the capture server takes inbound packets of data from the web
channel, and outbound packets from the web server. These are assembled into hits, and sent
to the processing servers.
Figure 9-7 How data is captured and collected from the mobile web session
9.6.5 Data store
After the assembled Tealeaf hit has been processed by the capture server, it is sent to a
processing server, also known as a canister server. The canister/processing server correlates
the sessions that contain all of the mobile interactions for a specific visitor and the app that
they are using.
The contents of the session are inspected in real time for events (keywords and codes that
have been predefined) and, when matches are found, the record of this event is stored for
further processing. At this point, generation of reports and alerts can be triggered, depending
on the event rules.
When the active session has completed, the session record is written to disk and indexed by
a purpose-built search engine.
6
A Tealeaf hit is the fundamental unit of data in Tealeaf. It consists of a request/response pair from an HTTPS data
packet.
Chapter 9. IBM MobileFirst Analytics overview 197
I
The short-term canister organizes the sequence of Tealeaf hits into the logical order of hits
that are experienced by the visitor. Events are user-defined, and are intended to provide
insight into business process health, customer activity, application errors, page errors and
response time problems:
An event can be defined against the occurrence (or absence) of a single value, a text
pattern, page attributes, session attributes, or a compound of multiple conditions in a
business process.
Observed events are used for real-time altering, reporting, and searching. An alerting
service is triggered when a user-defined threshold or altering action is met.
Aggregated events are populated in the Report Server reporting database, with event
markers embedded to enable indexing for search and session retrieval.
A session index is a database that stores the locations of meaningful words and fields from
each session stored in the long-term canister. The index service operates in the following
way:
The index does not store all text from each session. For example, noise words, such as
but and if, are ignored.
After a session has been closed in the short-term canister, the Tealeaf CX Mobile server
automatically indexes the sessions selected for archiving in the long-term canister.
Index files locate occurrences of data or error codes from pre-configured events, which
enables faster and more efficient searching of the captured data.
HTML tags with any invalid XML characters are removed, and are named by day, based on
the time of the hit.
After index files have been created, they can be used by the portal (cxImpact components)
or the Tealeaf RealiTea Viewer.
Remember: There are two databases (or canisters) used by the processing server:
The short-term canister is an in-memory database to store Tealeaf hits in real time
from the capture process. Throughout a user session, each hit is added to the
canister, evaluated for any predefined events/rules, and correlated with the other hits
from that session. When the session has completed, it is moved to the long-term
canister (the archive).
The long-term canister is a disk-based archive database, populated from completed
and closed sessions from the short-term canister. This is indexed for searching, and
encrypted using Triple Data Encryption Algorithm (3DES) encryption algorithms for
security.
198 IBM MobileFirst Strategy Software Approach
9.6.6 End-to-end view
To summarize the Tealeaf CX Mobile architecture, Figure 9-8 shows the complete layout,
from the mobile client, connecting over the Internet to the app environment.
Figure 9-8 Tealeaf end to end architecture
The following list provides more details about the architecture shown in Figure 9-8:
1. The mobile app is deployed into the customer environment, where it connects over the
existing customer infrastructure.
2. Web traffic is directed from the switch, router, and load balancer to the application web
servers. However, in parallel, traffic is simultaneously sent to the Tealeaf CX capture
server, where the HTTPS stream is decrypted, assembled into session order, and
encrypted for security.
3. Session data is sent by the internal transport software to the Tealeaf CX Data Store,
where a processing or canister server takes the data, stores it in the in-memory short-term
canister database, inspects it, alerts and reports on events, and correlates Tealeaf hits into
a single or multiple customer sessions.
4. When the session has been completed, it is sent to the long-term canister, where it is
indexed and archived.
5. IT users, business leaders, and customer service agents can query, report on, and export
the data into a variety of formats for further analysis.
© Copyright IBM Corp. 2014. All rights reserved. 199
Chapter 10. Application of Tealeaf CX Mobile
in IBM MobileFirst
This chapter provides information about how Tealeaf CX Mobile can be applied in your
business scenario, and how you can set up and use Tealeaf to drill down into mobile sessions
to gain insight and analytics into how the application (app) is being used.
This chapter describes the following topics:
Replaying active and completed sessions
Creating events
Creating reports
Creating management dashboards
Creating early warning alerts on events
Adding dimensions to reports
10
200 IBM MobileFirst Strategy Software Approach
10.1 Replaying active and completed sessions
You begin by starting the Insurance Company A mobile app, which has been instrumented to
send information about the user interactions, along with screen captures, to Tealeaf using
JavaScript Object Notation (JSON) messages. This is a hybrid application, and the examples
given in this chapter all run using an Android Virtual Device (AVD). For an explanation of how
Tealeaf captures web and native apps, see 9.4, “System overview” on page 188.
The business requirement for Insurance Company A is to continually collect data from the use
of their mobile app, and use the knowledge gathered from analytics to loop back into the
development cycle. The first thing you need to do is understand how you can see the app
being used in near real time, and to analyze past usage patterns.
To replay active and completed sessions, you follow these steps:
1. Simulate a customer interaction through the mobile app.
2. Replay an active session.
3. View multiple active sessions.
4. View the data captured during replay.
5. Replay a completed session.
6. Replay HTTP request and response data.
7. Replay session attributes and screen captures.
10.1.1 Simulate a customer interaction
You begin by simulating a customer interaction with your application:
1. After a successful authentication, you enter the main menu (Figure 10-1). At this point, you
have several choices to make. In this case, you suppose that you are in an accident, so
choose the I’ve been in an accident button.
Figure 10-1 Main menu
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 201
2. You enter the main report accident screen (Figure 10-2) and enter details of a fictional
accident, including date, time, location, weather, injuries, number of vehicles, driver,
damages, and driver’s license.
Figure 10-2 Accident entry screen
3. You leave everything as default, because most of the information is completed
automatically. You enter in details about the fictional car (Figure 10-3).
Figure 10-3 Select car in mobile application
202 IBM MobileFirst Strategy Software Approach
4. Next, enter information about the driver (Figure 10-4).
Figure 10-4 Select driver in mobile application
5. You are returned back to the main accident screen to complete any other details
(Figure 10-5).
Figure 10-5 Report accident screen complete
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 203
6. Finally, submit the form (Figure 10-6) by clicking OK.
Figure 10-6 Submission of report accident form
7. The app submits the report accident form and returns you to the main menu.
As far as Tealeaf CX Mobile is concerned, the session will not have ended until either the
mobile user leaves the app, or it times out. Either way, the session will be visible in the active
sessions screen for a few minutes before it reaches the long-term canister (see 9.6.5, “Data
store” on page 196) for searching completed sessions.
10.1.2 Replaying an active mobile session
As soon as the mobile application was started on the device, Tealeaf CX Mobile started
recording the session. In the Tealeaf cxView web interface, all active sessions can be viewed
by choosing active sessions from the menu bar, which is constant in all Tealeaf windows:
1. Select Active  Sessions (Figure 10-7).
Figure 10-7 Active Sessions menu option
204 IBM MobileFirst Strategy Software Approach
2. Tealeaf immediately presents the active sessions screen, shown in Figure 10-8. You can
see one active session, which is your mobile app. The session date and time correlates
with the actual user time. The total duration of the user session so far is displayed.
Figure 10-8 Current active mobile sessions
3. You can drill down and see exactly what the mobile user is doing, in near real time, by
selecting the small cinema projector icon, shown close up in Figure 10-9 on the left. The
icons represent tasks that can be performed against the active session:
– The blue dot indicates that the session is currently active.
– The projector is used to replay the session.
– The set of pages to the right of the projector show a list of all the pages in the session.
– The blue flag with the magnifying glass gives a quick view of the session.
– The red letter i gives information about the session.
– The magnifying glass over paper sends the session to the event tester.
Figure 10-9 View of the options on active session
4. When selecting the replay icon, the user is asked whether to replay in a browser or in the
RealiTea viewer, but for the purposes of demonstrating Tealeaf CX Mobile, you will use
only the browser-based replay.
When a user is in the session replay screen, that user is presented with a screen split into
two, with the left column showing the interactions between the mobile app and the Tealeaf
server. Each entry marked Tealeaf Target is a request to Tealeaf and the response back.
The mobile app captures and sends screen captures to Tealeaf as the user navigates
through the application, and these are shown in the Tealeaf Target pages.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 205
5. Figure 10-10 shows the Report Accident screen, indicating that at this point, you were
starting to file an accident report. The previous entries chart the progress:
a. Logging in to the app
b. The main menu
c. Selecting the option to report an accident
Figure 10-10 Reporting an accident screen captured in the active session
206 IBM MobileFirst Strategy Software Approach
10.1.3 Viewing multiple active sessions
If you start another mobile session and leave the current one, the Tealeaf active session
screen reflects the fact that two mobile sessions are now active, as shown in Figure 10-11.
The first app session will time out, and Tealeaf will recognize this and move that session to
the completed session database.
Figure 10-11 Two active sessions in progress
The benefit of being able to see active sessions is that you get a quick indication of how busy
a mobile app is at any given point. More importantly, you are able to quickly find and drill down
into problem areas. Tealeaf CX Mobile will show exactly what point a user has reached in the
mobile app, and all the HTTP request and response data will be captured for debugging
(Figure 10-12 on page 207).
10.1.4 Data captured in replay
In the replay, information is collected regarding the mobile device, operating system, physical
location, screen dimensions, and a wealth of other crucial information relating to device and
software variables (Figure 10-12 on page 207). An app developer can use this information
during testing to improve the code, or in production to rapidly identify and fix a problem.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 207
Figure 10-12 HTTP request data from the mobile app recorded in the active session
208 IBM MobileFirst Strategy Software Approach
10.1.5 Replaying completed sessions
After an active session has completed or timed out, it is moved by a background task into the
long-term data store (or canister), where it is indexed and can be searched:
1. From the Tealeaf menu bar, select Search  Completed Sessions.
This opens a search dialog box, shown in Figure 10-13, to set search queries. Search
arguments can include a broad search over a short or much longer time period, and
against all or some of the text captured in the HTTP request or response messages.
It is obvious that a broad search over a long time period will take longer to complete than a
narrow specific search, such as on a customer identifier, over a short time period. Tealeaf
CX Mobile is set by default to time out during a search after 90 seconds, or when 10,000
sessions have been retrieved.
Figure 10-13 Completed session search
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 209
2. To be able to find your mobile session that completed earlier, you will search for all events
created today only, so you use the drop-down menu to select Only Today. Figure 10-14
shows the results of the search.
,
Figure 10-14 Completed sessions search results
3. The symbols, session time, and session duration are exactly the same, as shown in the
active session search screen (10.1.2, “Replaying an active mobile session” on page 203),
although note that there is no blue dot indicating that any of these sessions are still active.
4. To replay a completed session, click the cinema project icon.
When in the replay, Tealeaf CX Mobile presents a list of the Tealeaf Targets, which are
individual hits showing interactions between the mobile app and the Tealeaf server. If the
app has taken a screen capture, this will be shown in the target.
210 IBM MobileFirst Strategy Software Approach
5. Figure 10-15 shows the login screen as the first item that was captured.
Figure 10-15 First screen captured at login
Each of these functions in Tealeaf CX Mobile enables the user to rapidly navigate through the
user session. For administrators, they can see exactly what the customer had on their screen,
where they got up to in their session, and what problems they had.
For the support or development team, they can see the critical information about the mobile
device and the settings in use at the time of execution.
10.1.6 Request data
This component of the replay shows the request data sent from the mobile app to Tealeaf
(Figure 10-16 on page 211).
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 211
Figure 10-16 HTTP request data from the mobile app
212 IBM MobileFirst Strategy Software Approach
10.1.7 Response data
This component of the replay shows the response back from Tealeaf to the mobile app
(Figure 10-17).
Figure 10-17 HTTP response data back from Tealeaf to mobile application
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 213
10.1.8 Replay session attributes and screens
The replay component displays either the screen capture of the app page, or the session
attributes describing the device details and environmental variables (Figure 10-18).
Figure 10-18 Session attributes and application variables
214 IBM MobileFirst Strategy Software Approach
As each Tealeaf Target is stepped through, you eventually get to the end of the mobile app
session, where the car and driver has been selected (see Figure 10-5 on page 202). The
identical screen has been captured in Tealeaf (Figure 10-19).
Figure 10-19 Final mobile application screen
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 215
The next Tealeaf Target (Figure 10-20) shows the session attributes, including the current
Uniform Request Locator (URL) pointing to the accident-report.html page, and the screen
capture taken to be passed to Tealeaf in the JSON message.
Figure 10-20 Session attributes of the Accident Report screen
The final Tealeaf Target (Figure 10-21) shows the return back to the home.html page, and
takes a screen capture of the app home screen. This tells you that the Report an Accident
scenario was completed, and the user was taken back to the main menu.
Figure 10-21 Final transaction from mobile device, taking the user to the home screen
10.2 Creating events
Tealeaf events are defined by the administrator to be triggered upon certain mobile actions.
This could be when an app has started, when a particular screen has been entered, when a
value is input, or when a transaction has not completed. Many other combinations of events
can be set up, depending on the business need.
216 IBM MobileFirst Strategy Software Approach
In the case of Insurance Company A, you want to know when a user enters the I’m in an
Accident screen, so that the business can instantly see, at any point in time, how many
accidents are occurring. They can add value to their customer by calling them to ensure their
well-being, and assist them in capturing all the necessary details needed for a claim.
To create an event in Tealeaf, a replay of the app is needed, so that you can locate the point
when the application calls the I’m in an Accident screen. This will be the trigger point for
creating a new event. It is probable that system administrators or technical experts would do
this activity.
To create an event, follow these steps:
1. Locate the step (hit) attribute in the request data.
2. Create a hit attribute.
3. Define a new event.
4. Assign a hit attribute to an event.
5. Create a copy of the event.
6. Test an event.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 217
10.2.1 Locating the step attribute
As described in 10.1.5, “Replaying completed sessions” on page 208, a replay of a mobile
session needs to be started when it is known that the user entered the I’m in an Accident
scenario:
1. Using the previous example where you located a completed session, you move through
each Tealeaf Target to find the first occurrence of the Report Accident screen
(Figure 10-22).
Figure 10-22 Locating the first occurrence of Report Accident
2. You then move to the next target to view the request data that was sent to Tealeaf after the
screen grab of the mobile app screen.
218 IBM MobileFirst Strategy Software Approach
3. Select Request from the Tealeaf navigation bar, and then select Click here to view Step
Attributes, which is displayed as a link at the top of the request data (Figure 10-23).
Figure 10-23 Request data with Step Attributes link
4. Selecting the step attributes takes you to the point in the request data that contains the
step attributes, and by moving the mouse up and down the code, Tealeaf highlights any
steps that can drive events.
Step (or hit) attributes scan for patterns in every single JSON message, web page, or
HTTP interaction that gets sent from the mobile app, and passes this information to an
event, which can then trigger other actions.
10.2.2 Creating hit attributes
The point in the code that you want to create an event on is when the Report Accident page is
loaded. To do so, follow these steps:
1. You know from the application that each target page is referred to as toPage, so you locate
the "toPage": "incidentReportPage" command.
2. When found, hover over the command and right-click to present two options (Figure 10-24
on page 219). You create a new step (or hit) attribute, at which point the Tealeaf Event
Manager is launched.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 219
Figure 10-24 Create step attribute
3. In the Tealeaf Event Manager, you create a new Hit Attribute (HA), and name it HA toPage,
which is the value in the JSON message that you are looking to match. The other fields
can be left as their default. The step attribute path is the JSON string path to get to the
toPage element, that was automatically populated by Tealeaf.
220 IBM MobileFirst Strategy Software Approach
Figure 10-25 shows the completed hit attribute.
Figure 10-25 Create a new hit attribute
4. After you select Save Draft, the new hit attribute is listed with all of the others stored in the
system, but note that it remains highlighted in red until Save Changes is selected
(Figure 10-26).
Figure 10-26 New hit attribute before saving
10.2.3 Add a new event
The next step is to add an event:
1. Select Events  New Event in the portal.
2. When you add a new event, you give it a name and a description (Figure 10-27 on
page 221).
Restriction: Hit attributes alone cannot be added to an event. The event has to be
created first. Hit attributes can be used across multiple events to take different actions.
There does not have to be a one-to-one relationship between hit attributes and events.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 221
Figure 10-27 Adding a new event
3. It is crucial to select the correct value for the Evaluate drop-down box, otherwise the event
might never fire. There are several options, as shown in Figure 10-28, but whenever you
want to create an event on a JSON message, always select Evaluate  Every Step. Web
events are created by selecting Evaluate  Every Hit.
Figure 10-28 Evaluate on every step
4. The next drop-down you select is Track  Every Occurrence, although you could just
select on the first occurrence or last occurrence in a session.
5. Finally, you select Value Type  Count Only to show how many times the event
happened. You could store a text or numeric value here, such as the value of a basket or a
customer identifier, that could be pushed to a report form for a customer representative to
proactively call the customer.
222 IBM MobileFirst Strategy Software Approach
10.2.4 Assign a hit attribute to an event
To assign a hit attribute, follow these steps:
1. You associate the event to the HA toPage hit attribute that you created earlier by expanding
the Hit Attributes  Default list under the Condition tab, shown in Figure 10-29.
Figure 10-29 Creating a condition from a hit attribute
2. You choose to evaluate the hit attribute whenever the first value in the session is equal to
incidentReportPage. This is the page name taken from your JSON step attributes in the
replay browser.
3. Finally, you save the event as a draft, and then save changes to commit the new event to
the database.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 223
10.2.5 Create a new copy of the event
To create an event that will fire when the accident form has been completed, follow these
steps:
1. You can repeat the whole process, or simply right-click the event in the event manager,
and select New Copy of Event (Figure 10-30).
Figure 10-30 Create a copy of an event
224 IBM MobileFirst Strategy Software Approach
2. By reviewing the replay again, and moving to the last Tealeaf target and viewing the
request followed by the step attributes, you can find the command to return to the
application home screen "toPage": "homeScreen" (Figure 10-31).
Figure 10-31 Step Attribute at end of replay to return to the home screen
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 225
3. Because you already have a toPage hit attribute, you do not need to create another one.
You simply copy the homeScreen attribute and paste it into your new event under the
Condition tab (Figure 10-32).
Figure 10-32 Creating an end of accident report event
4. When saved, the events created are now live and will be triggered upon the start and end
of an accident report. You can test this by running through the mobile app, and by
searching for completed sessions. Two blue flags will be shown against the session,
indicating the start and end of an accident report (Figure 10-33). Alternatively, you can use
the built-in event tester, discussed in the next section, 10.2.6, “Event tester”.
Figure 10-33 Completed sessions showing start and end of accident events
226 IBM MobileFirst Strategy Software Approach
10.2.6 Event tester
The event tester, as its name suggests, enables any session to be tested for which events and
hit attributes will be, or already have been, triggered. To send an event to the tester, follow
these steps:
1. In either the active or completed session search, click the page with a magnifying glass
icon to send the event to the tester (Figure 10-34).
Figure 10-34 Send an event to the event tester
2. Give the event a description if required, and choose which events and hit attributes to test
against. In this case, you just want to test the start and end of accident events
(Figure 10-35).
Figure 10-35 Choosing which events to test the session against
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 227
3. Navigate the tab bar to Select Hit Attributes and select any that are required to be tested.
Finally, click View Results. By expanding on the events and hit attributes, you can see
exactly where Tealeaf matched on the values, and what those values were, as shown in
Figure 10-36.
Figure 10-36 Event tester results
10.3 Creating reports
Reports are fundamental to understanding the customer behavior of a mobile app, and can
be created and customized to whatever your business needs are. In the case of Insurance
Company A, a business requirement is to understand where a user is struggling, and a good
indication of that is if they have started an accident report but not completed it.
To create a report, you follow these steps:
1. Add events to a report.
2. View a report.
228 IBM MobileFirst Strategy Software Approach
10.3.1 Add events to a report
To add events to a report, follow these steps:
1. To create a report based on an event, select Analyze  Report Builder from the top-level
IBM Tealeaf CX menu bar (Figure 10-37).
Figure 10-37 Creating a report
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 229
2. When in the report builder, click Add Event from the left menu, which will open a window
to choose which events to report on. You will report on both the start and end of accident
reports, which are filed under the default events folder, as shown in Figure 10-38.
Figure 10-38 Selecting events to report on
If any of these events are triggered from this point on, the report will be updated. Note that
the report is not retrospective. It will not update on events that have occurred in the past.
Note: Reports are not created in real time, as with events and sessions. A background
task runs to create the report.
230 IBM MobileFirst Strategy Software Approach
10.3.2 View a report
After another accident report is executed and captured by Tealeaf, you can view the report by
following these steps:
1. Select Analyze  Report Builder (Figure 10-39). You can see that two start accident
report sessions were run, but only one has completed, which tells you instantly that
someone started but did not finish the accident report.
Figure 10-39 Report showing number of events triggered on start and end of accident
2. Click the disk icon in the report menu bar to save the report and give it a name. In this
case, call it Accident report start and end.
10.4 Creating management dashboards
After a report has been created, as described in 10.3, “Creating reports” on page 227, a
dashboard can be created to consolidate multiple reports into a single screen.
To create a dashboard, you follow these steps:
1. Add a dashboard.
2. Add a report to the dashboard.
3. Add a conversion rate report to the dashboard.
4. Drill down in a dashboard to analyze problems.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 231
10.4.1 Add a dashboard
To add a dashboard, follow these steps:
1. From the top-level IBM Tealeaf CX menu bar, select Configure  Dashboards. This
opens the current dashboards in the system, as shown in Figure 10-40.
Figure 10-40 Configure dashboards
2. In the configure dashboard screen, click the blue plus (+) icon to Add Dashboard on the
far right of the screen, as in Figure 10-41.
Figure 10-41 Add dashboard
3. You give the dashboard a name (in this case, Accident Dashboard) and save. The
dashboard will display in the dashboard list.
10.4.2 Add a report to the dashboard
To add the report you created earlier to the new accident dashboard, follow these steps:
1. Return to the Analyze  Report Builder menu and click the Add Report to Dashboard
icon, shown as a small green/yellow/red spectrum on the menu bar, as shown in
Figure 10-42 at the far right.
Figure 10-42 Add report to dashboard icon on far right
232 IBM MobileFirst Strategy Software Approach
2. This will open a configuration dialog box (Figure 10-43) in which you can specify aspects
concerning the layout and look of the dashboard. Leave everything as the default, but you
need to click Target Tab  Select a Dashboard tab to choose the dashboard that you
want to add to.
Figure 10-43 Adding a report to a dashboard
3. After the target tab has been selected, a new dialog box asks you to select a dashboard.
The accident dashboard that you created earlier is listed under the default folder, so select
it and click Select (Figure 10-44).
Figure 10-44 Selecting the Accident Dashboard
4. Click Add to complete the process, and a message confirming the success of adding the
report to the dashboard will be displayed.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 233
5. On the top menu, click Dashboards to go directly to the new dashboard that has been
created. The menu will show only the most recently viewed dashboards, so clicking More
will reveal a box to select any of the saved dashboards in the system (Figure 10-45).
Figure 10-45 Menu to go directly to the dashboard
6. The accident dashboard is now complete, showing the total start and end of accident
reports during the last 24 hour period (Figure 10-46).
Figure 10-46 Completed dashboard
10.4.3 Adding a conversion rate report
You can add other reports onto the dashboard, such as a ratio of started to ended accident
reports. This information is useful to see at a glance the conversion rate, and in a retail
environment is crucial to give an idea of the ratio of customers not completing a purchase
through checkout.
1. Return to the report builder function. Select Analyze  Report Builder and click Create
New on the report builder menu bar.
234 IBM MobileFirst Strategy Software Approach
2. Next, click Add Ratio in the left column, shown in Figure 10-47.
Figure 10-47 Add ratio for comparison report
3. This will ask for numerator and denominator values from previously defined events to
make up the report. Select the start of the accident as the denominator, and the end of the
accident as the numerator (Figure 10-48). Click Add to Report.
Figure 10-48 Adding numerator and denominator
4. Because you want to view the ratio as a percentage, click the End of Accident [Ratio]
drop-down and select Data Format  Percentage (Figure 10-49).
Figure 10-49 Viewing report data as a percentage
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 235
5. You want to be able to see all of the trends that occurred the day before, so in the same
menu, select Add Function  Previous Days Average.
6. Configure the report by clicking Options in the report builder menu bar, and give the
report a title. In this case you call it Conversion rate of Accident Reports. Clear Legend
to remove the legend from the dashboard, as shown in Figure 10-50.
Figure 10-50 Select report options
7. Click Apply, and then save the report by clicking the disk icon on the top menu.
236 IBM MobileFirst Strategy Software Approach
8. Finally, you need to add this report to the dashboard using the Add Report to Dashboard
function, accessed from the green/red/yellow spectrum icon on the top menu. As before,
you add it to the Accident Dashboard leaving the defaults, and then view the dashboard
from the Dashboards  Accident Dashboard menu (Figure 10-51).
Figure 10-51 New conversion rate report shown in dashboard
10.4.4 Drill down in a dashboard
It is possible to drill down into reports in the dashboard to investigate potential issues a user
has had during the mobile transaction.
1. On one of the dashboard reports, click the View Report Data icon, indicated by a small
graph (Figure 10-52).
Figure 10-52 View report data option indicated by a graph
2. This will display the data values that make up the chart in a table, with the time and counts
of start and end accident events. Events that can be selected and drilled into are shown in
blue. Figure 10-53 on page 237 illustrates the data behind your dashboard.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 237
Figure 10-53 Data making up the report dashboard with selectable links
3. If you click the value under End of Accident Report to see which four events were tied to
which sessions, you are taken to the session list, with the ability to replay and determine
what went wrong (Figure 10-54).
Figure 10-54 Session list containing the four end of accident report events
238 IBM MobileFirst Strategy Software Approach
10.5 Creating early warning alerts on events
Alerts are triggered from events that can be customized through the alert manager interface.
The benefit of setting an alert is that it is as close to real time as possible, and can trigger an
event, such as an email to a customer or a business administrator. For example, if more than
twenty people have started an accident claim, an alert can be triggered to set up an
emergency team to deal with a sudden influx of claims.
To create an alert, you follow these steps:
1. Create a new event alert
2. Choose how and where to send the alert to
10.5.1 Create a new event alert
To create a new event alert, follow these steps:
1. Navigate using the IBM Tealeaf CX top-level menu bar to Configure  Event Manager.
This will show all of the events defined in the system, but you need to create an alert, so
using the tabs underneath the main menu bar, click Alerts, as shown in Figure 10-55.
Figure 10-55 Create new event alert in Event Manager
2. Click New Event Alert on the green menu bar and choose a name for the alert. In this
case, you want to receive an alert if the number of new accident reports is greater than five
over a thirty-minute period, so you enter this into the first threshold field. The warning
threshold is set to create a warning if the number of new accident reports reaches two in
ten minutes. This gives you an early warning indication.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 239
3. Click Select Event, as shown in Figure 10-56, to choose the Start of Accident event that
you defined earlier.
Figure 10-56 Creating alert based on start of accident event
10.5.2 Notification options
To choose how and where to send the alert to, follow these steps:
1. Select the blue Notification tab to choose how the alert should be processed. In this
case, an email is to be sent (Figure 10-57). The blackout option can be used if alerts
should not be processed on a particular day and time.
Figure 10-57 Process alert notification options
240 IBM MobileFirst Strategy Software Approach
2. When you save a draft and then commit the changes, the alert will show as active and
ready (Figure 10-58).
Figure 10-58 Alert active on start of accident
10.6 Adding dimensions to reports
Dimensions enable segments to be created on a report. For example, a conversion rate
report can be overlaid with information of device type, device operating system, or
geolocation. This is useful to see if the conversion rate dropped after the release of a new
mobile operating system, or if all users in a particular location were not converting to a sale or
finishing an accident report. In this example, you will add the mobile operating system
dimension to your accident conversion dashboard.
To create a dimension, you follow these steps:
1. Create a new hit attribute.
2. Add the hit attribute to the event.
3. Create a new dimension.
4. Add dimension to a report group.
5. Add dimension to existing report and save as a new report.
6. Add new report to existing dashboard.
10.6.1 Create a new hit attribute
The first task is to find and create a new hit attribute, as you did in 10.2.1, “Locating the step
attribute” on page 217:
1. Go back to a replay of a mobile session to find the request data by selecting Search 
Completed Sessions.
Note: Dimensions are populated from events, which in turn are triggered by hit attributes.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 241
2. Click the projector icon to replay a session in the browser, and select the first few Tealeaf
Targets until you find the browser platform attribute in the request data (Figure 10-59).
Figure 10-59 Locating the browser platform in the HTTP request data
3. Take a copy of the TLT_BROWSER_PLATFORM= message and go to the event manager to
create a new hit attribute by selecting Configure  Event Manager  Hit Attributes.
242 IBM MobileFirst Strategy Software Approach
4. Name the new hit attribute HA Platform, and enter TLT_BROWSER_PLATFORM= as the start tag
to create a hit on (Figure 10-60). Note that you do not enter the Android variable, because
you want to report on all platforms, not just Android.
For the end tag, you enter the Tealeaf command for new line (rn), so when Tealeaf is
searching for this attribute, it will know that the delimiter for TLT_BROWSER_PLATFORM is a
new line.
Figure 10-60 Create a new hit attribute based on browser platform
10.6.2 Add a hit attribute to new event
You need to add an event to fire when the hit attribute matches an HTTP request.
1. Go back to the Event tab and click New Event.
2. You give the event a name of Platform for dimension, and choose your new hit attribute
(HA Platform) under Hit Attributes.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 243
3. You want to evaluate every hit and every occurrence, and because this is text, you select
Text from the Value Type drop-down menu (see Figure 10-61).
Figure 10-61 Creating a new hit attribute for the mobile platform
4. Under the Value tab, click Select Item to Record and choose HA Platform from the hit
attributes (Figure 10-62).
Figure 10-62 Selecting the value to record
244 IBM MobileFirst Strategy Software Approach
5. Save the draft and save the changes to commit the new event to the system.
Now that you have a new hit attribute looking for the platform, and a new event that is
triggered on the hit attribute being found, you create the dimension.
10.6.3 Create a dimension
To create a dimension, follow these steps:
1. Select the Dimensions tab and click New Dimension, giving a name and description, as
shown in Figure 10-63.
Figure 10-63 Add dimension in Event Manager
2. Click Populated By  Select to choose the event you have just created called Platform
Dimension and choose Last Value in Session under the Populate With drop-down
menu.
3. Advanced options can be left as default values, but it is worth noting that selecting
Whitelist + Observed values will store any value sent to the dimension.
10.6.4 Add a dimension to a report group
With the dimension created, it needs to be assigned to an event in a report group, so when
the event fires, the event will store any additional values in the report group. To do this, you go
back to your event list, and choose the start of accident event:
1. Select Report Groups from the tabs, and click Add Report Group.
2. Choose Dimensions  Mobile Platform (see Figure 10-64 on page 245).
3. Save and repeat for the end of accident event.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 245
Figure 10-64 Adding a dimension to the start of accident event
10.6.5 Add a dimension to a report
The next step is to add the dimension onto the accident start and end report:
1. Navigate on the main menu to Analyze  Report Builder.
2. Click the open icon (indicated by a yellow folder on the menu tab) to open the report, if it is
not already open (Figure 10-65).
Figure 10-65 Open report in the report builder
246 IBM MobileFirst Strategy Software Approach
3. Click Dimensions on the left tab, locate the new Mobile Platform dimension you have
created, and drag it down onto the Add X-Axis label beneath the graph, as shown in
Figure 10-66.
Figure 10-66 Dragging dimension onto the x axis of accident report
4. The report will be blank, because no new events have been triggered to populate the
graph with data, so you need to save it as a new report by choosing the disk icon with the
small pencil hovering over it, and give it a new name.
Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 247
10.6.6 Add a report to a dashboard
Finally you want to add this new report to your dashboard.
1. Click the green/yellow/red icon to add the report to your Accident Dashboard
(Figure 10-67).
Figure 10-67 Add new report to accident dashboard
2. If you simulate another I’m in an Accident mobile scenario, and check in the active
session list, you can see that a new event flag has appeared, showing that the system has
triggered an event on the platform dimension that you defined (Figure 10-68).
Figure 10-68 New event flag in active session
248 IBM MobileFirst Strategy Software Approach
3. After the active session has completed, you can view it on the dashboard, which clearly
shows that, of the recent events that have started and completed, both have been from
Android devices (Figure 10-69).
Figure 10-69 Dashboard showing mobile platform against accident start and end
© Copyright IBM Corp. 2014. All rights reserved. 249
Appendix A. Additional material
This book refers to additional material that can be downloaded from the Internet as described
in the following sections.
Locating the web material
The web material associated with this book is available in softcopy on the Internet from the
IBM Redbooks web server. Browse the following website:
ftp://www.redbooks.ibm.com/redbooks/SG248191
Alternatively, you can go to the IBM Redbooks website:
ibm.com/redbooks
Select the Additional materials and open the directory that corresponds with the IBM
Redbooks form number, SG248191.
Downloading and extracting the web material
Create a subdirectory (folder) on your workstation, and extract the contents of the web
material .zip file into this folder.
A
250 IBM MobileFirst Strategy Software Approach
© Copyright IBM Corp. 2014. All rights reserved. 251
Related publications
The publications listed in this section are considered particularly suitable for
providing more detailed information about the topics covered in this book.
IBM Redbooks
The following IBM Redbooks publications provide additional information about
the topic in this document. Note that some publications referenced in this list
might be available in softcopy only.
Enabling Mobile Apps with IBM Worklight Application Center, REDP-5005
http://www.redbooks.ibm.com/abstracts/redp5005.html
Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ
Telemetry, SG24-8054
http://www.redbooks.ibm.com/abstracts/sg248054.html
Extending Your Business to Mobile Devices with IBM Worklight, SG24-8117
http://www.redbooks.ibm.com/abstracts/sg248117.html
Securing Your Mobile Business with IBM Worklight, SG24-8179
http://www.redbooks.ibm.com/abstracts/sg248179.html
You can search for, view, download, or order these documents and other
Redbooks, Redpapers, Web Docs, drafts, and additional materials, at the
following website:
ibm.com/redbooks
Online resources
These websites are also relevant as further information sources:
IBM MobileFirst solution brief
http://public.dhe.ibm.com/common/ssi/ecm/en/wss14156usen/WSS14156USE
N.PDF
IBM MessageSight product page
http://www.ibm.com/software/products/us/en/messagesight/
252 IBM MobileFirst Strategy Software Approach
Ibm Mobile Application Platform Management Services
http://www.ibm.com/services/us/en/it-services/mobile-application-pla
tform-management.html
IBM Security AppScan product page
http://www.ibm.com/software/products/en/appscan
IBM Security Access Manager product page
http://www.ibm.com/software/products/us/en/samcm
IBM Interactive
http://www.ibminteractive.com/index.html
IBM Mobile Infrastructure Strategy and Planning
http://www.ibm.com/services/us/en/it-services/mobile-infrastructure-
strategy-and-planning.html
Smarter Commerce: omni-channel experience assessment
http://www.ibm.com/services/us/gbs/mobileconsulting/
IBM Mobile Application Development from the Cloud
http://www.ibm.com/services/us/gbs/mobileconsulting/rapid-mobile-app
-development.html
IBM Mobility and Wireless Services
http://www.ibm.com/services/us/en/it-services/mobility-and-wireless-
services.html
IBM Mobile Application Management Services
http://www-935.ibm.com/services/us/gbs/application-management/
IBM Mobile Enterprise Services for managed mobility
http://www.ibm.com/services/us/en/it-services/managed-mobility-servi
ces.html
IBM Worklight 6.0 Technology Overview
http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USE
N.PDF
Getting Started with IBM Worklight
http://www.ibm.com/developerworks/mobile/worklight/getting-started.h
tml#setup
Android Developer Guide
http://developer.android.com/tools/devices/emulator.html
Related publications 253
Customer Experience Management in the New Era of Mobility
http://public.dhe.ibm.com/common/ssi/ecm/en/zzw03224usen/ZZW03224USE
N.PDF
Help from IBM
IBM Support and downloads
ibm.com/support
IBM Global Services
ibm.com/services
254 IBM MobileFirst Strategy Software Approach
(0.5”spine)
0.475”<->0.873”
250<->459pages
IBMMobileFirstStrategySoftwareApproach
IBMMobileFirstStrategySoftware
Approach
IBMMobileFirstStrategySoftware
Approach
IBMMobileFirstStrategySoftwareApproach
IBMMobileFirstStrategySoftware
Approach
IBMMobileFirstStrategySoftware
Approach
Ibm mobile first strategy software approach
®
SG24-8191-00 ISBN 073843910X
INTERNATIONAL
TECHNICAL
SUPPORT
ORGANIZATION
BUILDING TECHNICAL
INFORMATION BASED ON
PRACTICAL EXPERIENCE
IBM Redbooks are developed
by the IBM International
Technical Support
Organization. Experts from
IBM, clients, and IBM
Business Partners from
around the world create
timely technical information
based on realistic scenarios.
Specific recommendations
are provided to help you
implement IT solutions more
effectively in your
environment.
For more information:
ibm.com/redbooks
®
IBM MobileFirst
Strategy Software
Approach
Discover IBM
MobileFirst strategy
and solutions
Explore mobile
platform, quality,
management, and
analytics
Learn by example
with practical
scenarios
IBM MobileFirst enables an enterprise to support a mobile strategy.
With this end-to-end solution, IBM makes it possible for an enterprise
to benefit from mobile interactions with customers, with business
partners, and in organizations. There are products available from the
IBM MobileFirst solution to support management, security, analytics,
and development of the application and data platforms in a mobile
environment.
This IBM Redbooks publication explores four areas crucial to
developing a mobile strategy:
Application development
Mobile quality management
Mobile device management
Mobile analytics
Each area is addressed in two parts. The first part contains information
about the architectural considerations of each technology, and the
second part provides prescriptive guidance.
This IBM Redbooks publication provides an in-depth look at IBM
Worklight, IBM Rational Test Workbench, IBM Endpoint Manager for
Mobile Devices, and IBM Tealeaf CX Mobile. This book is of interest to
architects looking to design mobile enterprise solutions, and to
practitioners looking to build these solutions.
Back cover

More Related Content

PDF
Extending ibm business process manager to the mobile enterprise with ibm work...
PDF
Enabling mobile apps with ibm worklight application center red
PDF
Certification guide series ibm tivoli business service manager v4.1.1 impleme...
PDF
Implementing Systems Management of IBM PureFlex System
PDF
Extending your business to mobile devices with ibm worklight
PDF
Sg247692 Websphere Accounting Chargeback For Tuam Guide
PDF
Ibm system z in a mobile world providing secure and timely mobile access to...
PDF
End to-end e-business transaction management made easy sg246080
Extending ibm business process manager to the mobile enterprise with ibm work...
Enabling mobile apps with ibm worklight application center red
Certification guide series ibm tivoli business service manager v4.1.1 impleme...
Implementing Systems Management of IBM PureFlex System
Extending your business to mobile devices with ibm worklight
Sg247692 Websphere Accounting Chargeback For Tuam Guide
Ibm system z in a mobile world providing secure and timely mobile access to...
End to-end e-business transaction management made easy sg246080

What's hot (19)

PDF
Securing your mobile business with ibm worklight
PDF
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
PDF
Implementing IBM SmartCloud Entry on IBM PureFlex System
PDF
IBM Flex System p260 and p460 Planning and Implementation Guide
PDF
Certification guide series ibm tivoli netcool impact v4.0 implementation sg24...
PDF
Certification guide series ibm tivoli netcool omn ibus v7.2 implementation sg...
PDF
Patterns: Implementing an SOA using an enterprise service bus (ESB)
PDF
Db2 virtualization
PDF
Ibm tivoli business service manager v4.1 redp4288
PDF
IBM PureFlex System and IBM Flex System Products and Technology
PDF
Deployment guide series maximo asset mng 7 1
PDF
Certification guide series ibm tivoli netcool webtop v2.0 implementationsg247754
PDF
Implementing ibm tivoli omegamon xe for web sphere business integration v1.1 ...
PDF
IBM Workload Deployer
PDF
Managing Data Center Connectivity TechBook
 
PDF
Ibm web sphere datapower b2b appliance xb60 revealed
PDF
Sg248107 Implementing the IBM Storwize V3700
PDF
Implementing the ibm storwize v3700
PDF
Learn about IBM Power 720 and 740 Technical Overview and Introduction.
Securing your mobile business with ibm worklight
Extending sap solutions to the mobile enterprise with ibm mobile first platfo...
Implementing IBM SmartCloud Entry on IBM PureFlex System
IBM Flex System p260 and p460 Planning and Implementation Guide
Certification guide series ibm tivoli netcool impact v4.0 implementation sg24...
Certification guide series ibm tivoli netcool omn ibus v7.2 implementation sg...
Patterns: Implementing an SOA using an enterprise service bus (ESB)
Db2 virtualization
Ibm tivoli business service manager v4.1 redp4288
IBM PureFlex System and IBM Flex System Products and Technology
Deployment guide series maximo asset mng 7 1
Certification guide series ibm tivoli netcool webtop v2.0 implementationsg247754
Implementing ibm tivoli omegamon xe for web sphere business integration v1.1 ...
IBM Workload Deployer
Managing Data Center Connectivity TechBook
 
Ibm web sphere datapower b2b appliance xb60 revealed
Sg248107 Implementing the IBM Storwize V3700
Implementing the ibm storwize v3700
Learn about IBM Power 720 and 740 Technical Overview and Introduction.
Ad

Viewers also liked (6)

PPT
Embedding Linux For An Automotive Environment
PPT
Push Notification in IBM MobileFirst Xamarin SDK
PPTX
Product Differentiation as Marketing Strategy
PDF
GENIVI Development Platform (GDP) summary : 15th AMM
PPTX
How to develop an effective Business Development Strategy
PPT
New Product Development Strategy
Embedding Linux For An Automotive Environment
Push Notification in IBM MobileFirst Xamarin SDK
Product Differentiation as Marketing Strategy
GENIVI Development Platform (GDP) summary : 15th AMM
How to develop an effective Business Development Strategy
New Product Development Strategy
Ad

Similar to Ibm mobile first strategy software approach (20)

PDF
Deployment guide series ibm tivoli composite application manager for web reso...
PDF
Deployment guide series ibm tivoli composite application manager for web reso...
PDF
Ibm mobile first in action for mgovernment and citizen mobile services red
PDF
BOOK - IBM Sterling B2B Integration and Managed File Transfer Solutions
PDF
Mobile to Mainframe - En-to-end transformation
PDF
Solution deployment guide for ibm tivoli composite application manager for we...
PDF
Portal application development using Websphere Portlet Factory
PDF
Tivoli and web sphere application server on z os sg247062
PDF
Implementing ibm tivoli omegamon xe for web sphere business integration v1.1 ...
PPTX
IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...
PDF
WebSphere Business Integration for SAP
PDF
IBM Flex System Networking in an Enterprise Data Center
PDF
Deployment guide series ibm tivoli usage and accounting manager v7.1 sg247569
PDF
Begining j2 me
PDF
Performance tuning for content manager sg246949
PDF
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
PDF
Certification guide series ibm tivoli usage and accounting manager v7.1 imple...
PDF
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...
PDF
IBM MobileFirst Platform v7 Tech Overview
PDF
Introducing tivoli personalized services manager 1.1 sg246031
Deployment guide series ibm tivoli composite application manager for web reso...
Deployment guide series ibm tivoli composite application manager for web reso...
Ibm mobile first in action for mgovernment and citizen mobile services red
BOOK - IBM Sterling B2B Integration and Managed File Transfer Solutions
Mobile to Mainframe - En-to-end transformation
Solution deployment guide for ibm tivoli composite application manager for we...
Portal application development using Websphere Portlet Factory
Tivoli and web sphere application server on z os sg247062
Implementing ibm tivoli omegamon xe for web sphere business integration v1.1 ...
IBM MobileFirst - Agile Application Infrastructure New Paradigm for new Workl...
WebSphere Business Integration for SAP
IBM Flex System Networking in an Enterprise Data Center
Deployment guide series ibm tivoli usage and accounting manager v7.1 sg247569
Begining j2 me
Performance tuning for content manager sg246949
Ibm tivoli monitoring version 5.1.1 creating resource models and providers sg...
Certification guide series ibm tivoli usage and accounting manager v7.1 imple...
Ibm tivoli intelligent think dynamic orchestrator pre proof of-concept cookbo...
IBM MobileFirst Platform v7 Tech Overview
Introducing tivoli personalized services manager 1.1 sg246031

More from bupbechanhgmail (20)

PDF
Ibm db2 10.5 for linux, unix, and windows x query reference
PDF
Ibm db2 10.5 for linux, unix, and windows what's new for db2 version 10.5
PDF
Ibm db2 10.5 for linux, unix, and windows upgrading to db2 version 10.5
PDF
Ibm db2 10.5 for linux, unix, and windows text search guide
PDF
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
PDF
Ibm db2 10.5 for linux, unix, and windows getting started with db2 installa...
PDF
Ibm db2 10.5 for linux, unix, and windows getting started with database app...
PDF
Ibm db2 10.5 for linux, unix, and windows developing rdf applications for i...
PDF
Ibm db2 10.5 for linux, unix, and windows developing perl, php, python, and...
PDF
Ibm db2 10.5 for linux, unix, and windows developing embedded sql applications
PDF
Ibm db2 10.5 for linux, unix, and windows developing ado.net and ole db app...
PDF
Ibm db2 10.5 for linux, unix, and windows db2 connect user's guide
PDF
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...
PDF
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...
PDF
Ibm db2 10.5 for linux, unix, and windows data movement utilities guide and...
PDF
Db2 version 9 for linux, unix, and windows
PDF
Reliability and performance with ibm db2 analytics accelerator
PDF
Ibm db2 analytics accelerator high availability and disaster recovery
PDF
Db2 udb backup and recovery with ess copy services
PDF
Db2 deployment guide
Ibm db2 10.5 for linux, unix, and windows x query reference
Ibm db2 10.5 for linux, unix, and windows what's new for db2 version 10.5
Ibm db2 10.5 for linux, unix, and windows upgrading to db2 version 10.5
Ibm db2 10.5 for linux, unix, and windows text search guide
Ibm db2 10.5 for linux, unix, and windows installing ibm data server clients
Ibm db2 10.5 for linux, unix, and windows getting started with db2 installa...
Ibm db2 10.5 for linux, unix, and windows getting started with database app...
Ibm db2 10.5 for linux, unix, and windows developing rdf applications for i...
Ibm db2 10.5 for linux, unix, and windows developing perl, php, python, and...
Ibm db2 10.5 for linux, unix, and windows developing embedded sql applications
Ibm db2 10.5 for linux, unix, and windows developing ado.net and ole db app...
Ibm db2 10.5 for linux, unix, and windows db2 connect user's guide
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...
Ibm db2 10.5 for linux, unix, and windows db2 connect installing and config...
Ibm db2 10.5 for linux, unix, and windows data movement utilities guide and...
Db2 version 9 for linux, unix, and windows
Reliability and performance with ibm db2 analytics accelerator
Ibm db2 analytics accelerator high availability and disaster recovery
Db2 udb backup and recovery with ess copy services
Db2 deployment guide

Recently uploaded (20)

PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Nekopoi APK 2025 free lastest update
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
top salesforce developer skills in 2025.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
System and Network Administration Chapter 2
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
L1 - Introduction to python Backend.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administraation Chapter 3
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
2025 Textile ERP Trends: SAP, Odoo & Oracle
Nekopoi APK 2025 free lastest update
CHAPTER 2 - PM Management and IT Context
top salesforce developer skills in 2025.pdf
Transform Your Business with a Software ERP System
System and Network Administration Chapter 2
Which alternative to Crystal Reports is best for small or large businesses.pdf
Operating system designcfffgfgggggggvggggggggg
L1 - Introduction to python Backend.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
VVF-Customer-Presentation2025-Ver1.9.pptx
history of c programming in notes for students .pptx
System and Network Administraation Chapter 3
Design an Analysis of Algorithms I-SECS-1021-03
Softaken Excel to vCard Converter Software.pdf
Understanding Forklifts - TECH EHS Solution
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Design an Analysis of Algorithms II-SECS-1021-03
Navsoft: AI-Powered Business Solutions & Custom Software Development

Ibm mobile first strategy software approach

  • 1. ibm.com/redbooks Front cover IBM MobileFirst Strategy Software Approach Tony Duong Benjamin Koehler Tony Liew Colin Mower Sundaragopal Venkatraman Discover IBM MobileFirst strategy and solutions Explore mobile platform, quality, management, and analytics Learn by example with practical scenarios
  • 3. International Technical Support Organization IBM MobileFirst Strategy Software Approach May 2014 SG24-8191-00
  • 4. © Copyright International Business Machines Corporation 2014. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Note: Before using this information and the product it supports, read the information in “Notices” on page vii.
  • 5. © Copyright IBM Corp. 2014. All rights reserved. iii Contents Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Now you can become a published author, too! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Stay connected to IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Chapter 1. Overview of IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Business value of mobile technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 IBM MobileFirst overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 IBM MobileFirst Application and Data Platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3.1 IBM MobileFirst Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.2 IBM MobileFirst Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.3 IBM MobileFirst Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.4 IBM MobileFirst Strategy and Design Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.5 IBM MobileFirst Development and Integration Services . . . . . . . . . . . . . . . . . . . . 10 1.3.6 IBM Cloud and Managed Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 Theoretical application lifecycle with IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Chapter 2. Business scenario used in this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1 Company profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2 Business initiatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Technical initiatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Chapter 3. IBM Worklight overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1 Description of Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.1 Worklight Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.2 Worklight Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.3 Worklight Device Runtime Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.4 Worklight Application Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.5 Worklight Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Worklight in IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.6 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6.1 Development infrastructure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.6.2 Client runtime environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.6.3 Server runtime environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.6.4 Console. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.6.5 Worklight Application Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Chapter 4. Application of IBM Worklight in IBM MobileFirst. . . . . . . . . . . . . . . . . . . . . 39 4.1 Design and develop with Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.1 Introducing Worklight Studio projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.1.2 Creating an application project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
  • 6. iv IBM MobileFirst Strategy Software Approach 4.2 Integrate with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2.1 Overview of the HTTP adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.2.2 Using the HTTP adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.3 Deploy with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.3.1 Deployment options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.3.2 Performing the deployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.4 Manage with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.4.1 Management overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.4.2 Performing mobile management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 4.5 Securing with IBM Worklight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.5.1 Add an authentication procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.5.2 Change the default login behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Chapter 5. IBM MobileFirst Quality Management overview . . . . . . . . . . . . . . . . . . . . 119 5.1 Description of quality management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.1.1 Mobile testing challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.2 IBM Rational software in IBM MobileFirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.3 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.4 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.4.1 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5.5 Mobile application testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.5.1 Test management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.5.2 Manual testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.5.3 Service virtualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.5.4 Security testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.5.5 Device access. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.5.6 Performance testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.5.7 Mobile user interface automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.6 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.6.1 Rational Quality Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.6.2 Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5.6.3 Rational Integration Tester and Rational Test Virtualization Server . . . . . . . . . . 130 5.7 IBM Mobile Quality Assurance on the cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Chapter 6. Application of Rational Test Workbench in IBM MobileFirst . . . . . . . . . . 133 6.1 Record a test case with Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.1.1 Set up your mobile test environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.1.2 Add a mobile device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 6.1.3 Prepare your mobile application for testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.1.4 Create a new project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6.1.5 Record a test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6.2 Edit a test case with Rational Test Workbench. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 6.3 Run a test case with Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 6.4 Analyze a test report with Rational Test Workbench . . . . . . . . . . . . . . . . . . . . . . . . . 152 Chapter 7. IBM MobileFirst Management overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.1 Description of IBM MobileFirst Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 7.2 IBM Endpoint Manager for Mobile Devices in IBM MobileFirst . . . . . . . . . . . . . . . . . . 154 7.3 IBM Endpoint Manager for Mobile Devices and an approach for Mobile Device Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
  • 7. Contents v 7.4 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.4.1 Integrated mobile device management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 7.4.2 Multi-platform support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.4.3 Lower administration costs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.4.4 Data protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.5 Ensuring mobile security and compliance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.6 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 7.7 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 7.8 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 7.8.1 IBM Endpoint Manager Core Platform Services . . . . . . . . . . . . . . . . . . . . . . . . . 161 7.8.2 Mobile Device Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 8.1 IBM Endpoint Manager console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 8.1.1 Dashboards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 8.1.2 Setup and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 8.1.3 Mobile device inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 8.1.4 App management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 8.1.5 Security policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 8.1.6 Android and Apple iOS settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 8.1.7 Mobile Device Action History / All Mobile Device Management Content . . . . . . 168 8.2 Enrolling iOS and Android devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 8.2.1 Enrolling an iOS device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 8.2.2 Enrolling an Android device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 8.3 Apply iOS profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 8.3.1 Passcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 8.3.2 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 8.3.3 Web Clips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.3.4 Remove iOS profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.4 Application management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 8.4.1 Installed apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 8.4.2 Recommend an app to an iOS device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.5 Message to a mobile device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 8.6 Device location services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 8.7 Data roaming. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.8 Using web reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Chapter 9. IBM MobileFirst Analytics overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 9.1 Description of Tealeaf CX Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 9.2 Tealeaf CX Mobile in IBM MobileFirst. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 9.3 Business benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 9.3.1 Real-time reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 9.3.2 Customer intent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 9.3.3 Dashboards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 9.4 System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 9.5 Block overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 9.6 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 9.6.1 Customer Behavior Analysis Suite cxImpact component . . . . . . . . . . . . . . . . . . 192 9.6.2 Customer service optimization cxReveal component . . . . . . . . . . . . . . . . . . . . . 194 9.6.3 Integrations with the cxConnect module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 9.6.4 Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 9.6.5 Data store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 9.6.6 End-to-end view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
  • 8. vi IBM MobileFirst Strategy Software Approach Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst . . . . . . . . . . . . . . . 199 10.1 Replaying active and completed sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 10.1.1 Simulate a customer interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 10.1.2 Replaying an active mobile session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 10.1.3 Viewing multiple active sessions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 10.1.4 Data captured in replay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 10.1.5 Replaying completed sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 10.1.6 Request data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 10.1.7 Response data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 10.1.8 Replay session attributes and screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 10.2 Creating events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 10.2.1 Locating the step attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 10.2.2 Creating hit attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10.2.3 Add a new event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 10.2.4 Assign a hit attribute to an event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 10.2.5 Create a new copy of the event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 10.2.6 Event tester. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 10.3 Creating reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 10.3.1 Add events to a report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 10.3.2 View a report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 10.4 Creating management dashboards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 10.4.1 Add a dashboard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 10.4.2 Add a report to the dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 10.4.3 Adding a conversion rate report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 10.4.4 Drill down in a dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 10.5 Creating early warning alerts on events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 10.5.1 Create a new event alert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 10.5.2 Notification options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 10.6 Adding dimensions to reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 10.6.1 Create a new hit attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 10.6.2 Add a hit attribute to new event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 10.6.3 Create a dimension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10.6.4 Add a dimension to a report group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 10.6.5 Add a dimension to a report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 10.6.6 Add a report to a dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Appendix A. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Locating the web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Downloading and extracting the web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
  • 9. © Copyright IBM Corp. 2014. All rights reserved. vii Notices This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information about the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user’s responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not grant you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM websites are provided for convenience only and do not in any manner serve as an endorsement of those websites. The materials at those websites are not part of the materials for this IBM product and use of those websites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
  • 10. viii IBM MobileFirst Strategy Software Approach Trademarks IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol (® or ™), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AppScan® BigFix® Cast Iron® CICS® Cognos® DataPower® DB2® Fixlet® Global Technology Services® IBM® IBM SmartCloud® Lotus® Rational® Redbooks® Redbooks (logo) ® System z® Tealeaf® WebSphere® Worklight® z/OS® The following terms are trademarks of other companies: Worklight is trademark or registered trademark of Worklight, an IBM Company. Intel, Intel logo, Intel Inside logo, and Intel Centrino logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Java, and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Other company, product, or service names may be trademarks or service marks of others.
  • 11. © Copyright IBM Corp. 2014. All rights reserved. ix Preface IBM® MobileFirst enables an enterprise to support a mobile strategy. With this end-to-end solution, IBM makes it possible for an enterprise to benefit from mobile interactions with customers, with business partners, and in organizations. There are products available from the IBM MobileFirst solution to support management, security, analytics, and development of the application and data platforms in a mobile environment. This IBM Redbooks® publication explores four areas crucial to developing a mobile strategy: Application development Mobile quality management Mobile device management Mobile analytics Each area is addressed in two parts. The first part contains information about the architectural considerations of each technology, and the second part provides prescriptive guidance. This IBM Redbooks publication provides an in-depth look at IBM Worklight®, IBM Rational® Test Workbench, IBM Endpoint Manager for Mobile Devices, and IBM Tealeaf® CX Mobile. This book is of interest to architects looking to design mobile enterprise solutions, and to practitioners looking to build these solutions. Authors This book was produced by a team of specialists from around the world working at the International Technical Support Organization, Raleigh Center. Tony Duong is a Worldwide IBM WebSphere® Technical Sales professional residing in the United States of America. He has 13 years of experience in the IT industry. He holds a bachelor’s degree in information technology from the University of South Florida. His areas of expertise include IBM Worklight, WebSphere Application Server, and other WebSphere portfolio products. Benjamin Koehler works on the IBM Redbooks team with technical experts to create books, guides, blogs, and videos. Benjamin is currently studying international business administration in the corporate integrated degree program.
  • 12. x IBM MobileFirst Strategy Software Approach This project was led by the following person: Martin Keen, IBM Redbooks Project Leader Thanks to the following people for their contributions to this project: Leigh Williamson, Distinguished Engineer, Rational Software CTO Team, Mobile Software Development Strategy Miku Jha, Product Manager, IBM Mobile Carlos Paez, IBM Lead Mobile Developer Dennis W Schultz, Software Architect, Rational Quality & Requirements Management Tina Yan Zhuo, Rational Product Manager for Mobile Hemant A Khanolkar, Sr. Client Technical Specialist - Rational Quality Dustin Amrhein, IBM MobileFirst Solution Architect Jeff Oestreich, IBM MobileFirst Solution Architect Adrian Nash, Professional Services Consultant, Tealeaf UKI William Loller II VP Mobile, Tealeaf Tony Liew is an IBM Senior IT Architect in Canada. He has 20 years of experience in IT infrastructure architecture, design, and implementation. Tony has been with IBM since 1999. His area of expertise is in enterprise IT infrastructure strategy design for the financial, health, and education sectors. Tony is currently part of the Integrated Technology Services (ITS) Canada mobility core team in defining services and products. Colin Mower is an IBM System z® Client Architect in the United Kingdom. He has 16 years of experience in information technology. He holds a degree in computing from the University of Portsmouth. His areas of expertise include high-end enterprise computing architecture and design. Sundaragopal Venkatraman is a Senior Consultant at the IBM India Software Lab - IBM Software Services for WebSphere team. He has been recognized as a go-to person for troubleshooting issues relating to application infrastructure on performance, scalability, and high-availability. His areas of expertise includes client/server, distributed applications, WebSphere migrations on distributable systems and on System z. He is a pioneer for the IBM proactive monitoring framework offering for bringing proactivity to the enterprise application monitoring landscape. In addition to handling training on WebSphere, and authoring Redbooks publications, he also gives back to the technical community by lecturing at WebSphere technical conferences, IBM Impact events, and other technical forums.
  • 13. Preface xi Eliran Ben Ishay, IBM MobileFirst Solution Architect Ana Meneghel, Client Technical Professional - IBM Endpoint Manager, IBM Sales and Distribution, Software Sales, IBM Canada Eric J. Geller, Technical Sales Engineer, IBM Software Group, Application and Integration Middleware Software Darryl Miles, Client Technical Specialist, Mobile and Endpoint Management Jude Lancaster, Product Manager, Mobile Device Management Solutions, IBM Software Group, Cloud, and Smarter Infrastructure Now you can become a published author, too! Here is an opportunity to spotlight your skills, grow your career, and become a published author—all at the same time! Join an ITSO residency project and help write a book in your area of expertise, while honing your experience using leading-edge technologies. Your efforts will help to increase product acceptance and customer satisfaction, as you expand your network of technical contacts and relationships. Residencies run from two to six weeks in length, and you can participate either in person or as a remote resident working from your home base. Learn more about the residency program, browse the residency index, and apply online: ibm.com/redbooks/residencies.html Comments welcome Your comments are important to us! We want our books to be as helpful as possible. Send us your comments about this book or other IBM Redbooks publications in one of the following ways: Use the online Contact us review Redbooks form, found on the following website: ibm.com/redbooks Send your comments in an email: redbooks@us.ibm.com Mail your comments: IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400
  • 14. xii IBM MobileFirst Strategy Software Approach Stay connected to IBM Redbooks Find us on Facebook: http://www.facebook.com/IBMRedbooks Follow us on Twitter: http://twitter.com/ibmredbooks Look for us on LinkedIn: http://www.linkedin.com/groups?home=&gid=2130806 Explore new Redbooks publications, residencies, and workshops with the IBM Redbooks weekly newsletter: https://www.redbooks.ibm.com/Redbooks.nsf/subscribe?OpenForm Stay current on recent Redbooks publications with RSS Feeds: http://www.redbooks.ibm.com/rss.html
  • 15. © Copyright IBM Corp. 2014. All rights reserved. 1 Chapter 1. Overview of IBM MobileFirst IBM MobileFirst enables an enterprise to support a mobile strategy. With this end-to-end solution, IBM enables an enterprise to benefit from mobile interactions with customers, with business partners, and within organizations. There are products available from the IBM MobileFirst solution to support management, security, analytics, and development of the application and data platforms in a mobile environment. Additionally, IBM also provides services for strategy and design, cloud and managed services, and development and integration services to support mobile activities. This chapter provides a high-level overview of IBM MobileFirst framework. It contains the following sections: Business value of mobile technologies IBM MobileFirst overview IBM MobileFirst Application and Data Platform Theoretical application lifecycle with IBM MobileFirst 1
  • 16. 2 IBM MobileFirst Strategy Software Approach 1.1 Business value of mobile technologies As technology advances, usage patterns change, and new business tools, such as smartphones and tablets, emerge. Mobile applications are no longer side effects of the social media empire, but have become an essential tool for business productivity. Every day, countless confidential transactions with financial institutions, online merchants, airlines, and various other retailers are performed on mobile devices. These transactional trends have been analyzed, and used to formulate innovative, mobile-based advertising strategies, such as location-based advertising campaigns. These strategies have paid off: 75% of mobile shoppers take action after receiving location-based messages1 . Increasingly, people use mobile devices as their primary means of interaction and communication with employers, customers, family, and friends. According to recent studies, 91% of mobile users keep their device in reach 100% of the time2 . Therefore, providing a highly available, innovative, employee-focused, and customer-focused mobile presence has become crucial to enterprise success and growth. 1.2 IBM MobileFirst overview To take advantage of mobile technologies, IBM has introduced IBM MobileFirst as a true end-to-end solution. This makes it easier for an organization to realize its mobility objectives for employees, and to strengthen customer engagement and interactions. There are several aspects to consider for a cost-efficient and secure Mobile environment: 1. Application and Data Platform 2. Management 3. Security 4. Analytics This chapter provides an overview of the comprehensive set of mobile products and services that IBM MobileFirst provides to increase efficiencies and gain a competitive advantage. 1 IBM Mobile First, http://public.dhe.ibm.com/common/ssi/ecm/en/wss14156usen/WSS14156USEN.PDF 2 http://public.dhe.ibm.com/common/ssi/ecm/en/wss14156usen/WSS14156USEN.PDF Remember: The following list includes some of the advantages of mobile technologies: To attract new customers, transform your value chain, and increase productivity To engage users by delivering applications (apps) that are created with simplified multi-channel development solutions To turn interactions into an opportunity for return on engagement and investment To provide a consistent brand experience To deliver innovation by using cloud technologies to meet increased IT demands, to lower costs, and to gain insights, visibility, and control
  • 17. Chapter 1. Overview of IBM MobileFirst 3 Figure 1-1 provides a complete overview of IBM MobileFirst’s major disciplines in Application and Data Platform, Management, Security, and Analytics. They are supported by Consulting Services to help an organization with its mobile efforts. This covers strategy and design services, cloud and managed services, and development and integration services. Figure 1-1 IBM MobileFirst overview 1.3 IBM MobileFirst Application and Data Platform IBM MobileFirst Application and Data Platform was created to enable an organization to build an agile and scalable approach to application development, to rapidly deliver a superior user experience across multiple devices and platforms. This helps to lower risks and reduce total costs, while creating great quality. To be able to create such applications, a mobile enterprise application platform (MEAP) is required to develop and manage the apps on the appropriate platforms. For efficiencies in development and deployment, apps can be developed in one instance and deployed on multiple platforms through MEAP. The purpose of a mobile application management (MAM) solution is to deploy apps though the enterprise app store, to keep them up-to-date on mobile devices, and to gain greater insights into performance monitoring, reporting and tracking, and access control. A properly planned and implemented application lifecycle management (ALM) helps to track the status of the different versions of apps to improve them efficiently. With the help of machine-to-machine (m2m) communication, data can be acquired to analyze and react to the needs of customers. Development&IntegrationServices Strategy&DesignServices Application & Data Platform Cloud & Managed Services Devices Network Services Management Security Analytics IBM & Partner Applications Industry Solutions • Banking • Insurance • Retail • Transport • Telecom • Government • Healthcare • Automotive
  • 18. 4 IBM MobileFirst Strategy Software Approach IBM Worklight IBM Worklight is a MEAP to help organizations extend their business to mobile devices. With IBM Worklight, your organization can efficiently develop, run, and manage HTML5, hybrid, and native apps. You can also reduce development costs, improve time-to-market, and enhance mobile app governance and security. IBM Worklight uses standards-based technologies that avoid the use of code translation, proprietary interpreters, and nonstandard scripting languages. With IBM Worklight, organizations can accomplish the following tasks: Support multiple mobile operating environments and devices with the simplicity of a single, shared code base. Easily connect and synchronize with enterprise data, applications, and cloud services. Safeguard mobile security at the device, application, and network layer. Govern their mobile app portfolio from one central interface. In Chapter 3, “IBM Worklight overview” on page 19, you will find a detailed overview of IBM Worklight. IBM MessageSight IBM MessageSight is built to help extend an organization‘s communication with m2m possibilities. This helps an organization manage and optimize the flow of information in a complex business environment, and enhance the quality of customer engagements. IBM MessageSight extends messaging networks outside the data center, scaling to handle concurrent connectivity between a multitude of devices and apps with predictable latency. This event-driven, interactive infrastructure will provide the level of performance and value to support new systems of interaction with people, mobile devices, sensors, machines, and applications by unlocking information in systems of record and enabling business to be conducted anywhere. IBM MessageSight provides the following advantages: Scalability and high performance High throughput for persistent and non-persistent messages Reliability, assuring critical messages are delivered Developer-friendly APIs and libraries Native app development, including Android and iOS Security that is DMZ-ready (a firewall configuration for securing local area networks), with no user-level operating system Integration that extends and connects to existing WebSphere MQ infrastructures For more information about IBM MessageSight see the following website: http://www.ibm.com/software/products/us/en/messagesight/
  • 19. Chapter 1. Overview of IBM MobileFirst 5 IBM Rational Test Workbench IBM Rational Test Workbench is a part of the mobile ALM, and provides a comprehensive test automation solution for mobile apps, regression testing, integration technologies, and performance and scalability testing. It helps an organization build intelligent and interconnected enterprise applications that can be deployed on traditional and cloud infrastructures. Testing costs can be reduced by reducing test cycle times due to an earlier integration of testing into a development lifecycle. Rational Test Workbench delivers test automation for all types of applications, including mobile apps, using a physical device or a mobile emulator: Simplifies test creation with storyboard testing and code-free test authoring Enables the quick development of complex performance test scenarios with scriptless, visual, performance test, and workload models Provides earlier, end-to-end continuous integration testing throughout hardware, software, and cloud-based dependencies Emulates workloads accurately, so that a server workload can be created that represents realistic user scenarios Is extensible and supports standards and protocols to help meet the challenges of a testing environment For more information about IBM Rational Test Workbench, see Chapter 6, “Application of Rational Test Workbench in IBM MobileFirst” on page 133. IBM MobileFirst Application Platform Services IBM offers MobileFirst Application Platform Services to help an organization adopt mobile apps designed to address both employee and customer needs. The employment of an IBM Worklight platform that is built on open standards is also able to be used with all types of apps. IBM mobile application platform management services can help your organization achieve these goals: Adapt to both business-to-consumer and business-to-employee environments. Support emerging trends, such as bring your own device (BYOD). Apply advanced analytics and reporting capabilities to help track app usage. For more information about IBM Mobile Application Platform Management Services, see the following website: http://www.ibm.com/services/us/en/it-services/mobile-application-platform-manageme nt.html 1.3.1 IBM MobileFirst Management IBM MobileFirst Management is a solution to address the challenges of managing an enterprise mobile device environment. It is needed to control and deploy BYOD policies to enhance an enterprise‘s productivity by providing employees the capability to use personal smartphones and tablets for work-related activities.
  • 20. 6 IBM MobileFirst Strategy Software Approach The focus on managing sensitive data, tracking and optimizing mobile expenses, and handling multi-platform complexities is critical in sustaining an effective and secure environment for BYOD. To support this initiative, IBM MobileFirst Management has the following capabilities: Unified management across devices Selective destruction of corporate data Configuration and enforcement of password policies, encryption, virtual private network (VPN) access, and camera use Streamlining of workflow between development and operations with an integrated enterprise app store Optimization of telecommunication expenses with detailed usage analysis User portal for management of mobile equipment, carrier plans, and usage tracking In Chapter 7, “IBM MobileFirst Management overview” on page 153 you can find more information about IBM MobileFirst Management. IBM Endpoint Manager for Mobile Devices IBM Endpoint Manager for Mobile Devices provides a completely integrated approach for managing, securing, and reporting on notebooks, desktops, servers, mobile devices, and even specialty devices, such as point-of-sale terminals. This provides clients with unprecedented real-time visibility and control over all of the devices that employees use in their daily job functions, reducing costs, increasing productivity, and improving compliance. IBM Endpoint Manager for Mobile Devices addresses the issues of security, complexity, and adherence to defined BYOD policies that challenge support for an increasingly mobile workforce: Safeguard enterprise data with advanced security and compliance features. Gain enterprise visibility with a consolidated inventory of employee-owned and corporate-owned devices. Manage from a unified infrastructure using a single platform to manage all of your enterprise devices. For more information about IBM Endpoint Manager for Mobile Devices, see Chapter 8, “The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst” on page 163. IBM Mobile Enterprise Services for Managed Mobility IBM MobileFirst Managed Mobility Services is designed to help reduce the complexity, risk and higher costs that is associated with a proliferation of mobile platforms in the workplace. This robust solution provides lifecycle services and advanced mobile device management. The services help you improve control with over-the-air provisioning and updates, enterprise-strength security, and governance policies. A simplified subscription-based pricing model is built around devices, usage and service options for greater predictability, flexibility, and cost-effectiveness.
  • 21. Chapter 1. Overview of IBM MobileFirst 7 1.3.2 IBM MobileFirst Security Mobile devices offer a host of possibilities for enterprises, but only if they are implemented correctly and securely. To focus on this key element in achieving the possibilities of mobile devices, IBM has introduced several solutions to manage security for a corporation’s information and data. For more detailed information about IBM MobileFirst Security, see the IBM Redbooks publication Securing Your Mobile Business with IBM Worklight, SG24-8179: http://www.redbooks.ibm.com/abstracts/sg248179.html IBM Security AppScan IBM Security AppScan® is designed to manage vulnerability testing throughout the software development lifecycle of a company. It scans and tests all common web application vulnerabilities, including SQL-injection, cross-site scripting, buffer overflow, new flash and flex applications, and Web 2.0 exposure scans. In addition, it features a next-generation dynamic application security scanning engine and the innovative, all-new XSS Analyzer. IBM Security AppScan V8.7 provides the ability to identify and remediate vulnerabilities in code by taking advantage of security insights from over 40,000 analyzed iOS and Android APIs. IBM Security AppScan Enterprise delivers the following functionality: A strategic approach to web application security Broad scanning capabilities to scan and test hundreds of applications simultaneously and retest them frequently Enterprise-level reporting that facilitates communication of security status and issues Remediation features that issue advisories to help guide developers in effective remediation For more information about IBM Security AppScan, see the following website: http://www.ibm.com/software/products/en/appscan IBM Security Access Manager for Cloud and Mobile IBM Security Access Manager for Cloud and Mobile extends user access protection to mobile and cloud environments. The product includes the following capabilities: User authentication Federated single sign-on (SSO) and risk scoring to help detect and prevent security breaches and web fraud Context-based access management for mobile endpoints, such as smartphones and tablets, to protect sensitive IT assets in an insecure environment Consistent security policies across multiple applications and users For more information about IBM Security Access Manager, see the following website: http://www.ibm.com/software/products/us/en/samcm
  • 22. 8 IBM MobileFirst Strategy Software Approach 1.3.3 IBM MobileFirst Analytics In the first years of mobile channels, many e-businesses decided to roll out mobile functionality as quickly as possible to participate in mobile‘s big advantages. This just do it approach resulted in unsatisfied and disappointed users, due to bad experiences with incorrect formatting and missing or non-working features on their mobile offerings. Customer Experience Management (CEM) is the term for focusing on this problem. With the acquisition of Tealeaf in 2012, IBM can offer a strong solution to address CEM issues. IBM Tealeaf CX Mobile IBM Tealeaf CX Mobile helps customers apply the power of Tealeaf’s robust CEM solutions to their mobile websites, native applications, and hybrid applications, including support for HTML5. Tealeaf gives clients visibility into mobile interactions where they do not have it today, helping them deliver winning mobile services. Tealeaf CX Mobile is an add-on to the Tealeaf CX platform. Tealeaf CX Mobile helps clients accomplish the following objectives: Optimize customer experiences in the mobile channel for all users of mobile websites, including HTML5-based sites, hybrid apps, or native apps. Gain complete mobile visibility by capturing user information for mobile websites, including HTML5-based sites, native apps, and hybrid apps: – Both network and client interactions – Touchscreen gestures, such as pinching, zooming, scrolling, and device rotation Build and manage an early warning system to detect mobile user problems and provide proactive awareness into mobile app failures, usability issues, or other obstacles. These things can lead to failed transactions, abandonment, poor app store rankings, and negative feedback. Quantify revenue effect and segmentation with real-time drag-and-drop analysis by specific mobile user behaviors or device attributes. Quickly find and isolate problems in mobile customer sessions (for both individual customers and aggregates) with powerful ad hoc discovery and segmentation, without pre-defining tags or beacons. To learn more about IBM Tealeaf CX Mobile, see Chapter 9, “IBM MobileFirst Analytics overview” on page 183. 1.3.4 IBM MobileFirst Strategy and Design Services IBM offers strategy and design services to help customers explore, assess, and plan their mobile platform to address current and future business and technology requirements that are unique to an organization, industry, and users. IBM Interactive IBM Interactive is a leading interactive agency with a unique ability to imagine, discover, and deliver compelling user experiences. IBM Interactive uses the full spectrum of IBM global capabilities (strategy, creative, technology, accessibility, and business transformation) to implement solutions that strengthen relationships between organizations and their users. Integrating customer experience visions and strategic frameworks, IBM Interactive helps clients create brand differentiation, enhance business value, and improve key customer interactions across all channels.
  • 23. Chapter 1. Overview of IBM MobileFirst 9 For more information about IBM Interactive, see the following website: http://www.ibminteractive.com/index.html IBM Mobile Infrastructure Strategy and Planning Services IBM Mobile Infrastructure Strategy and Planning Services is enabled to assist an organization to develop a robust mobile infrastructure strategy for a more flexible workplace that enables users to choose (and bring) their own devices in alignment with an enterprise’s goals. A focus on strategic planning helps build the correct roadmap to mobility and accelerate deployment. IBM offers a range of consulting capabilities: Assess the current mobile environment against industry best practices. Identify important aspects of mobility that might have been overlooked. Help build a successful business case for mobile initiatives. For more information about IBM Mobile Infrastructure Strategy and Planning Services, see the following website: http://www.ibm.com/services/us/en/it-services/mobile-infrastructure-strategy-and-p lanning.html Omni-channel experience assessment Most companies have no shortage of ideas on how to improve the customer experience. The real challenge is to select the correct set of initiatives that maximize value, taking into account the dependencies on other elements of the operating model. The following list includes key questions for consideration: Which touchpoints matter most in customer interactions with your organization? What are the future capabilities or features that your customers are seeking? How can you tell if your capabilities really differentiate the customer experience you deliver? What should the role of each of your channels (Mobile, web, device, contact center, or retail store) be, and how should you skew your investment? How do you develop the business case for investing in better customer experiences? With omni-channel experience assessment, you can meet the following objectives: Rapidly develop a customer experience strategy that reflects current and future customer trends and priorities. Assess a company’s channel capability maturity, and determine the optimal future maturity needed to support the omni-channel strategy. Create journey maps of key events to characterize the future-state of the customer experience. Develop a roadmap with business and organizational cases for change. For more information about omni-channel experience assessment, see the following website: http://www.ibm.com/services/us/gbs/mobileconsulting/
  • 24. 10 IBM MobileFirst Strategy Software Approach 1.3.5 IBM MobileFirst Development and Integration Services IBM has the capability to develop, deploy, integrate, and manage application and infrastructure elements of your mobile enterprise and user platforms. Additionally, IBM can help a business optimize new technologies while making the most of the existing application development, IT infrastructure, and communication platform investments. This enables the selection of delivery models that include managed services and cloud computing. IBM Mobile Application Development from the Cloud IBM Mobile Application Development from the Cloud enables fast-cycle mobile development and delivery of prototypes, new applications, and upgrades. This approach includes development of multiple creative treatments and prototypes for a single price, facilitating rapid, iterative innovation that can be initiated in a cost-effective way. IBM consulting services can help transform application software development and delivery processes, achieving broad-based improvements in cycle time, quality, and the cost of application development and management. IBM Mobile Application Development from the Cloud uses an outcomes-based delivery model to provide a way to tie a sourcing strategy to business results, rather than labor hours. The IBM delivery model promotes productivity by aligning incentives and recognition with business outcomes. With the IBM ecosystem of capabilities on the IBM SmartCloud®, rapid orchestration is possible for required talent, platforms, and tooling to deliver fast-cycle development based on requirements, and to meet the demanding time requirements of the mobile application market. For more information about IBM Mobile Application Development from the Cloud, see the following website: http://www.ibm.com/services/us/gbs/mobileconsulting/rapid-mobile-app-development.h tml IBM Mobility and Wireless Services The development of a mobile enterprise implementation strategy requires a reliable and secure mobility infrastructure. This is what IBM Mobility and Wireless Services is for. It helps to design and deploy a wireless broadband infrastructure that connects people to each other and to the information that they need. It lowers costs and defines security requirements. IBM starts by understanding the business environment and requirements, and then uses its proven methods and extensive experience in designing mobility and wireless solutions. IBM Mobility and Wireless Services enables an enterprise to achieve the following goals: Rapidly deploy reliable, secure mobility infrastructures. Reduce network maintenance and communications costs. Gain a high-speed communications system that is extensible to mobile workers. Boost productivity of field sales, public service, and customer support professionals. Improve overall organizational responsiveness to gain competitive advantage. For more information about IBM Mobility and Wireless Services, see the following website: http://www.ibm.com/services/us/en/it-services/mobility-and-wireless-services.html IBM Mobile Application Management Services IBM Mobile Application Management Services provides capabilities to address challenging business issues and achieve the wanted business outcomes from an SAP investment.
  • 25. Chapter 1. Overview of IBM MobileFirst 11 For more information about IBM Mobile Application Management Services, see the following website: http://www-935.ibm.com/services/us/gbs/application-management/ 1.3.6 IBM Cloud and Managed Services Going further, if you want IBM to manage or run those services, IBM has a set of Cloud and Managed Services that will take that burden off your hands. IBM has specific solutions from IBM Global Technology Services® (GTS) to help you address BYOD with a full service for managing mobile devices. IBM also delivers hosted versions of the mobile platform with the IBM Mobile Application Platform Management service if you choose to have IBM host and run your infrastructure. IBM Cloud and Managed Services offer the following capabilities: Flexible and scalable compute power with access to greater network bandwidth Predictable allocation of, and investment in, current skills and IT resources that support mobile initiatives Multi-vendor integration and device support Highly efficient coordination of global mobile projects IBM Mobile Enterprise Services for managed mobility IBM Mobile Enterprise Services for managed mobility is designed to help reduce the complexity, risk and higher costs that is associated with a proliferation of mobile platforms. IBM robust solution provides lifecycle services and advanced mobile device management. IBM has the capabilities to improving control with over-the-air provisioning and updates, enterprise-strength security and governance policies. A simplified subscription-based pricing model is built around devices, usage and service options for greater predictability, flexibility and cost-effectiveness. For more information about IBM Mobile Enterprise Services for managed mobility see the following website: http://www.ibm.com/services/us/en/it-services/managed-mobility-services.html
  • 26. 12 IBM MobileFirst Strategy Software Approach 1.4 Theoretical application lifecycle with IBM MobileFirst Figure 1-2 shows a typical application lifecycle with the IBM MobileFirst platform, with associated products to support the respective stages. Figure 1-2 Application lifecycle with corresponding applications The following typical application lifecycle stages correspond to those shown in Figure 1-2: 1. Design and develop In the first stage of the mobile development lifecycle, the mobile architecture must be designed and developed. This can be performed by IBM Worklight. Making use of open, flexible, and standardized cross-platform (iOS, Android, Windows Phone, and BlackBerry) development methodologies, Worklight provides a rich development environment maximizing code reuse. Worklight helps you not just to develop, but also to deploy, host, and manage mobile enterprise apps. With Worklight Studio, organizations can push developed mobile apps straight to the Worklight Server and Worklight Application Center for fast distribution. For more information about Worklight, see Chapter 4, “Application of IBM Worklight in IBM MobileFirst” on page 39. 2. Instrument To be able to analyze and monitor how an application behaves before releasing it to production, Worklight and Tealeaf CX Mobile provide tools to be able to simulate how the application will operate. This enables the developers to test their application on different devices, on different operating systems, and in different scenarios (such as changing screen orientation, using the GPS, using the compass, and using the camera). Design & Develop Integrate Instrument Test Scan & Certify Deploy Manage Obtain Insight IBM Worklight IBM Endpoint Manager IBM Worklight IBM AppScan IBM Security Access Manager IBM Rational Test Workbench IBM Tealeaf CX IBM Worklight IBM Rational Test Workbench
  • 27. Chapter 1. Overview of IBM MobileFirst 13 3. Integrate Mobile cloud services can be integrated as an overall framework. Mobile cloud services are high-value middleware capabilities that are designed to be used by mobile apps. As an example, consumers increasingly purchase clothing on their mobile devices. A pass service enables companies to easily engage with those customers by sending them loyalty coupons, and so on. Worklight and IBM WebSphere Cast Iron® can process such an integration with back-end data, systems, and cloud services. For cloud services, a firewall controls inbound and outbound connections. To secure these connections, an enterprise’s internal IT infrastructure can be protected with a proxy or security gateway, such as IBM Security Access Manager or IBM WebSphere DataPower®. Using a security gateway, such as DataPower, enables companies to control the parts of infrastructure that are displayed to consumers, which capability is especially relevant for push notifications. For more information about IBM Worklight, WebSphere Cast Iron, and WebSphere DataPower, see Extending Your Business to Mobile Devices with IBM Worklight, SG24-8117: http://www.redbooks.ibm.com/abstracts/sg248117.html 4. Test To test the configured, enterprise-specific application, a company can use IBM Rational Test Workbench. It is a comprehensive test automation solution, which enables regression, performance, and scalability testing. For more information about Rational Test Workbench, see Chapter 5, “IBM MobileFirst Quality Management overview” on page 119. 5. Scan and certify In addition to testing the customized application run by Rational Test Workbench, IBM Security AppScan is able to scan, evaluate, and certify an organization’s application. It provides the user with enhanced vulnerability testing, scanning, and reporting for mobile web apps, web elements (JavaScript and HTML5), or hybrid mobile apps (see Securing Your Mobile Business with IBM Worklight, SG24-8179). 6. Deploy The application is distributed to various channels, such as Worklight Application Center, devices managed by IBM Endpoint Manager for Mobile Devices (see Chapter 8, “The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst” on page 163), and external app stores. IBM Worklight Application Center distributes mobile apps inside a company, and IBM Endpoint Manager for Mobile Devices addresses mobile device management. 7. Manage The IBM Endpoint Manager platform consists of a large menu of features for the management of mobile devices. These features are required to support an enterprise mobile strategy. Continuous enhancements to the IBM Endpoint Manager for mobile suites, such as the inclusion of Mobile Enterprise Application Platform and Telecom Expense Management, provides beneficial advantages at a pace to match ever-increasing mobile adoption in corporations. For more information about IBM Endpoint Manager, see Chapter 7, “IBM MobileFirst Management overview” on page 153.
  • 28. 14 IBM MobileFirst Strategy Software Approach 8. Obtain insight At the end of the cycle, analysis of how the application is used can be derived from Tealeaf CX Mobile (see Chapter 10, “Application of Tealeaf CX Mobile in IBM MobileFirst” on page 199). Usage pattern analysis can improve the effectiveness of your application, and highlight areas users are struggling with. Consequently, this understanding will both close the iterative mobile development circle, and influence the next iteration of the product design.
  • 29. © Copyright IBM Corp. 2014. All rights reserved. 15 Chapter 2. Business scenario used in this book This chapter provides an overview of a business scenario that will be used as a case study of how the IBM MobileFirst suite is used in a business environment. The following sections provide information about how the IBM MobileFirst offerings can support an organization based on a set of generic objectives. It is not intended to provide a complete description of the organization, and the subsequent sections do not cover all of the necessary activities related to a mobility strategy in detail. The purpose of this chapter is to provide the business background to be used in the following chapters on IBM Worklight, IBM Rational Test Workbench, IBM Endpoint Manager, and IBM Tealeaf. This chapter contains the following sections: Company profile Business initiatives Technical initiatives 2
  • 30. 16 IBM MobileFirst Strategy Software Approach 2.1 Company profile Insurance Company A is a fictional, US-based corporation headquartered in New York with global operations. Its primary business is personal auto insurance through customer calls to the contact center and field representatives performing house calls. Its intention is to extend its services to the public through a self-subscription model using mobile devices. Additionally, Insurance Company A intends to modernize its field sales representatives with real-time mobile applications (apps) and eliminate paper-based transactions. Organizationally, the global operations are segmented by regions: North America South America Europe Asia Other regions will be included as part of the strategic expansion into new geographical regions. Each region has its own IT group that is responsible for its respective area. The head office in New York provides direction on the services, and the regions implement the initiatives through their own processes. This has proven costly and inefficient. It is the corporate objective that the mobility program is part of an overall common enterprise mobile strategy. The following list includes the needs to support this initiative: Speed of application development Competitor advantage Maximum efficiency Cost savings Wide spectrum of mobile devices 2.2 Business initiatives For the mobile applications initiative, Insurance Company A has decided to standardize applications, and to have a common application storefront with common processes. The mobile initiative has the following objectives: Attract new customers, transform their value chain, and increase productivity using the new business models and insights from mobile interactions. Engage users with contextually relevant experiences, with apps that are created with simplified multi-channel development solutions. Create an opportunity for return on engagement and investment, by developing interactions with mobile capabilities. Provide brand value in interactions consistently by connecting mobile apps to systems of record for continuous, trusted transactions.
  • 31. Chapter 2. Business scenario used in this book 17 2.3 Technical initiatives The IT requirements for the mobile initiative have the following objectives: The field representatives with mobile devices will be managed by a common management platform and standard corporate applications. The mobile employees will all have a common application suite regardless of geographical region. Customers with mobile devices will have a common app store for downloads, regardless of geographical region. However, apps will be presented in multiple languages dependent on the geographical location of the device. All apps will be developed by a central authority that will own all mobile apps for all regions. All apps will need to be tested before rollout, with input from the various business units. Continuous data collection and analysis needs to be looped back to the app development cycle for existing and new operations and offering apps. The target mobile users and devices are estimated in Table 2-1. Table 2-1 Target mobile users and devices The following technologies are under consideration in support of the mobile app rollout: The mobile app platform (See Chapter 3, “IBM Worklight overview” on page 19) Quality management (See Chapter 5, “IBM MobileFirst Quality Management overview” on page 119) Mobile device management (See Chapter 7, “IBM MobileFirst Management overview” on page 153) Analytics (See Chapter 9, “IBM MobileFirst Analytics overview” on page 183) The mobile app platform should be designed to ease sharing and distribution of mobile apps in an organization. It will be used to distribute mobile apps to specific users and groups. A mobile app development team will use the application platform during various phases of the development lifecycle (for example, to initially share apps with reviewers on the testing team and eventually expand the group to include beta testers later in the development cycle). Reviewers will use the mobile client to download, install, and evaluate versions of the app, and to leave feedback for the developers. The application platform includes a client app that runs on a mobile device. The mobile client will be used for the following tasks: Listing apps that are available to be installed from the application platform. Installing mobile apps from the application platform to a mobile device. Rating and leaving feedback for apps in the application platform. Region Employee Customers North America 5000 100,000 South America 500 25,000 Europe 2000 50,000 Asia 3500 75,000
  • 32. 18 IBM MobileFirst Strategy Software Approach The mobile client runs on Android, iOS, and Windows Mobile devices. The mobile client must be present on the device if the user wants to install apps from the application platform repository. The quality management framework will be used for enterprise mobile app development that dramatically reduces the response time to customer feedback: Reduced time-to-deliver mobile apps (deliver new apps and updates to employees and consumers in less time) Lowered development and test costs (reduce costs associated with training and maintaining multiple development teams and their infrastructures) Improved mobile app quality (make users happy and more productive) Increased alignment between line of business and development (ensure that apps meet business goals the first time) Mobile device management is primarily based on a single consolidated platform providing the management of mobile devices. To protect employee mobile devices as they access more and more sensitive systems, and to protect organizations from unauthorized or corrupted devices, the mobile device management platform must provide the following functionalityprovide the following functionality: Detect security threats, such as rooted or jail-broken devices, and automatically take countermeasures. Selectively wipe only corporate data, such as calendar, email, contacts, and enterprise-managed applications when a device is lost or stolen. Extend management and security capabilities. Configure and enforce password policies, encryption, virtual private network (VPN) access, and camera use in accordance with organizational and public security standards, such as the Center for Internet Security (CIS) benchmarks. Automatically identify non-compliant devices. Control non-compliance by disabling access to enterprise resources, such as email and applications, or by issuing user notifications until corrective actions are implemented. The analytics engine will consist of server-side software, that will capture mobile application interaction throughout daily use. This will enable the business to accomplish these tasks: Provide qualitative analysis on every gesture (swipe, zoom, pinch), device orientation and screen entry. Replay any customer transaction to identify and resolve problems. Provide an early warning for users struggling with an application, or for application failures. Quantify business effect by analyzing customer behaviors and device attributes. Make business decisions on which features and functions to invest in, fix, or remove.
  • 33. © Copyright IBM Corp. 2014. All rights reserved. 19 Chapter 3. IBM Worklight overview This chapter provides information about the Worklight platform, describing how mobile applications (apps) for multiple devices can be designed, developed, and deployed with an intuitive set of tools, programming models, and systems. Worklight enables mobile apps to embody the following characteristics: Developed for multiple devices and operating systems Secured and governed Given access to back-end services, applications, and data Monitored and analyzed for usage, trends, and feedback Deployed and managed in an enterprise 3
  • 34. 20 IBM MobileFirst Strategy Software Approach 3.1 Description of Worklight Worklight is a comprehensive set of tools, application programming interfaces (APIs), and runtime components. It is designed to help organizations build, run, and manage mobile apps, and forms part of the IBM MobileFirst Platform product suite. Using Worklight, browser, hybrid, mixed, and native mobile apps (Figure 3-1) can be efficiently developed in a short space of time, giving businesses a competitive edge: Faster time-to-market Reduced development costs Enhanced mobile application governance and security Figure 3-1 Mobile application implementations with Worklight1 Development activity is carried out in an environment that can address all supported mobile operating systems. Therefore, an app can be created that looks and feels the same across all deployed devices, but takes advantage of the native capabilities of the mobile device. Worklight uses standards-based technologies to integrate directly with the various mobile platform software development kits (SDKs), avoiding the use of code translation, proprietary interpreters, and the less well-known scripting languages. 1 From IBM Worklight 6.0 Technology Overview http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USEN.PDF Remember: The following list describes application types: Mobile web apps are the same as those used in a desktop browser, but are adapted to fit on the smaller screen of a mobile device. They are typically written using HTML5, Cascading Style Sheets (CSS), and JavaScript, and are portable across multiple devices and operating systems. Web applications cannot access the hardware on the mobile device, such as the camera and the global positioning system (GPS). Native apps are written in an operating system-specific language, and have full access to the mobile device hardware, features, and functions. Hybrid apps combine both the web and native models. Apps are written in the browser, but are wrapped in a container that enables the app to access the device hardware.
  • 35. Chapter 3. IBM Worklight overview 21 The five key components of Worklight are shown in Figure 3-2. Figure 3-2 Worklight components These are the components in Figure 3-2: Worklight Studio An Eclipse-based development platform designed for coding, testing, and integration tasks for web, hybrid, or native mobile apps. It interfaces with native tools, such as XCode and Android Studio. Worklight Server A scalable mobile middleware that sits between the mobile app and the enterprise back-end services. It acts as an auditable control point for mobile devices, and provides a strong security layer. Worklight capabilities: With Worklight, businesses are able to accomplish the following tasks: Support multiple mobile operating system environments and devices. Connect and synchronize with enterprise data, applications, and cloud services. Safeguard mobile security at the device, application and network layer. Govern the mobile application from one central interface. Test applications by recording and playing back a process or function on a mobile device or emulated mobile environment.
  • 36. 22 IBM MobileFirst Strategy Software Approach Worklight Server contains multi-factor authentication and mobile app authenticity checking. It enables data connectivity for multi-source data extraction and manipulation, mobile application management, analytics, and runtime services, such as push notifications and geolocation capabilities. Worklight Application Center A multi-platform enterprise application store to enable organizations to govern and distribute production-ready mobile apps. It has built-in access controls and role-based security, and can elicit and organize user feedback. It can also be used as part of the development lifecycle to distribute prerelease software, to be analyzed by developers for feedback by version and device. Worklight Device Runtime Client-side runtime code compiled into hybrid apps that embed functionality, such as offline, encrypted, and syncable data stores that interact with the Worklight Server. Worklight Console A web-based user interface for monitoring and administering the Worklight Server and its deployed applications. Adapters to connect to services and push notifications are also managed in the console. Furthermore, summaries of platform usage can be displayed on dashboards. 3.1.1 Worklight Studio The Worklight Studio SDK and integrated development environment (IDE) offers simplified development of applications across multiple mobile platforms, including iOS, Android, Windows Phone, and Java Platform, Micro Edition (Java ME). The Worklight framework enables a high level of code reuse, and enables developers to deliver a rich and consistent user experience matching the capabilities of the device. Worklight Studio features a drag-and-drop user interface (UI) for the design and development of the mobile app. Interfaces, such as JQuery Mobile, HTML, and JavaScript files are easily created by dragging HTML5 and Dojo Mobile components from a built-in palette onto the HTML work area, known as the canvas. If the developer opts for a hybrid development style, the majority of application code can be shared across multiple mobile device environments, without altering the platform-specific user experience or application functionality. For example, an application can be developed once, with feature and function code unique to the iPhone held in a separate folder. Common application code is stored in a shared folder, with device-specific or environment-specific code stored in isolated folders (see Figure 3-3 on page 23), that can overwrite or compliment the common shared code. As a result, application logic is consistent across the different environments, while the user experience behaves as expected, natively and geared to the functionality and design guidelines of the device.
  • 37. Chapter 3. IBM Worklight overview 23 Figure 3-3 Multiple device-specific code stored in a single project2 When developing hybrid or native applications, application developers can directly access the APIs that the devices offer, and can easily integrate with third-party libraries, frameworks, and tools. Because developers are not constrained by intermediary build-time or runtime layers, when new APIs are released, they are accessible for use immediately. Worklight Studio enables developers to choose how they develop applications. They can either use pure native code (Objective-C, Java, or C#), standard web technologies (HTML5, CSS3, JavaScript), or a combination of both. For hybrid application development, Worklight Studio supports the following scenarios: HTML to call native code using a plug-in, which can be used to perform non-user interactive functions, such as reading the compass, or to overlay a user interface on top of the browser Implementation of complete screens, with switching between native screens and web screens made seamless with smooth or animated transitions The following list includes further development capabilities in Worklight Studio: Runtime skins, which enable applications to automatically adjust to different devices using the same operating system, such as different screen sizes, different screen resolutions, and different input methods Geo-location toolkit, enabling the gathering and analysis of location data from GPS and WiFi efficiently and with minimal drain on the device Screen templates to automate the creation of mobile screens, such as lists, authentication, navigation, search, and configuration Standard data retrieval, enabling developers to access hierarchical data from many back-end database management systems, such as IBM DB2®, and convert to JavaScript Object Notation (JSON) for application use 2 From IBM Worklight 6.0 Technology Overview http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USEN.PDF
  • 38. 24 IBM MobileFirst Strategy Software Approach The ability to invoke back-end services and applications, such as those running in IBM CICS®, directly from within the Worklight Studio using JSON and Extensible Markup Language (XML) Unified push notifications to preconfigure automatic alerts from one centralized interface, making the communication with users completely transparent to the developer Worklight Studio includes integrated and automated functional testing, available for Android and iOS native and hybrid apps. This enables developer and testing teams to rapidly test Worklight applications, by recording a sequence of actions on a mobile device to generate a test script, which is then replayed on a real mobile device, or on an emulator/simulator. The results can be viewed and shared using a generated HTML report. Device-specific functions, such as camera, gyroscope, and compass, can be emulated and tested with the application. 3.1.2 Worklight Server The WebSphere-based Worklight Server is a scalable gateway sitting between applications, external services, and the enterprise, and acts as a container for Worklight application packages. The Worklight Server is designed to integrate seamlessly with existing infrastructure, based on industry-standard adapters and server-side code. It is a scalable solution, enabling hundreds of thousands of users to perform transactional processes against the mobile app and back-end systems. In summary, the Worklight Server provides capabilities including those in the following list: Encrypted communications between mobile devices and the enterprise Back-end connectivity to existing application services and servers Data manipulation, such as converting hierarchical data to JSON Single sign-on (SSO) authentication, with integration into existing enterprise authentication services Automatic collection of user-adoption and usage data for analysis Server-side entities, such as configuration files and integration code, that are used in the Worklight Server, can be created and managed from within Worklight Studio. These artifacts are automatically built into web archive (WAR) files using Worklight Studio, and deployed onto the Worklight Server. In providing the physical connectivity between mobile device and enterprise systems, the Worklight Server supports a wide variety of adapter technology, such as SOAP, Representational State Transfer (REST), and Structured Query Language (SQL). It integrates multiple source data mashups into one stream for serving to the user, and can host server-side logic to deliver back-end data for mobile consumption. 3.1.3 Worklight Device Runtime Components Worklight provides client-side runtime code that services HTML5, hybrid, or native applications, and includes libraries for native and JavaScript implementations. The runtime components enable a mobile app developer to accomplish the following tasks: Access back-end data and transactions through the invocation of Worklight services. Authenticate using pre-configured code to manage the authentication sequence, and to secure application data.
  • 39. Chapter 3. IBM Worklight overview 25 Provide offline access with a local JavaScript Object Notation (JSON) database for data persistence, with back-end synchronization. Supports encryption and large data sets. Manage new application versions and disable applications in accordance with set policies. Troubleshoot code for detecting runtime connectivity problems in the application, and for collecting diagnostic information. Collect usage reporting for audit and analysis, to be recorded by the Worklight Server. Ensure cross-platform compatibility (a set of uniform APIs to hide the differences in features and functions across different devices). Adjust features and functions during run time, optimizing the application for different devices across the same operating system (for example, a phone and a tablet). 3.1.4 Worklight Application Center Worklight Application Center provides an enterprise application store for the distribution, governance, and management of prerelease and production-ready mobile apps. The Worklight Application Center could be used, for example, to deploy applications to employees with their own bring your own device (BYOD) or company-owned mobile asset. Existing authentication frameworks can be used to manage application distribution by department, job function, geographical location, or other rule. Consequently, users accessing the store will see only the applications that they are entitled to download. Employees can rate apps and provide feedback. For development teams, Worklight Application Center can be used to distribute prerelease software to developers and testers. Feedback can be quickly obtained and organized by version and device to isolate and resolve defects. It will integrate with the software build process to automate the distribution of the latest releases to project teams. Key functions of the Worklight Application Center console include the following abilities: Upload different versions of mobile applications. Remove unwanted applications. Control access to applications. View feedback that mobile users have left for an application. Obtain information about applications installed on a device. Make an application inactive so that it cannot be downloaded. From the mobile device, the Worklight Application Center will enable users to accomplish the following tasks: List available mobile apps. Install a new app on a device. Send feedback about an app. The Worklight Application Center supports applications for Android, iOS, and BlackBerry devices. 3.1.5 Worklight Console The Worklight Console is a web-based user interface used for the administration of the Worklight Server and deployed applications, adapters and push-notifications. Analytics enable an administrator to search across logs and events that are collected from devices, applications, and servers for patterns, problems and platform usage statistics.
  • 40. 26 IBM MobileFirst Strategy Software Approach By using the console, an administrator can accomplish the following tasks: View dashboards that monitor all deployed adapters and applications. Control and monitor push-notification services, event sources, and related apps. Assign device-specific security to support the installation of business apps on sanctioned devices. Manage multiple versions of the same app, and remotely disable apps by version and mobile operating system type. Define device-based access control policies to control the access to apps (Worklight v6.1 and later). Operational analytics collated in the Worklight Console enable the administrator and management teams to look at data on a map view, showing activity on a world map, search through server logs. Also, by using the equivalent reports feature, they can view the full device usage for the last 30, 60, or 90 days. Reporting can be carried out in near-real time across the various views, providing at-a-glance dashboard reports, with client activities, server logs, and client crash data. 3.2 Worklight in IBM MobileFirst Worklight is the application and data platform component in the IBM MobileFirst suite of products, and participates in many aspects of the development lifecycle. Many of the functions in Worklight are complimented and extended by other products in the IBM MobileFirst product set, such as advanced analytics with Tealeaf CX Mobile, and automated mobile testing with Rational Test Workbench. In relation to the lifecycle, Worklight provides the following major capabilities (Figure 3-4 on page 27): Design and develop mobile enterprise-ready apps, rapidly and across platforms. Instrument apps to understand what is happening with the app in terms of security and usability. Integrate to back-end application services and data, to re-use assets of value. Test with the IBM Mobile Test Workbench for Worklight (MTWW). Deploy mobile apps with the Worklight Application Center. Manage mobile apps through the Worklight Console and Worklight Application Center.
  • 41. Chapter 3. IBM Worklight overview 27 Figure 3-4 The development lifecycle The mobile app development lifecycle could begin with a business problem or opportunity, but equally it can be initiated by a need to make changes to a deployed mobile app following insight from actual use. You can use operational analysis to measure functional and non-functional attributes of the app, such as responsiveness and abandoned transactions, which directly feeds into a new iteration of the development lifecycle. This information can be used to make improvements, add functionality, or even remove functionality that is not adding benefit. Worklight provides ready-for-use integration with Tealeaf CX Mobile, with the appropriate Tealeaf CX Mobile libraries for iOS, Android, and mobile web included. As soon as a Worklight project is created, a developer can immediately start instrumenting the app using Tealeaf CX Mobile technologies. After the development of an app, the app can be deployed for testing. This deployment directly feeds into the testing phase of IBM MobileFirst, integrating with IBM Rational Test Workbench. 3.3 Business benefits In the rapidly developing and changing world of mobile apps, businesses need to adapt and evolve constantly. User expectations of mobile apps are as high, if not higher, than their experience of other channels, such as web and in-store. Design & Develop Integrate Instrument Test Scan & CertifyDeploy Manage Obtain Insight
  • 42. 28 IBM MobileFirst Strategy Software Approach Worklight enables mobile apps to be designed and developed in a short space of time, and provides the deployment, management, governance, and security that results in a successful, enterprise-ready application. Worklight brings the following key business benefits: Rapid time to value from developing to deploying a mobile app Reduced development costs achieved through efficient code and asset re-use, and collaboration across teams Meet customer’s expectations the first time by simulating how the app will appear, and how it will behave, with application record and playback facility 3.4 System overview Figure 3-5 on page 29 shows the Worklight platform overview in an enterprise. Through the Worklight platform, applications are distributed to the mobile devices through Worklight Application Center. Native, hybrid, and web-based mobile apps connect back to the mobile enterprise application platform (MEAP) to use the services that it provides. In this case, the MEAP is Worklight. Application management is provided through Worklight Application Center to ensure that the applications are at the correct version, and accessible by the appropriate users. In terms of security, Worklight facilitates user authentication and integration into existing security systems. Worklight provides integration with back-end applications, systems, and services. Existing applications and database management systems can be accessed directly through common service-oriented architectures (SOAs) and connectors provided by the Worklight platform. Worklight advantages: Worklight decreases the cost of multi-platform application development, integration, and maintenance, and speeds up time to deployment.
  • 43. Chapter 3. IBM Worklight overview 29 Figure 3-5 Worklight system overview 3.5 Block overview The Worklight platform sits in the middleware layer (Figure 3-6) to provide services between mobile devices and the enterprise. Worklight provides the development platform with which to create and modify mobile apps, but also provides the necessary APIs, services, and standards to interface with enterprise security, business applications, database management systems, infrastructure, and service management. Figure 3-6 Block overview of Worklight IBM Worklight Enterprise Information System REST Services Web Services Database App Server Enterprise Services Cloud Security Management Mobile Device Integration Layer Distribute App Security Data Business Applications Middleware Infrastructure Mobile Devices IBM Worklight ITServiceManagement
  • 44. 30 IBM MobileFirst Strategy Software Approach 3.6 Components Figure 3-7 shows the components that make up the Worklight platform. It can broadly be split into five areas: Development infrastructure All of the components required to build, deploy, and run a mobile app. Client run time The components required to run a mobile app directly on a device. Server run time Code, interfaces, and adapters required to provide back-end application support and data to a mobile app. Console The management capabilities to provide remote monitoring, dashboards, and analytics on mobile devices. Application center The necessary components required to host, manage, and deploy apps to an enterprise application store. Figure 3-7 Component view of Worklight 3.6.1 Development infrastructure The development infrastructure supports the functions and capabilities of Worklight to provide the complete mobile app development and test solution, from building the app to deployment and run time. Worklight Studio is an Eclipse-based IDE to enable all of the coding and integration tasks required to develop a fully operational mobile app for various mobile operating systems. As described in 3.1.1, “Worklight Studio” on page 22, the tool supports open, multi-platform device development.
  • 45. Chapter 3. IBM Worklight overview 31 The shell approach to mobile app development is a feature of the Worklight Studio platform that enables the application to be split into two portions (Figure 3-8): An external shell An inner application This enables development teams with different skill sets to develop independently, without affecting the overall appearance and functionality of the application. Figure 3-8 The shell approach to mobile development3 The shell enables developers to encapsulate mobile code and other assets into a reusable foundation. One development team can be responsible for developing the branding, security configurations, auditing, and authentication, and another can concentrate on the functional code. Any number of shells can be created, but these will enforce the inner applications to automatically comply with these standards. With corporate policies enforced by the shell, application developers can focus on the core functionality of the application, such as the user interface, the business logic, and data integration. When completed, the shell and inner application development constructs are distributed into a single app. 3.6.2 Client runtime environment The client runtime environment, as discussed in 3.1.3, “Worklight Device Runtime Components” on page 24, consists of frameworks, libraries, APIs, and code bases to support the execution of apps on the mobile device. 3 From IBM Worklight 6.0 Technology Overview http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USEN.PDF
  • 46. 32 IBM MobileFirst Strategy Software Approach This functionality enables the deployment of runtime code to the mobile device, with embedded server functionality. Worklight provides a framework that enables the development, optimization, integration, and management of secure apps that run on client devices. The framework provides the following features: Automatic packaging and provisioning of application resources Tools that provide uniform access to back-end enterprise data, processes, and transactions Uniform persistence Flexible authentication and automatic application protection from web attacks Worklight uses the Apache Cordova development framework (Table 3-1) to deliver a bridge between standard web technologies (such as HTML5, CSS3, and JavaScript) and the native functions that the mobile device provides. Therefore, your team does not need to learn or adopt a proprietary programming language or model. Table 3-1 Worklight development frameworks and programming models Client-side runtime APIs are provided to improve application development, enabling the application to access various features during run time. The libraries are bundled into the application, and integrate with the mobile app and the Worklight Server through predefined communication interfaces. Mobile OS Devices Native applications Hybrid applications Web applications iOS4+ iPhone, iPad, iPod Touch Objective C Cordova Yes Android 2.2 - 4.2 Phones and tablets Java Cordova Yes BlackBerry 6, 7, and 10 Phones - Web Works Yes Windows Phone 7.5 and 8.0 Phones - Cordova Yes Windows 8 (including RT) Desktops, notebooks, and tablets - Cordova Yes Feature Phones Phones Java ME - Yes (mobile browser must support HTML4, CSS 2.1, or JavaScript 1.5, or later versions)
  • 47. Chapter 3. IBM Worklight overview 33 3.6.3 Server runtime environment The Worklight Server, discussed in 3.1.2, “Worklight Server” on page 24, provides a run time for adapters, analytics, push notifications, and application hosting services. Server-side APIs are provided to integrate communication between the mobile app and back-end systems. JavaScript and Java APIs can be called to perform functions, such as authentication, accessing web services, accessing a database, and subscribing to push notifications. By developing server-side application code, the mobile app has direct access to back-end transactional systems, such as IBM CICS Transaction Server, and cloud-based services. Performance, security, and maintenance are centralized. Built-in JSON translation is provided to reduce the amount of data transferred between the mobile app and the Worklight Server. JSON is a lightweight and human-readable data interchange format, and because it is smaller than other data interchange protocols, such as XML, it can be quickly generated and parsed. The Worklight Server can automatically convert hierarchical data to the JSON format, further optimizing delivery and consumption by the mobile app. A built-in security framework provides connectivity and integration into existing enterprise security systems, and sends connection credentials to the back-end. This enables the mobile app to use existing security systems, with credentials residing on the server, not the device. Client-side APIs: Client-side APIs include the following key features: Cross-platform compatibility, to support development across all platforms, such as accessing common control elements of tab bars, clipboards, location services, and the camera. Client-to-server integration, to ensure transparent communication between a mobile app and the Worklight Server. Worklight mobile apps always use an SSL-enabled connection to the server. An encrypted data store, to access private data, using ISO/IEC 18033-3 standards, such as AES256 or PCKS#5. The ability to synchronize mobile app data with related data on the back-end, using JSON. Runtime skinning for abstracting devices from the design of the user interface. The runtime skin is applied during run time to configure to screen resolution, operating system, and form factor.
  • 48. 34 IBM MobileFirst Strategy Software Approach The adapter library can be used to connect to various back-end systems, with adapters provided for SOAP, XML over HTTP, Java Database Connectivity (JDBC), and Java Message Service (JMS), as shown in Figure 3-9. With this capability, complex lookup procedures can be defined, and data combined from multiple back-end services. This aggregation reduces the amount of network traffic to and from the mobile device. Figure 3-9 Worklight adapters for back-end connectivity. The push notification service in the server runtime environment (Figure 3-10) is an abstraction layer for sending notifications to the mobile device, using either the device vendor’s infrastructure or the Worklight Server Software Management Services (SMS) capabilities. The request to subscribe to notifications is sent from the user’s application to the Worklight Server, containing information about the device and platform. The system administrator can manage subscriptions, notifications from back-end systems, and use the Worklight Application Center to send notifications to the devices. Figure 3-10 Worklight Push Notification service
  • 49. Chapter 3. IBM Worklight overview 35 The operational analytics feature enables searches across applications, services, devices, and other sources, to reveal usage data or detect problems. In addition to summary report data, more detailed operational analytics are available in the Worklight Console, described in 3.1.5, “Worklight Console” on page 25, and in Tealeaf CX Mobile, in Chapter 9, “IBM MobileFirst Analytics overview” on page 183. Worklight includes the IBM WebSphere Analytics Platform (IWAP), which drives the Worklight analytics feature. IWAP is designed to help understand the volume, velocity, veracity (amount of noise in data), and variety of mobile data. Figure 3-11 shows how Worklight can interface with IWAP, and together with Tealeaf CX Mobile, can create detailed reports on mobile data to be accessed by Business Intelligence and Reporting Tools (BIRT). Figure 3-11 Worklight Operational Reporting interfacing with Tealeaf CX Mobile 3.6.4 Console The Worklight Console is a centralized web-based portal, used for the control and management of the deployed application, and supports the analysis of user statistics collected by the Worklight Server runtime environment. Details of the functionality and capability of the console are described in 3.1.5, “Worklight Console” on page 25.
  • 50. 36 IBM MobileFirst Strategy Software Approach The console consists of application catalogs, a dashboard, and a push notification display. Figure 3-12 shows an example of the push notifications panel, with the left column displaying the list of data sources configured in the Worklight Server and how many users are subscribed to it. The column on the right displays the deployed applications that can receive push notifications, how many notifications have been sent since system startup, and any errors that have occurred. Figure 3-12 Worklight Console push notification 3.6.5 Worklight Application Center The Worklight Application Center is made up of four main components: The mobile client application is used to install applications on a mobile device, and to send feedback about the application to the server. The web console is a Java-based application, hosted server-side, that must be deployed in a web application server, such as IBM WebSphere Application Server. Application center services provide functions, such as listing available applications, delivering binary files to the mobile device, and registering feedback and ratings. The server-side component consists of an administration console and the mobile apps. Details are described in 3.1.4, “Worklight Application Center” on page 25.
  • 51. Chapter 3. IBM Worklight overview 37 A database repository is held on the server. It contains information regarding which apps are installed on mobile devices, the feedback about apps, and the application binary files. A web administration console is provided to enable users to manage apps, user access rights to install apps, feedback, and details about the apps installed on devices. Figure 3-13 shows how the Worklight Application Center can be used to view all of the apps installed on a device. Figure 3-13 Worklight Application Center showing installed applications Figure 3-14 shows the architecture of the Worklight Application Center, and how the Application Services can use services. Mobile devices can view the apps available to install through the catalog service or the install service, and they can provide feedback through the feedback services. The Worklight Application Center mobile app is installed locally on the mobile device, and an administrator uses the Worklight Application Center Console to manage the entire process. Figure 3-14 Worklight Application Center architecture Applications developed in the Worklight Studio can be published directly into the Worklight Application Center.
  • 52. 38 IBM MobileFirst Strategy Software Approach
  • 53. © Copyright IBM Corp. 2014. All rights reserved. 39 Chapter 4. Application of IBM Worklight in IBM MobileFirst This chapter contains details about the implementation of a mobile insurance application (app) for the fictional Insurance Company A using IBM Worklight. This chapter assumes basic knowledge of general application development, but you might have not previously developed a Worklight mobile app. It also assumes basic knowledge of Eclipse. This chapter walks through the steps of creating the first couple of screens of the mobile app, called Open Insurance, for Insurance Company A. This chapter does not provide detailed steps for implementing the entire mobile app, but has enough information and examples to demonstrate the various components and capabilities of IBM Worklight. For a more in-depth look at developing a mobile app using Worklight, see the IBM Redbooks publication Extending Your Business to Mobile Devices with IBM Worklight, SG24-8117. This chapter introduces the capabilities of IBM Worklight used to accomplish the following tasks: Design and develop a mobile application. Integrate with backend services. Deploy a mobile application. Manage a deployed application. Secure access to application resources. The chapter describes the detailed steps of how to create a mobile app using Worklight, and provides information about other scenarios in high level, that are not covered in detail. Throughout this chapter, you will use resources that have been supplied as companion files, such as source code and graphic contents. To retrieve these files, see Appendix A, “Additional material” on page 249. 4
  • 54. 40 IBM MobileFirst Strategy Software Approach 4.1 Design and develop with Worklight In this section, you use Worklight Studio to design and develop the Open Insurance mobile app for Insurance Company A. You will explore various features available in the integrated development environment. 4.1.1 Introducing Worklight Studio projects In Worklight Studio, work is organized in projects in a workspace. All developer assets, including source code, libraries, and resources, are placed in a project folder. In the project folder, each application you create has a top-level application folder and several sub-folders: For hybrid applications, a common folder to store code that is shared between all environments, such as HTML, Cascading Style Sheets (CSS), and JavaScript code Additional folders to store code that is specific to each supported environment, for example JavaScript functions or CSS formatting An adapters folder, to store the code of the adapters that the application requires to interact with back-end systems The IBM WebSphere Liberty Profile (WLP) development server is available for hosting the Worklight Projects during development and unit testing. Each Worklight Project will have its own Worklight Server run time deployed as a customized web archive (WAR) to the WLP server. 4.1.2 Creating an application project Worklight provides different sets of capabilities to rapidly develop mobile application screens or pages, such as page templates. However, in this exercise you will walk through the manual step-by-step approach to get familiar with the tooling: 1. Start Worklight Studio, if not already started. 2. Select a workspace location that will be used for this project. Remember that any customizations done in a workspace, such as browser preferences or view customization, will be lost if a new workspace is chosen in a future startup.
  • 55. Chapter 4. Application of IBM Worklight in IBM MobileFirst 41 3. Select File  New  Project to display the New Project wizard (Figure 4-1). Figure 4-1 Create a new worklight project 4. Select Worklight Project, and then click Next. 5. In the next wizard, enter InsuranceProj as the project name, select Hybrid Application from the list of Project Templates, and then click Next (Figure 4-2). Figure 4-2 Enter Project name and choose Hybrid application Notice that there are other options available, such as Native and Shell. You will focus on a hybrid application in this scenario, but Worklight is not limited to a single model. 6. In the next wizard, enter openInsurance in the Application Name field. 7. The user interface will be built using jQuery Mobile, so select the Add jQuery Mobile check box to add the jQuery Mobile library.
  • 56. 42 IBM MobileFirst Strategy Software Approach 8. Under the check box there is a Location field. Click the archive icon located to the right of the folder icon and navigate to a location where the jquery.mobile-1.3.1.zip companion file was saved (Figure 4-3). Figure 4-3 Select a location 9. In the list of resources, select the images folder, and the .css and .js files that are shown in Figure 4-3, and then click Finish. If a prompt to switch to the Design perspective appears, click Yes (Figure 4-4). Figure 4-4 Application Descriptor Editor opens in Design view after the wizard completes
  • 57. Chapter 4. Application of IBM Worklight in IBM MobileFirst 43 10.The project is now created and the Application Descriptor editor opens automatically. Close this editor for now and revisit at a later step. 11.In the Project Explorer, open the openInsurance.html file located under the apps/openInsurance/common directory. The file is opened in the Rich Page editor (RPE), as shown in Figure 4-5. Figure 4-5 Worklight Studio: Project Explorer, rich page editor, and Palette Prepare the development environment Follow these steps: 1. Expand the InsuranceProj/apps/openInsurance/common/images folder.
  • 58. 44 IBM MobileFirst Strategy Software Approach 2. Locate the images directory from the resource companion files and copy the content into this folder. The result should be as shown in Figure 4-6. Figure 4-6 The result of copying the images content from the resource companion files Create the splash page Follow these steps: 1. In the RPE, select the Split tab in the lower left corner, as shown in Figure 4-7 on page 45. Then select the Vertical (side by side) mode in the upper right corner and then select Apple iPhone 5 from the list of Devices. 2. In the source code pane, locate the <body> element, and then delete the openInsurance text located after the <!--application UI goes here--> comment. This is the default user interface that is generated with the application content. The default will be replaced with content created in the following steps.
  • 59. Chapter 4. Application of IBM Worklight in IBM MobileFirst 45 Figure 4-7 Rich Page editor in split and vertical mode 3. In the Properties view, typically in the lower right of the screen, locate and update the Page Id to splashPage (Figure 4-8). Figure 4-8 Properties view to update page Id to splashPage 4. Review the Mobile Navigation view, typically in the lower left corner of the screen, to make sure that the change has been applied (Figure 4-9). Figure 4-9 Mobile Navigation view
  • 60. 46 IBM MobileFirst Strategy Software Approach 5. From the Project Explorer, expand the apps/openInsurance/common/images directory, and drag the Logo.png image file into the page content where the current display is Insert Widgets here, as shown in Figure 4-10. Figure 4-10 Drag Logo.png image into page content 6. In the Source panel, update the padding to 0px. The code should look similar to that shown in Figure 4-11. Figure 4-11 The splashPage source code Create the login page Follow these steps: 1. In the Palette view, locate the Page widget (Figure 4-12). Figure 4-12 Page widget in Palette view 2. Drag the Page widget into the content under the splashPage, as shown in Figure 4-13 on page 47. Make sure that the message in the RPE can be seen before dropping the content into the canvas.
  • 61. Chapter 4. Application of IBM Worklight in IBM MobileFirst 47 Figure 4-13 Add a Page widget 3. Change the Page ID to loginPage. 4. In the Mobile Navigation view, double-click the loginPage to move the focus of the RPE to it (Figure 4-14). Figure 4-14 Select loginPage in Mobile Navigation view 5. From the Project Explorer, drag logo_login.png into the page content (Figure 4-15). Figure 4-15 Drag image file into page canvas 6. In the source pane, update the padding to 2px. 7. You might want to adjust the source code tab formatting a bit to make the code look tidy throughout the process (Figure 4-16). Figure 4-16 Code for loginPage
  • 62. 48 IBM MobileFirst Strategy Software Approach Add a few input fields Follow these steps: 1. In the Palette view, locate the Text Input widget (Figure 4-17). Figure 4-17 Text Input widget in Palette view 2. Drag the Text Input widget into the content after the image (Figure 4-18). Figure 4-18 Drop Text Input widget into page canvas 3. Insert a second Text Input widget under the first (Figure 4-19). Figure 4-19 Insert additional widget into page canvas 4. The generated source code should look similar to Figure 4-20. Figure 4-20 Source code of loginPage after adding widgets 5. In the Source panel, change the first <label for="text">Text Input:</label> to <label for="text">user id</label>, then change the second Text Input: to password. 6. Next, change the first input text id="text" to id="txtUser" placeholder="ex. Johndo84" change id="text0" to id="txtPass", and change the last input type="text" to input type="password". The result should look similar to Example 4-1. Example 4-1 The loginPage code <div data-role="page" id="loginPage"> <div data-role="content" style="padding: 2px"> <img src="images/logo_login.png"> <label for="text">user id</label>
  • 63. Chapter 4. Application of IBM Worklight in IBM MobileFirst 49 <input type="text" name="text" id="txtUser" placeholder="ex. Johndo84"> <label for="text0">password</label> <input type="password" name="text0" id="txtPass"> </div> </div> 7. Select the txtUser input text box in the Design pane to display the property details. 8. Select the All tab, then enter place in the Value search box to filter and display the placeholder property, as shown in Figure 4-21. 9. Enter ex. Johndo84 in the Value box. Figure 4-21 Placeholder text 10.Select the txtPass box in the Design pane to display the property details: a. Select the Tag tab. b. Choose the Password Input type radio button (Figure 4-22). Figure 4-22 Password box properties detail
  • 64. 50 IBM MobileFirst Strategy Software Approach Add the login button and social network images Follow these steps: 1. In the Palette view, locate the Grid widget (Figure 4-23). Figure 4-23 Grid widget 2. Drag the Grid widget under the Input Text box (Figure 4-24). Figure 4-24 Add Grid widget
  • 65. Chapter 4. Application of IBM Worklight in IBM MobileFirst 51 3. Click in the grid, and use the hover control to add a row after it (Figure 4-25). Figure 4-25 Add second row to grid 4. The loginPage should now look similar to Figure 4-26. Figure 4-26 The loginPage grid 5. In the Palette view, locate the Button widget (Figure 4-27). Figure 4-27 Button widget
  • 66. 52 IBM MobileFirst Strategy Software Approach 6. Drag the Button widget into the grid Column 2 (Block B) in the upper right corner (Figure 4-28). Figure 4-28 Add button widget 7. Double-click the button, and then change the text to Login (Figure 4-29). Figure 4-29 Login button text
  • 67. Chapter 4. Application of IBM Worklight in IBM MobileFirst 53 8. In the Properties view, select the Tag tab and change the Id: to loginBtn (Figure 4-30). Figure 4-30 Login button properties details 9. Select the jQuery tab and clear the Rounded corners check box, as shown in Figure 4-31. Figure 4-31 Login button properties detail Add links Follow these steps: 1. In the Palette view, locate the Link widget (Figure 4-32). Figure 4-32 Link widget
  • 68. 54 IBM MobileFirst Strategy Software Approach 2. Drag a Link widget into Column 2 (Block B) under the loginBtn button (Figure 4-33). Figure 4-33 Add link widget 3. Double-click the link and rename it Register (Figure 4-34). Figure 4-34 Register link 4. In the Properties view for the link, select the Tag tab and change the Id: to registerLnk (Figure 4-35). Figure 4-35 Register link properties detail 5. Repeat this procedure to add a Forgot Password link (Figure 4-36). Figure 4-36 Password properties detail
  • 69. Chapter 4. Application of IBM Worklight in IBM MobileFirst 55 6. Add a pipe after the Register link to separate the two words by adding &nbsp;|&nbsp; to the right at the end of the link. The source code can be found in Example 4-2. Example 4-2 Add pipe between links <a href="#" id="registerLnk">Register</a> &nbsp;|&nbsp; 7. The result should look similar to Figure 4-37. Figure 4-37 Add pipe to separate links Add images Follow these steps: 1. From the Project Explorer image folder, drag the icon_fb.png file to the second row, Column 2 (Block B) grid directly beneath the one used for Login. 2. From the Project Explorer image folder, drag the icon_twitter.pnf file to the same grid as in the previous step (Figure 4-38). Figure 4-38 Add icon images 3. In the Source panel, add id="social-block" to the div tag class="ui-block-b", as shown in Figure 4-39. This id="social-block" references a CSS rule that will be implemented later. It will be used to format this specific element. Figure 4-39 Add CSS rule reference Create the home screen The following steps do not have as many details as before, because you have already seen them in the previous sections: 1. From the Palette, drag a Page widget into the Design Panel beneath the loginPage. You can refer back to the steps in Figure 4-13 on page 47 for adding the loginPage for reference if needed.
  • 70. 56 IBM MobileFirst Strategy Software Approach 2. In the Properties view, update the Id: to homePage (Figure 4-40). Figure 4-40 Change Id to homePage in properties 3. In the Mobile Navigation view, select and open the homePage (Figure 4-41). Figure 4-41 Select homePage in Mobile navigation 4. In the Source panel, update the homePage content padding to 2px. 5. From the Project Explorer images folder, drag the logo_lgin.png file into the page content. The source code should look similar to Figure 4-42. Figure 4-42 Login button code Build the page menu Follow these steps: 1. From the Palette, drag a Grid widget into the content after the <img> tag. The result should look similar to Figure 4-43. Figure 4-43 Add a grid
  • 71. Chapter 4. Application of IBM Worklight in IBM MobileFirst 57 2. In the Properties view, set the Id: to menu (Figure 4-44). Figure 4-44 Grid properties detail 3. Add a column to the menu grid. The result should look similar to Figure 4-45. Figure 4-45 The homePage menu grid 4. Add a second row to the menu grid. The result should look similar to Figure 4-46. Figure 4-46 The homePage menu grid Add images into the menu grid Follow these steps: 1. From the Project Explorer images/menu folder, drag the manage.png file into the first row, Column 1 (Block A) block (Figure 4-47). Figure 4-47 Menu folder images
  • 72. 58 IBM MobileFirst Strategy Software Approach 2. Drag the claims.png file into the first row, Column 2 (Block B) block. 3. Drag the message.png file into the first row, Column 3 (Block C) block. 4. The result should look similar to Figure 4-48. Figure 4-48 The homePage with first row icons 5. Drag the roadside.png file into the second row, Column 1 (Block A) block. 6. Drag the contact.png file into the second row, Column 2 (Block B) block. 7. Drag the logout.png file into the second row, Column 3 (Block C) block. 8. The result should look similar to Figure 4-49. Figure 4-49 The homePage with two rows of icons 9. From the Palette, drag a Label widget for each one of the images, into the column after <img>. 10.Change the label name according to their images: Manage, Claims, Messages, Road Side, Contacts, Log Off.
  • 73. Chapter 4. Application of IBM Worklight in IBM MobileFirst 59 11.The result should look similar to Figure 4-50. Do not be alarmed about the formatting of the text label displacements. This will be adjusted by the CSS formatting in a later step. Figure 4-50 The homePage icons with labels 12.Add id="logoutBtn" to the ui-block-c div tag for the logout.png image, as shown in Figure 4-51. Figure 4-51 Add CSS reference to logoutBtn button code Add the “I’ve been in an accident” button Follow these steps: 1. From the Palette, drag a Button widget into the homePage content after the grid. 2. Change the button text to I’ve been in an accident. 3. In the Properties view, update the button Id: to accidentBtn and clear the Rounded corners check box (Figure 4-52). Figure 4-52 Button detail properties
  • 74. 60 IBM MobileFirst Strategy Software Approach 4. The design panel should look similar to Figure 4-53. Figure 4-53 RPE homePage preview 5. Save and close the openInsurance.html file. Develop the logic that ties the screen together Follow these steps: 1. In the Project Explorer common/js folder, open the openInsurance.js file (Figure 4-54). Figure 4-54 The openInsurance.js file in the Project Explorer 2. Add the code in Example 4-3 after the wlCommonInit() function shown in Figure 4-55. Figure 4-55 The wlCommonInit() function in openInsurance.js Example 4-3 Add the following code after the wlCommonit() function $("#splashPage").on("pageshow", function(){ $.mobile.showPageLoadingMsg(); window.splashTimerId = setTimeout(removeSplashScreen, 2000); });
  • 75. Chapter 4. Application of IBM Worklight in IBM MobileFirst 61 function removeSplashScreen(){ $.mobile.hidePageLoadingMsg(); $.mobile.changePage( "#loginPage", { transition: "pop"} ); } $("#loginBtn").on("click",function(){ $(this).trigger("blur"); setTimeout(function(){ $.mobile.changePage("#homePage", {transition: "flip"}); }, 350); }); $("#logoutBtn").on("click",function(){ $(this).trigger("blur"); setTimeout(function(){ $.mobile.changePage("#loginPage", {transition: "flip"}); }, 350); }); 3. The code you just entered will bind the click event for each of the buttons and call the changePage function to go between the different pages. Update the application initialization option Follow these steps: 1. Open the initOptions.js file located under the openInsurance/common/js folder. 2. Change the connectOnStartup property value to true (Example 4-4). By doing this, you are telling the application to attempt to connect to the Worklight Server on startup. This will enable the framework to check for various things, such as updates and authenticity. Example 4-4 Connect to server on startup // # Should application automatically attempt to connect to Worklight Server on application start up // # The default value is true, you are overriding it to false here. connectOnStartup : true, 3. Uncomment and implement the onConnectionFailure callback function (Example 4-5). If during initialization the application is not able to contact the Worklight Server, initialize and log it. This is useful for running application in offline mode. Example 4-5 Initialize even if there is no connectivity to the Worklight Server onConnectionFailure: function (){ wlCommonInit(); WL.Logger.debug('Unable to connect to Worklight Server, running offline'); }, At this point, make sure to save all of the files that you have been working with.
  • 76. 62 IBM MobileFirst Strategy Software Approach See how the application currently looks Follow these steps: 1. Before proceeding to the next step, make sure that you set the workspace browser preference to Use external web browser, as shown in Figure 4-56. Figure 4-56 Eclipse workspace web browser setting 2. You can either select your browser or choose to use the system default browser. The suggested browsers are Google Chrome, Safari, or Firefox. In this example, Google Chrome will be used, and it is set as the default system browser, as shown in Figure 4-57. Figure 4-57 Google Chrome as default system browser
  • 77. Chapter 4. Application of IBM Worklight in IBM MobileFirst 63 Previewing directly from Worklight Studio Follow these steps: 1. In the Project Explorer, select the openInsurance.html file. Right-click and select Run As  Preview, as shown in Figure 4-58. Figure 4-58 Preview openInsurance.html using Eclipse menu 2. This causes the application to be deployed and a browser window (in this case Google Chrome) opens. You will see a screen similar to that shown in Figure 4-59. There is actually a splash screen that appears before this login screen, but quite quickly. Figure 4-59 Login page preview
  • 78. 64 IBM MobileFirst Strategy Software Approach 3. Enter your credentials, and then click the Login button. You will be taken to the homePage screen (Figure 4-60). Do not worry about the offset in alignment of the text. It will be addressed later on. Figure 4-60 Menu page preview 4. You can play around with the different icons a bit if you want. Click the Log Off button to return to the loginPage.
  • 79. Chapter 4. Application of IBM Worklight in IBM MobileFirst 65 Access the preview using the Worklight Console Another way to access the same web preview of the application is using the Worklight Console. Each Worklight project has a console that can be used to manage and access the Worklight application resources in it: 1. In the Project Explorer, right-click the InsuranceProj folder and select Open Worklight Console (Figure 4-61). Figure 4-61 Open Worklight Console using Eclipse shortcut 2. The IBM Worklight Console will open in a new browser window, or a new tab if an existing browser is already running (Figure 4-62). Figure 4-62 Worklight Console showing common web environment 3. Click the Preview as Common Resource link to open a new window or tab (depending on your browser setting preferences) with the similar web preview screen. 4. You are looking at a web preview of the application as just designed using the RPE. There has not been any CSS design formatting applied yet.
  • 80. 66 IBM MobileFirst Strategy Software Approach Apply CSS logic to make the application look better Follow these steps: 1. In the Project Explorer, open the openInsurance.css file under the common/css folder (Figure 4-63). Figure 4-63 Supplied default CSS rules As you can see, the default CSS is quite basic, so you need to add your own CSS rules. 2. The source code included in the companion resources has a copy of openInsurance.css. Copy that file into the common/css folder and override the current implementation. 3. There are many more rules created specifically for the content that you just created. Review them for yourself, because this section will not go into details. This is because CSS is not the intended focus of this chapter. 4. After applying the new CSS rules, use the Mobile Navigator to open the splashPage, as shown in Figure 4-64. It might be necessary to close and reopen the openInsurance.html file. Figure 4-64 Splash page after applying new CSS rules
  • 81. Chapter 4. Application of IBM Worklight in IBM MobileFirst 67 5. Using the Mobile Navigation view, open the loginPage and review the changes to the layout (Figure 4-65). Figure 4-65 Login page after applying new CSS rules 6. Using the Mobile Navigation view, open the homePage screen. Notice that the icon images and text are formatted much nicer now than initially (Figure 4-66). Figure 4-66 Home page after applying new CSS rules
  • 82. 68 IBM MobileFirst Strategy Software Approach 7. The I’ve been in an accident button looks much different than before. Locate the accidentBtn CSS rule in openInsurance.css to see the implement details (Figure 4-67). Figure 4-67 Accident button CSS rules Add mobile environments (iPhone and Android) IBM Worklight is a first-class platform that you can use to develop mobile apps using web, hybrid, and native methodologies. This example showcases the hybrid approach to achieve quick time-to-market and maximum reuse across different platforms. The previous steps showed how to start developing the screens and logic using web technologies. Now you will add in the support for installing a native application on mobile devices. This example is demonstrated using Android Virtual Device (AVD), because it is more generally available and can be used on most desktop operating systems at no charge. The general steps apply to anyone that might be using an Apple Mac with the Apple-provided software development kit (SDK) Xcode available. An optional (but quite useful) step for testing with AVD is to install the Intel Hardware Accelerated Execution Manager (HAXM). You can find more detailed instructions and the required code from the Android Developer Guide: http://developer.android.com/tools/devices/emulator.html
  • 83. Chapter 4. Application of IBM Worklight in IBM MobileFirst 69 Follow these steps: 1. In the Project Explorer, select the openInsurance application folder. Right-click it and choose Worklight Environment, as shown in Figure 4-68. 2. This opens the new Worklight Environment dialog box, as shown in Figure 4-68. You can also find the same menu by using the Eclipse File  New path. Figure 4-68 Adding Worklight Environment 3. Select the iPhone and Android phones and tablets check boxes, and then click Finish (Figure 4-69). Figure 4-69 Worklight environments list
  • 84. 70 IBM MobileFirst Strategy Software Approach 4. In the Project Explorer, locate the newly created iphone and android folders under the openInsurance application folder (Figure 4-70). Figure 4-70 Application folder structure after adding iPhone and android mobile environments Explore the content and you will see that the structure is similar to the common folder with additional native folders. This is the optimization structure that IBM Worklight provides for centralization of common code and customization to specific environments. The folder structure enables simple overriding of content, such as HTML or graphic resources, and extending additional CSS or JavaScript logic that might apply only to the specific environments. 5. Right-click the openInsurance application folder and select Run As  Build All and Deploy (Figure 4-71). Figure 4-71 Build All and Deploy This action initiates the Worklight builder tools: a. Take the content from the common folder. b. Determine if there have been any customizations added in the environment. c. Build the native project with them. d. Deploy the web content to the running development Worklight Server.
  • 85. Chapter 4. Application of IBM Worklight in IBM MobileFirst 71 6. In the Project Explorer, open the android folder and look at the content of the sub folders, as shown in Figure 4-72. Figure 4-72 Explore android environment folder There are placeholder files in the css and js folders for any custom functions or rules that you want to add for Android explicitly. The native and nativeResources folders contain the content required for a native Android project (Figure 4-73). With the appropriate Android Development Tool (ADT) and SDK installed in your Worklight Studio environment, you can see that the Android native project that was created by the Worklight build process is available in your workspace. There are useful training modules available for setting up the Worklight development environment, and Android and iOS environments, located in the Getting Started with IBM Worklight documentation: http://www.ibm.com/developerworks/mobile/worklight/getting-started.html#setup Figure 4-73 Android native project for openInsurance 4.2 Integrate with IBM Worklight Worklight applications, mobile, mobile web and other web based supported environments connects to backend application and services using the Worklight adapter framework hosted on the Worklight Server.
  • 86. 72 IBM MobileFirst Strategy Software Approach Worklight supports a variety of connectivity options for communicating with back-end systems, such as an HTTP adapter for connecting to SOAP or Representational State Transfer (REST)-based services, a SQL adapter for database backends, a Java Message Service (JMS) adapter for messaging-based backends, and much more. 4.2.1 Overview of the HTTP adapter This section will use a simple HTTP adapter to serve as an example of how the Insurance Company A mobile Worklight application openInsurance can integrate with backend resources. The example is based on the reference information and examples from the Getting started with IBM Worklight materials, specifically the Adapter-based authentication module. This example will be expanded upon in a later Security section. For more information about adapters, review the “Overview of IBM Worklight Adapters” article on the Worklight 6.0 Information Center: http://pic.dhe.ibm.com/infocenter/wrklight/v6r0m0/topic/com.ibm.worklight.help.do c/devref/c_overview_of_ibm_worklight_adap.html http://www.ibm.com/developerworks/mobile/worklight/getting-started.html#security http://public.dhe.ibm.com/software/mobile-solutions/worklight/docs/v600/AdapterBa sedAuthenticationProject.zip 4.2.2 Using the HTTP adapter This section describes the steps to create, implement, and test an HTTP adapter called SimpleAdapter. Create the SimpleAdapter Follow these steps: 1. In the Project Explorer, right-click the InsuranceProj project and select Worklight Adapter to create a Worklight adapter (Figure 4-74). Figure 4-74 Create Worklight adapter
  • 87. Chapter 4. Application of IBM Worklight in IBM MobileFirst 73 2. Make sure that InsuranceProj is selected for Project name. Choose HTTP Adapter for the adapter type. Enter SimpleAdapter for the adapter name (Figure 4-75). Figure 4-75 Create HTTP SimpleAdapter 3. Click Finish. The adapter editor is opened by default to the Design tab of the SimpleAdapter.xml file (Figure 4-76). Figure 4-76 SimpleAdapter.xml descriptor file in design mode
  • 88. 74 IBM MobileFirst Strategy Software Approach 4. Delete the default procedures, then add a procedure Name getData. Optionally, add a Description, as shown in Figure 4-77. Figure 4-77 The create getData procedure 5. Save the SimpleAdapter.xml file. Implement the SimpleAdapter In the Project Explorer, you can see that there is a subfolder called SimpleAdapter under the adapters folder. Adapters are server-side artifacts that are also developed and unit tested in the Worklight Studio. The SimpleAdapter.xml file is the declarative descriptor component of the adapter. To implement the server-side functionality of the adapter, you need to work with the SimpleAdapter-imp.js file. 1. Add a getData() function call and add the implementation code (Example 4-6). The implementation of this function returns a hardcoded response when a request is made by the client code. Typically a server procedure would connect to HTTP backends, such as SOAP or REST services, to POST or GET data. The comments of the SimpleAdapter-imp.js file contain an example of how the WL.Server.invokeHttp API is implemented. Example 4-6 Add getData() function implementation function getData(){ return { data: "something simple" }; } The default functions can be deleted or left as an example if you want. Save the SimpleAdapter-impl.js file.
  • 89. Chapter 4. Application of IBM Worklight in IBM MobileFirst 75 Testing the SimpleAdapter After you have implemented the SimpleAdapter, you can do initial unit testing of the function to make sure that connectivity exists and functionality is valid. 1. In the Project Explorer, select the SimpleAdapter folder, right-click it, and choose Run As  3 Invoke Worklight Procedure (Figure 4-78). Figure 4-78 Start Worklight Procedure 2. A dialog box window opens to enable selecting the desired procedure to start. Because there is only one procedure in this implementation, it is selected by default. Initially, there is no parameter for this request, but if a backend request requires parameter input, it can be provided using this dialog box. Click Run to run the test (Figure 4-79). Figure 4-79 Select Worklight procedure
  • 90. 76 IBM MobileFirst Strategy Software Approach 3. The adapter will be deployed to the local development Worklight Server run time. The request will be run, then Worklight Studio will display the response in the default web browser (Figure 4-80). Figure 4-80 Invocation result 4. You can see that the invocation was successful because the response returned the data that you hardcoded in the implementation. Verify in the Worklight Console that there is now a SimpleAdapter deployed to the Worklight Server (Figure 4-81). Figure 4-81 Deployed SimpleAdapter The default connection information can be ignored, because you are not actually calling out to a backend service. The getData procedure is listed in the details. Implement application client code Now that you have validated that the invocation of the Worklight adapter is functioning, implement a simple client-side code to start the procedure from a Worklight Application. 1. Open the openInsurance.js file, then add the following function, as shown in Example 4-7. The function calls the Worklight client invokeProcedure API and passes it the Worklight adapter, procedure name, and any optional parameters. When the Worklight Server receives the request, it runs the target function and returns a response to the client caller. Example 4-7 Client-side getData function implementation function getData(){ var invocationData = { Adapter :'SimpleAdapter', procedure : 'getData', parameters : [] }; WL.Client.invokeProcedure(invocationData,{ onSuccess : getDataCallback, onFailure : getDataCallback }); }
  • 91. Chapter 4. Application of IBM Worklight in IBM MobileFirst 77 Typically there would be a success and failure callback, but in this case you are retrieving a hardcoded value so there is no expectation for failure. 2. Implement the getDataCallback function to handle the response from the request (Example 4-8). In this case, you will take the JSON response and print it in an alert dialog. Example 4-8 Display adapter response in client application in an alert function getDataCallback(response){ alert("getDataCallback response: "+ JSON.stringify(response.invocationResult.data)); } 3. To test using the client code, you need to call the function from an element. Use the Claims icon button to call the function from the client code, as shown in Example 4-9. When the user clicks the Claims button, the local getData() client function will be called. Example 4-9 Update claim button to call getData() function <div class="ui-block-b" id="claimBtn" onclick="getData()"> <img src="images/menu/claims.png"> <label id="label0">Claims</label> </div> 4. Build and deploy the code change, then use the Worklight Console to preview the common environment. Testing the application should display a response similar to that shown in Figure 4-82. Figure 4-82 Testing adapter using console preview
  • 92. 78 IBM MobileFirst Strategy Software Approach 4.3 Deploy with IBM Worklight This section provides information about the various ways that you can deploy Worklight applications. 4.3.1 Deployment options Worklight applications can be deployed in several different ways, depending on the scenario. During the iterative design and development stage, it is common to use the Worklight Studio integrated development environment (IDE) to deploy and test the work in progress content. The tooling provides the capabilities needed for building, deploying, and testing Worklight application resources, as seen in previous sections. Each Worklight workspace contains an integrated Worklight Server environment used for this purpose. After completing the unit development and testing period, it is often necessary to move to a more centralized remote environment for integration development and testing activities. In this scenario, it is common to interact with a remotely installed Worklight Server. To deploy application resources to such a server, you can use the Worklight Console web interface or command-line interface (CLI)-driven Worklight Ant tasks. More details about using the Worklight Console can be found in 4.4, “Manage with IBM Worklight” on page 96. The following sections provide information about the different ways to deploy the Worklight server-side resources. Worklight (and non-Worklight) mobile app clients need to be deployed and distributed as well. For this, IBM Worklight provides a feature called IBM Worklight Application Center (App Center). App Center is a production-grade private app store that can be used as a means of distributing and sharing apps inside an enterprise. Whether the mobile app will be targeted for public consumption through vendor-specific app stores, such as Apple iTunes, Google Play, or Windows Marketplace, or if the mobile app will be made available for internal enterprise consumption only, App Center has a role in the development, testing, and production means of distributing the mobile apps to users. 4.3.2 Performing the deployment To proceed with the App Center section, you will need to have access to, and have installed an entitled version of, IBM Worklight. App Center is not available as part of the Worklight Development Server included with IBM Worklight Studio. This section assumes that you have already completed the installation of an external Worklight Server and App Center. After you have the App Center server installed, you can upload the Android Application Center mobile client, as described in the following section for the Insurance Company A openInsurance application. The prepackaged .apk file can be found under the IBMAppCenter folder: {INSTALL_ROOT}/ApplicationCenter/installer/IBMAppCenter/IBMApplicationCenter.apk
  • 93. Chapter 4. Application of IBM Worklight in IBM MobileFirst 79 Worklight Application Center server Follow these steps: 1. Open the App Center server console. The following URL is the default: <server>:<port>/appcenterconsole 2. Enter your credentials to access the App Center console (Figure 4-83). The default credential is demo/demo depending on how your server was installed. Figure 4-83 Worklight Application Center login The console enables a developer or administrator to add, delete, or manage access control to their mobile apps. Information about users and devices that are using the App Center is available. More details about Worklight Application Center can be found in Enabling Mobile Apps with IBM Worklight Application Center, REDP-5005. 3. Click Add Application to start the process for deploying the openInsurance mobile client for Android to the App Center server (Figure 4-84). Figure 4-84 Current application list available
  • 94. 80 IBM MobileFirst Strategy Software Approach 4. Click the Upload button to browse for the location of the Android application archive (.apk file), as shown in Figure 4-85. Figure 4-85 IBM Application Center add an application 5. Browse the file system to locate the .apk file (Figure 4-86). By default, the Android client file is located under the {WORK_SPACE}/<projectName>/<appName>/android/native/bin/ directory with a naming convention of <ProjectName><AppName>Android.apk. The file name in this case is InsuranceProjOpenInsuranceAndroid.apk. Figure 4-86 Browse for openInsurance .apk file
  • 95. Chapter 4. Application of IBM Worklight in IBM MobileFirst 81 6. After selecting the application client file, it will be uploaded to the server. After the upload completes, you will see an uploaded confirmation message (Figure 4-87). Click Next. Figure 4-87 Upload application file
  • 96. 82 IBM MobileFirst Strategy Software Approach 7. You can provide additional relevant details about the application on the Application Details screen, such as Description or Recommended (Figure 4-88). Click Done when you are finished. Figure 4-88 Application Center add application details
  • 97. Chapter 4. Application of IBM Worklight in IBM MobileFirst 83 8. The application list now has the openInsurance client listed as an available app (Figure 4-89). Figure 4-89 Application Center application list 9. Click the unrestricted link under openInsurance to access the Access Control List (ACL) screen. 10.Select the Access control enabled check box to activate ACL, as seen in Figure 4-90. You can use this feature to control access for users or groups to be able to see and remotely install your app using their App Center mobile client. If this feature is not enabled, anyone who has authenticated access to the App Center server will be able to view and install your app. Figure 4-90 Application Center access control list
  • 98. 84 IBM MobileFirst Strategy Software Approach 11.Click the Applications link in the menu bar to return to the application list. You can see that the status value for Access control is now restricted, as seen in Figure 4-91. Figure 4-91 Access restricted for openInsurance 12.Click openInsurance to return to edit the application details page. Click the Reviews link to display the Application Feedback view (Figure 4-92). Figure 4-92 The openInsurance Application Feedback screen The App Center client and server provide a feedback mechanism for users to provide rating and comments and view them from the mobile client. On the server side, developers and administrators can review and manage the feedback as needed. 13.Click the Properties link above Reviews to return to the main application details window (Figure 4-93). Figure 4-93 Delete or remove application access
  • 99. Chapter 4. Application of IBM Worklight in IBM MobileFirst 85 After adding a mobile app to the App Center, you can select the Active check box for the application if you want users to be able to see and install the app or clear the check box if you prefer not to allow access. You can also delete the app from the repository. Doing this will remove all history of the app, including feedback statistics. Installing the Worklight Application Center mobile Client The App Center has a mobile client that is installed on a mobile device to access the server repository. The mobile client can be installed by accessing a mobile web page, called installers.html, from the server. This section assumes that you have followed the getting started guide to set up the Android development and created the AVD. 1. Using the AVD, open a mobile browser and enter the installers.html page in the address bar. In this example, the address is: http://192.168.14.1:9080/appcenterconsole/installers.html. Other installations can have varying address. 2. You will be prompted to authenticate, as seen in Figure 4-94. The default Name and Password is demo/demo. Figure 4-94 Installers mobile web page authentication
  • 100. 86 IBM MobileFirst Strategy Software Approach 3. After successfully authenticating, an installers list is displayed, as seen in Figure 4-95. Select the IBM App Center item to display the details for installation. . Figure 4-95 Mobile Installers application list 4. Click the Install button to start the download process of the IBM App Center mobile client (Figure 4-96). Figure 4-96 Application Center mobile client details
  • 101. Chapter 4. Application of IBM Worklight in IBM MobileFirst 87 5. This will initiate the download process to the AVD. Open the downloads  notification window to display the downloaded app. Click the IBMApplicationCenter.apk link to start the installation process (Figure 4-97). Figure 4-97 Mobile client download complete 6. Verify the permissions required for the mobile client, and then click Install (Figure 4-98). Figure 4-98 Android permission review for IBM App Center client
  • 102. 88 IBM MobileFirst Strategy Software Approach 7. After the installation is complete, click Open to start using the mobile client (Figure 4-99). Figure 4-99 Mobile client installation completed The installation of the mobile client is a one-time process to establish the client connection to the App Center server. After you have the client available, you can use it to obtain mobile apps from the App Center server, regardless if it was built using IBM Worklight. Using the mobile client to install mobile apps hosted on the App Center server Follow these steps: 1. In the login screen, enter the required connection information and authentication details to connect to the App Center server, and then click Log in (Figure 4-100 on page 89).
  • 103. Chapter 4. Application of IBM Worklight in IBM MobileFirst 89 Figure 4-100 App Center client connection details 2. After successful authentication the Catalog page is displayed, showing the list of mobile apps available to the authenticated user (Figure 4-101). Figure 4-101 Mobile applications available to user by mobile client The Access Control feature in the App Center server shown in Figure 4-90 on page 83 controls whether the user is able to access an active mobile app using this mobile client.
  • 104. 90 IBM MobileFirst Strategy Software Approach 3. Select the openInsurance item from the list to display the application details (Figure 4-102). Figure 4-102 The openInsurance details 4. Click Install when you are ready to start the over-the-air (OTA) installation process (Figure 4-103). Figure 4-103 Installing the openInsurance mobile application You can use the App Center to share and distribute your applications to other colleagues in your company, without needing to go through setting up file servers, distributing over email, or synchronizing with iTunes, as a few examples.
  • 105. Chapter 4. Application of IBM Worklight in IBM MobileFirst 91 Then, when you or your colleagues have the mobile client available, it can be used to obtain updates, obtain new apps, or provide feedback at your convenience, without having to be tied to a desktop or notebook computer. Using the mobile client to provide feedback Now that you have installed the openInsurance mobile application, test to see what has been implemented: 1. Locate the openInsurance item in your application list. Alternatively, you can also search for the application (Figure 4-104). Figure 4-104 Search for openInsurance 2. Tap on the openInsurance application to start it. You will see the splash screen open briefly (Figure 4-105). Figure 4-105 The openInsurance splash page
  • 106. 92 IBM MobileFirst Strategy Software Approach 3. After the splash screen passes, the login page will be displayed. The current state of the application does not have any authentication processing enabled, so you can enter any information or nothing at all, and then click LOGIN (Figure 4-106). Figure 4-106 The openInsurance login page 4. The home page is displayed with all of the formatting that was applied by the openInsurance.css style sheet (Figure 4-107). Figure 4-107 The openInsurance home page 5. The icons are nicely formatted. However, there has not been any functionality implemented. Click the Log Off button to return to the loginPage.
  • 107. Chapter 4. Application of IBM Worklight in IBM MobileFirst 93 A potential tester of your application can preview this application on their mobile device, and can provide feedback for improvement. The App Center mobile client provides this capability ready for use. Use the scenario that you are a reviewer/developer and have just reviewed your application. You want to make a quick change. You will use the feedback mechanism to let developers know (and remind yourself) of this. 6. Open the IBM App Center client on your device and log in with your credentials. 7. Select the openInsurance item in the Catalog list. Notice that there are currently no reviews yet for this application. Click Review Version 1.0 to open the Write a Review page for the application (Figure 4-108). Figure 4-108 View the details page for openInsurance
  • 108. 94 IBM MobileFirst Strategy Software Approach 8. Enter a comment and provide a star rating of your choice (in this example update login placeholder to Janedo85 please and three stars), and then hit the Submit Review button (Figure 4-109). Figure 4-109 Submit a review with rating and comment 9. After submitting the review, the Details page displays again. Note now that there has been a review, there is an option to View reviews. Click that item in the list to review the feedback just left (Figure 4-110). Figure 4-110 View reviews from the mobile client
  • 109. Chapter 4. Application of IBM Worklight in IBM MobileFirst 95 10.You can see the star rating, comments, and details, such as date and time of review and who created the feedback (Figure 4-111). Figure 4-111 Feedback details from the mobile client. 11.Open the App Center server console to review the feedback (Figure 4-112). Figure 4-112 Console feedback review
  • 110. 96 IBM MobileFirst Strategy Software Approach 4.4 Manage with IBM Worklight With an application built and deployed, the next stage is to use Worklight to perform management capabilities. 4.4.1 Management overview IBM MobileFirst has different management capabilities. For example, IBM Endpoint Manager for Mobile Devices takes care of Mobile Device Management, and IBM Worklight provides Mobile Application Management capabilities. This section focuses on the IBM Worklight management capability using the IBM Worklight Console. The details of this section do not exhaust the management activity available in the console, but addresses a few common scenarios. 4.4.2 Performing mobile management After a mobile app is deployed, it is necessary for the mobile application platform to be able to provide management capabilities. Mobile application management has different dimensions, including versioning, updates, and access control. These are just a few of the management functions that are provided by the Worklight platform. Deploying Worklight application resources using the Worklight Console After having spent a little time developing and testing openInsurance on a workstation, you, a developer for Insurance Company A, have decided to deploy to a remote instance of IBM Worklight Server for testing. 1. Open the remote Worklight Server Console. This example uses http://192.168.14.1:9080/worklight/console, but your installation might vary. Notice that the server currently does not have any applications deployed yet (Figure 4-113). Figure 4-113 Remote server Worklight Console 2. Click Choose File and browse to the {WORKSPACE}/InsuranceProj/bin directory and locate the .wlapp archives.
  • 111. Chapter 4. Application of IBM Worklight in IBM MobileFirst 97 3. Select the openInsurance-all.wlapp file, and then click Open (Figure 4-114). Figure 4-114 Browse openInsurance wlapp archive The .wlapp archive files contain the web resources for each of the environment folders. The openInsurance-all.wlapp archive contains resources for all of the environments on one archive, versus the other archives, which only contain resources for their respective environments (Figure 4-115). Figure 4-115 The openInsurance-all.wlapp archive selected
  • 112. 98 IBM MobileFirst Strategy Software Approach 4. Click the Submit button to deploy the wlapp archive to the Worklight Server. You can see a successful message displayed in the Worklight Console (Figure 4-116). Figure 4-116 The openInsurance-all.wlapp archive deployed using Worklight Console Worklight application version management The Worklight Console enables you to manage multiple versions of a particular environment for each application. In this example, you currently have version 1.0 of the openInsurance application deployed. You want to deploy a new version, 1.1. 1. Update the version number in the application-descriptor.xml file. Change the version of the iPhone and android environments to 1.1 (Figure 4-117). Figure 4-117 Change the version using application-descriptor.xml
  • 113. Chapter 4. Application of IBM Worklight in IBM MobileFirst 99 2. Save then build to update the server wlapp archive and client native project resources. Choose the Build For Remote option to point the client to a remote instance of the Worklight Server, different than the one in the local development workspace (Figure 4-118). Figure 4-118 Build For Remote Server 3. Enter the URL of the target remote Worklight Server, and its Context Path (Figure 4-119). In this example, these values are http://192.168.14.1:9080 and /worklight. Figure 4-119 Remote Worklight Server address 4. Deploy the updated wlapp archive by using the Worklight Console. Browse to the bin directory to select the openInsurance-all.wlapp archive file (Figure 4-120). Figure 4-120 Browse to select the wlapp archive for version 1.1 Notice that there are multiple environment versions available. When a new version is created, a new .wlapp archive will be created during the build process. The current version will be replaced in the openInsurance-all.wlapp file.
  • 114. 100 IBM MobileFirst Strategy Software Approach 5. Submit the selected .wlapp archive file to deploy the new updates to the server (Figure 4-121). Figure 4-121 Worklight Console deployed additional version of openInsurance 6. Use the Worklight Studio or Android SDK to build a corresponding version of the mobile client .apk to deploy to the App Center server for distribution as well (Figure 4-122). Figure 4-122 Android Tools export signed application package (apk)
  • 115. Chapter 4. Application of IBM Worklight in IBM MobileFirst 101 7. Save the .apk file to a location of your choice. In this example, the file is saved to the project bin directory (Figure 4-123). Figure 4-123 Save version 1.1 .apk to project bin directory 8. Access the IBM App Center server console to upload the openInsurance Version 1.1 mobile client .apk file (Figure 4-124). Figure 4-124 Add the export openInsurance version 1.1 apk file
  • 116. 102 IBM MobileFirst Strategy Software Approach 9. Click the Next button to review the Application Details information page. Add any description of your choice (Figure 4-125). Figure 4-125 Add description to version 1.1 10.Click Done to complete deploying the version 1.1 mobile client .apk file. Notice that the latest added version information is displayed (Figure 4-126). Figure 4-126 openInsurance multiple versions available 11.Click the downward pointing arrows to reveal the other available version (Figure 4-127). Figure 4-127 Display multiple version details Obtaining a new version using the mobile client Follow these steps: 1. Open and log in to the IBM App Center mobile client to see the catalog of available applications. You can see that openInsurance shows version 1.1 with no rating information.
  • 117. Chapter 4. Application of IBM Worklight in IBM MobileFirst 103 2. Click the openInsurance list item to show the Details page (Figure 4-128). Figure 4-128 Application catalog 3. Click the Select version list item to open the Versions page (Figure 4-129). Figure 4-129 Application details
  • 118. 104 IBM MobileFirst Strategy Software Approach 4. You can see what version you have currently installed on your device and what version is available for installation. Because version 1.1 is already selected, return to the Versions page and click the Update button to start downloading (Figure 4-130). Figure 4-130 Select version to switch to 5. Click the Install button to start the update process for your application (Figure 4-131). Figure 4-131 Device access permissions
  • 119. Chapter 4. Application of IBM Worklight in IBM MobileFirst 105 6. Click Open to run the updated application (Figure 4-132). Figure 4-132 New version installed 7. You are now running the newly updated openInsurance Version 1.1 on your mobile device (Figure 4-133). Figure 4-133 Running openInsurance Version 1.1
  • 120. 106 IBM MobileFirst Strategy Software Approach Updating Worklight application resources using the Worklight Console After deploying the new client and server-side resources, you inform your users/testers to start using the application. You then realized that you received a quantity of feedback for a simple change in version 1.0, as shown in Figure 4-112 on page 95. You decide to implement and deploy the change using the Direct Update feature of IBM Worklight. This feature enables you to make changes to your web code and deploy the change directly to the Worklight Server using the wlapp archives. When your user employs the application client, the Worklight framework retrieves the changes to the device and updates the application client. 1. Make the changes to the HTML source code using Worklight Studio (Figure 4-134). Figure 4-134 Update the user id placeholder text 2. Build and deploy the changes to produce the updated copies of the wlapp archives. 3. Deploy the wlapp archive using the Worklight Console (Figure 4-135). Make sure that you keep the version number the same. In this case, Version 1.1 will have the changes applied to the source, and then deployed to the server, without having to deploy a new version of the client. Figure 4-135 Browse for the wlapp archive to deploy
  • 121. Chapter 4. Application of IBM Worklight in IBM MobileFirst 107 4. Click the Submit button to deploy the updated openInsurance-all.wlapp archive. Make note of the last updated time stamp (Figure 4-136). Figure 4-136 Verify and submit application update 5. After successful deployment, the time stamp will be updated as well (Figure 4-137). Figure 4-137 Application has been updated
  • 122. 108 IBM MobileFirst Strategy Software Approach 6. The next time your users attempt to use Version 1.1 of openInsurance, they will get a dialog box warning that an update is now available. The only choice is to acknowledge and accept the update (Figure 4-138). Figure 4-138 The application receives notification of update 7. After the update is downloaded, the application will reload. You can see that the change to the user id placeholder text has been implemented (Figure 4-139). Figure 4-139 The placeholder text has been updated
  • 123. Chapter 4. Application of IBM Worklight in IBM MobileFirst 109 You can optionally override the default prompting behavior by setting the updateSilently property to true in the initOptions.js located under the openInsurance/common/js folder. If this property is set, when there is an update to be applied the user experiences a temporary pause while the new content is downloaded and the application reloads. Notifying users using the Worklight Console Now that you have openInsurance Version 1.1 available with the latest updates applied, it is time that you let your users know so that they can update accordingly. 1. Open the Worklight Console, locate the Android Version 1.0 drop-down. Note that the current display is Active. Click the drop-down and select Active, Notifying (Figure 4-140). Figure 4-140 Set application version status to Active, Notifying 2. Enter a message that you want to notify all of the users of your app (in this example, Version 1.1 is available, please update your client), and then click Save (Figure 4-141). Figure 4-141 Set Service Notification message
  • 124. 110 IBM MobileFirst Strategy Software Approach 3. You will see a message on the top of the Worklight Console heading displaying Notification rule was set for application openInsurance version 1.0 in Android. (Figure 4-142). Figure 4-142 Notification message saved 4. Click the Enter messages for multiple languages link under the message box (Figure 4-143). This will display a dialog box that enables you to add locale support to display the notification messages in multiple languages. Figure 4-143 Add optional locale support for Service Notification message
  • 125. Chapter 4. Application of IBM Worklight in IBM MobileFirst 111 5. The next time your user opens the app on either their device or an emulator, a Service Notification message will display with the message that you entered (Figure 4-144). Figure 4-144 Application receives Service Notification message from Worklight Console 6. The user can click the Close button and continue to use the application. Disabling access using the Worklight Console When you have done enough validation (the testing required to ensure that your new version is fully functional and you are ready to discontinue the previous versions), you can force your users to move off an existing version by disabling access to it from the Worklight Server Console. 1. In the Worklight Console, go to the Version 1.0 status drop-down list and select Disabled (Figure 4-145). Figure 4-145 Set application version status to Disabled Service notification: This message will be seen only once, because the framework recognizes that the client has already received this and suppresses it for future connection. If you change the message, the client will receive the updated message.
  • 126. 112 IBM MobileFirst Strategy Software Approach 2. Update your message to indicate that this version of the application is no longer available. Enter a URL to direct users to get the latest version of your application on a public or private app store or mobile device management application. In this example, you do not have a specific URL to use, so enter something simple, such as m.ibm.com (Figure 4-146). Figure 4-146 Setting remote disable message and redirect url 3. When users return to the application, it will show as disabled, with an option to download the latest version (Figure 4-147). Figure 4-147 Remote disable dialog box from the client 4.5 Securing with IBM Worklight When talking about securing in the context of IBM Worklight, there are several different dimensions, including but not limited to the following list: Securing the connectivity of the mobile app and devices to the enterprise Securing access to a protected resource, such as the Worklight Console Securing the application resources on the mobile device and the Worklight Server For more information about security with IBM Worklight, see the IBM Redbooks publication Securing Your Mobile Business with IBM Worklight, SG24-8179.
  • 127. Chapter 4. Application of IBM Worklight in IBM MobileFirst 113 This section focuses on a simple scenario relating to protecting access to the mobile insurance application that Insurance Company A is building, openInsurance. Using the existing SimpleAdapter to simulate a backend authentication service, you will implement a simple authentication process that will simulate credential validation and protection of access to the mobile application. 4.5.1 Add an authentication procedure Follow these steps: 1. Open the SimpleAdapter.xml descriptor file and add a procedure name, submitAuthentication, and optional description (Figure 4-148). Figure 4-148 Add submitAuthenication procedure to SimpleAdapter 2. In SimpleAdapter-impl.js, add the following implementation (Example 4-10). This function simulates a backend authentication service to validate the username and password that will be sent from the client application, specifically the loginPage. Example 4-10 Adapter procedure simulating backend authentication service function submitAuthentication(username, password){ if (username==="worklight" && password === "worklight"){ return { data: "Login Success!!", login: "success" }; } return { data: "Invalid login credentials", login: "failed" }; }
  • 128. 114 IBM MobileFirst Strategy Software Approach 3. Test the adapter procedure functionality by using Invoke Worklight Procedure (Figure 4-149). Enter the expected value for username and password into the Parameters box, and then click the Run button. Figure 4-149 Test submitAuthentication using expected credential parameters 4. You can see the resulting data property value is Login Success!! and the login property value is success (Example 4-11). Example 4-11 Worklight Server response for correct credential { "data": "Login Success!!", "isSuccessful": true, "login": "success" } 5. Try to enter a few invalid credential parameters and test the procedure again. You can see that the adapter procedure will present a different result based on the implementation that you provided earlier (Example 4-12). Example 4-12 Worklight Server response for incorrect credential { "data": "Invalid login credentials", "isSuccessful": true, "login": "failed" } You will use these responses to implement the client-side authentication logic. 6. Create a function to collect the input values of the text boxes used in the loginPage so that they can be passed as parameters to the backend (Example 4-13). Example 4-13 Collect user and password parameters function doLogin(){ WL.Logger.debug("doLogin .."); var user = $("#txtUser").val(); var password = $("#txtPass").val(); login(user,password); }
  • 129. Chapter 4. Application of IBM Worklight in IBM MobileFirst 115 You can see that the user and password variables are passed to a login() function as arguments. 7. Add a login() function. Use the Worklight client API to start the submitAuthentication procedure, passing in the required parameters collected from the loginPage, as shown in Example 4-14. Example 4-14 Add login() function to start the submitAuthentication adapter procedure function login(user, password){ WL.Logger.debug("in login()...."); var invocationData = { Adapter : 'SimpleAdapter', procedure : 'submitAuthentication', parameters : [user,password] }; WL.Client.invokeProcedure(invocationData,{ onSuccess : loginSuccess, onFailure : loginFailure }); As seen in Example 4-10 on page 113, there will be an expected response from the Worklight Server based on the credentials provided with the client invocation. 8. Implement the Success and Failure callbacks for the client invocation (Example 4-15). Example 4-15 Client invokeProcedure callback implementation function loginSuccess(response){ WL.Logger.debug("login >> loginSuccess"); if (response.invocationResult.login == "failed"){ WL.Logger.debug("Invalid credential"); alert(JSON.stringify(response.invocationResult.data)); } else { WL.Logger.debug(JSON.stringify(response.invocationResult.data)); $.mobile.changePage("#homePage", {transition: "flip"}); } } function loginFailure(msg){ alert(msg); } The implementation shown in Example 4-15 entails that if invalid credentials are provided, the user will get a window with the message from the server in the data property. However, if valid credentials are provided, you will log the message from the server and call the changePage() to go to the homePage.
  • 130. 116 IBM MobileFirst Strategy Software Approach 4.5.2 Change the default login behavior Currently, the loginBtn is bound to a function that will change the page to homePage after a click event. You will modify this: 1. Add a comment block to the loginBtn function to remove this behavior (Example 4-16). Example 4-16 Comment out the on click bind of the loginBtn element /*$("#loginBtn").on("click",function(){ $(this).trigger("blur"); setTimeout(function(){ $.mobile.changePage("#homePage", {transition: "flip"}); }, 350); });*/ With this comment block enabled, when you click the loginBtn, after building and deploying this change, the changePage() function will not be triggered. 2. Open the openInsurance.html file, locate the loginBtn element, and add an onclick property to start the doLogin(); function. You can do this using the source code editor or the properties view panel (Example 4-17). Example 4-17 Add onclick property to loginBtn element <div class="ui-block-b"> <a href="#" data-role="button" id="loginBtn" data-corners="false" onclick="doLogin();">Login</a> <a href="#" id="registerLnk">Register</a> &nbsp;|&nbsp; <a href="#" id="forgotLnk">Forgot Password</a> </div> This change will call the doLogin() function to collect the credentials and pass them to the login() function, which will in turn call the submitAuthentication() procedure that will validate the supplied credentials. 3. Save the files, build all, and deploy the changes. Then, test using the common web preview (Figure 4-150). Figure 4-150 Testing login using bad credentials
  • 131. Chapter 4. Application of IBM Worklight in IBM MobileFirst 117 The results of the test using invalid credentials are shown in Figure 4-151. Figure 4-151 Result from invalid credential test The results of a test using valid credentials are shown in Figure 4-152. Figure 4-152 Result for valid credentials
  • 132. 118 IBM MobileFirst Strategy Software Approach
  • 133. © Copyright IBM Corp. 2014. All rights reserved. 119 Chapter 5. IBM MobileFirst Quality Management overview Quality management and testing solutions from IBM help organizations achieve consistency, efficiency, and predictability, with software quality that meets objectives and testing strategies that validate and verify applications for any platform and test type. IBM test automation capabilities enable agile software delivery and eliminate testing bottlenecks. This is especially helpful for clients challenged by the increasing cost of quality associated with developing and maintaining composite applications, with integrations across traditional and more modern technologies (enterprise, distributed, and cloud). This chapter contains the following sections: Description of quality management IBM Rational software in IBM MobileFirst Business benefits System overview Mobile application testing Components IBM Mobile Quality Assurance on the cloud 5
  • 134. 120 IBM MobileFirst Strategy Software Approach 5.1 Description of quality management For a business, the quality of any mobile application (app) that is produced is critical. Not just because of the business effect that can occur if your mobile app malfunctions and fails to support the transactions that you expect, but also because these mobile apps are the new face of your business, your new digital front lobby. The impression that a user gets from your mobile app is the impression that they will form of your company as a whole. Therefore, the quality of design for your mobile app is just as important as the functional quality aspects. If the app is not at least satisfying to use, if not delightful, your target customer has choices. There are thousands of apps competing in the app store, so they can easily drop your app and go to another. If that happens, your goals of establishing a strong and lasting relationship with that customer are lost, possibly forever. Mobile apps need to be tested thoroughly to ensure functional and user experience quality. 5.1.1 Mobile testing challenges When you look at what is in front of mobile testers, you can see that there are many challenges. One of the first things you realize is the sheer magnitude of the device space and the associated test configuration matrix. You have multiple different vendors (iOS, Android, BlackBerry, and Windows Phone). In addition, historically, you cannot assume that one vendor is going to stay on top, so you must have a test and a test tool strategy that is flexible and adaptable. Compound multiple platforms with the fragmentation on certain platforms. With Android, there are over 100 different screen resolutions, and several prominent (and in a few cases, old) platform versions – 2.2, 2.3.x, and 4.0.x are widespread, and 2.1 and 4.1 have non-trivial usage as well. The iOS platform is a bit better at forcing the progression of OS versions, but you still have several that are in widespread use. Also, to top it all off, the market keeps introducing new devices at an incredible pace. Last year alone, there were over 300 new devices introduced on the market. All of those devices have a wide array of capabilities. New features are being added to mobile devices frequently. You all know about the cameras and GPS that feature on all recent mobile devices. But now near field communication (NFC) for mobile wallet features are in many new devices. Some devices include tactile feedback enhancements that your app might benefit by using. In addition, voice interaction is becoming a frequently used mobile app feature. So, there are astounding arrays of new aspects of mobile apps that pose a daunting challenge for mobile app testing and validation. However, we do not want to make it sound as if nothing from previous generations of software quality assurance is relevant in the mobile space: Mobile testing still needs to be well organized and managed. Being able to isolate component parts of the app for focused testing still provides value. The principles of good test case design and test optimization still apply to mobile.
  • 135. Chapter 5. IBM MobileFirst Quality Management overview 121 Of course, do not forget the overall significance of user experience and user experience testing. Mobile users are so much more demanding of the overall look, feel, and operation of mobile apps. They will not hesitate to switch to a competitor’s application if they are not completely satisfied with yours. Therefore, keeping a keen focus on the overall user experience in the app, and having a focused set of user experience test cases, is critical. 5.2 IBM Rational software in IBM MobileFirst The computing industry is undergoing fundamental changes that will position mobile devices as the primary solution for personal computing and Internet access. As a result of this generational shift in the IT industry, you are witnessing an explosion in the number of mobile apps, the creation of which follows the common software development lifecycle. Application lifecycle management (ALM) solutions, with collaborative capabilities, help align the development and delivery of mobile apps with business objectives, within budget and time constraints, while meeting customer needs. The combined Worklight Studio plus Rational mobile development tools, integrated with Rational Collaborative Lifecycle Management, offer the most comprehensive, end-to-end development solutions for mobile apps in the market today. IBM Rational mobile app development solutions provide the capability to build enterprise mobile applications that have the following capabilities: Run on multiple mobile devices. Connect to enterprise back-end applications and information systems. Fulfill fast time-to-market requirements, and can be rapidly updated with new releases. Deliver a high-quality user experience. 5.3 Business benefits IBM Rational software assures quality of deliverable in the agile mobile enterprise. The Rational family of products helps you accomplish the following tasks: Manage and run automated quality assurance and field testing. Aggregate and analyze user feedback. Streamline quality feedback to business and IT. Benchmark the quality of mobile apps over time. Improve mobile app quality with holistic visibility into user experience, including bugs, crashes, feedback, and user sentiments. Minimize risks associated with poor user feedback through rapid assessment of issues and reduced cycle time. 5.4 System overview As you think of the challenges of mobile testing, you need to remember to think about the entirety of the mobile solution (Figure 5-1 on page 122). Most of the time, when people think about mobile apps, they think only of the code that runs on the mobile device. However, there is much more to a mobile app.
  • 136. 122 IBM MobileFirst Strategy Software Approach In almost all cases, enterprises have existing systems to which they are connecting their mobile apps. These can be middle-tier systems running web application servers, supporting Java Platform, Enterprise Edition (Java EE) applications, web services, or newer Representational State Transfer (REST) services. Alternatively, they can be enterprise systems running on IBM Power Systems, or IBM z/OS® systems running CICS transactions or batch operations. Figure 5-1 illustrates the need to test your system end-to-end. Figure 5-1 System overview In all of these cases, the enterprise has invested significant time and money into creating these systems, and they want to use them as they expand out into the mobile marketplace. Therefore, the mobile apps that they are producing will be interacting with them. It can be a real challenge, in terms of cost and complexity, to have those other systems and services available and running all of the time, just for testing purposes. A glitch in a back-office enterprise service could cause your team to waste hours on troubleshooting the mobile app code when that was not the problem at all. Another problem that can be a factor is that sometimes those other services that you want to have your test mobile app interact with come with a usage charge, so it is truly costing you to run the mobile app tests. 5.4.1 Block overview Rational Test Workbench acts as middleware by interacting with IBM Worklight server and the business applications hosted on it, as shown in Figure 5-2 on page 123. As you have seen, there is much that makes up a mobile app. In addition, there are many things that mobile testers need to take into account. As this section goes through the capabilities that mobile testers need, we are going to describe a few areas that are common in more traditional testing, such as test management and manual testing, but you will notice that even those are affected by the nature of mobile testing. Middle Tier ServerClient Tier Devices Back-end Data & Services Testing involves much more than just the mobile front-end Testing the end-to-end mobile solution
  • 137. Chapter 5. IBM MobileFirst Quality Management overview 123 Figure 5-2 Block Overview We will address other areas that are unique to mobile testing (mobile UI automation and device access), and a few that really rise to prominence with mobile testing (security testing and service virtualization). 5.5 Mobile application testing The different aspects of mobile application testing are shown in Figure 5-3. Figure 5-3 Aspects of mobile testing What do mobile testers need?
  • 138. 124 IBM MobileFirst Strategy Software Approach 5.5.1 Test management Even the smallest mobile app will require many test cases to be ran to get good coverage and validation. As you build up these mobile test cases, you will eventually need to organize them into suites of tests. Ideally, you associate the suites or sets of test cases with a certain feature of the mobile app. The test suite should be linked to an application requirement, and to the code changes that delivered that feature. This is why integration between the tests and the rest of the application development lifecycle is so important. That integration between the tests (and their execution records) and everything else that occurred earlier in the development cycle, is what enables a complete picture to unfold of the status of the mobile app being developed. Test management capabilities enable you to have reports that aggregate the test results into a high-level view. Furthermore, it is common to have some kind of master dashboard that displays all of this information for the whole team to see and understand. As you will see, mobile testers have many tools in their arsenal. In much the same way that you want your test management system to integrate with the rest of your lifecycle tools, you need your test management system to integrate with the variety of mobile test tools that you will be using. In particular, the ability to manage the definition and execution of coordinated suites of test cases across the various test disciplines, and to be able to see the results of these in the consolidated views, reports, and dashboards. 5.5.2 Manual testing Another area that testers have familiarity with is manual testing. You sit in front of your computer (or in this case mobile device) and type, poke, pinch, turn, and otherwise interact with your device. If this sounds familiar to you, you are not alone. Manual testing is still, by far, the most common means for testing in general, and for testing mobile apps in particular. There are many reasons for this: it is simple, intuitive, and requires little up-front investment. Beyond that, there are certain types of tests and interactions that are difficult or impossible to accomplish otherwise. Certain specific capabilities can be difficult to get at. For example, think about calibrating the compass on an iOS device. Even some simple things, such as orientation, can be difficult to deal with without significant investment. In addition, there is the whole area of user experience testing, which is, almost by definition, a manual process. You need to feel the device in your hand, and directly manipulate the application to get a full appreciation for the user experience of interacting with the mobile application. So, given that you are going to be performing manual testing, you want to be able to link those tests back into your test management system. You want to be able to record or document the manual test for playback by other team members, so that they become full-fledged contributors with the rest of your test cases, where they will get rolled up into the overall test metrics. One of the interesting twists on manual testing that has become more prevalent recently is the concept of crowd-sourcing the testing of the mobile app. In this arrangement, you actually outsource the testing to an organization that maintains a group of mobile app testers, who are analogous to just-in-time manual testers-for-hire. Your development team cranks out the latest build of the mobile app and uploads it to an app store (perhaps your private enterprise app store), and this crowd of testers gets notified, downloads the new build, and starts using it.
  • 139. Chapter 5. IBM MobileFirst Quality Management overview 125 Your organization can save some money with this approach, plus you get better variability of testing with the wider variety of testers than you could afford to hire directly. With crowd-sourced mobile app testing, it is even more important to have a good test management solution that can deal with the large number of testers, and coordinate all of their input effectively. This type of crowd source testing is performed internally at many companies. In essence, you gather together your set of internal stakeholders, with devices in hand. You distribute your manual test cases to them (which is where it is really useful to have this all integrated with your test management system), and everyone proceeds through the documented scenarios. Everyone gets to hear and experience what the others are doing, and it really helps drive home the current state of your mobile application. You learn what works well, and where people are struggling. Again, with appropriate integration into your test management system, the results are readily accessible when the testing is complete. 5.5.3 Service virtualization Service virtualization is one of the areas that is common to traditional testing, yet which increases in value in the mobile world. Service virtualization enables you to emulate (or virtualize) the service interfaces of another part of the system. As an example, assume that there is a web service in the middle tier that will be started by your mobile app. Service virtualization enables you to emulate that service running on the middle-tier, without that middle-tier system having to be up and running. You can create this service virtualization by either recording a canonical session between the mobile client and the service, or by crafting the virtualization by hand. But, why would you want to virtualize services in the first place? To begin with, it enables you to isolate the systems from one another. In the mobile scenario, it enables you to isolate the mobile front-end from the middle-tier system in question. Doing so enables you to focus your attention on the capabilities and functional correctness of the front-end, without having to worry about interactions with the rest of the system. At the same time, because you are using a simulation layer, you have more control over how that virtualized service responds. Therefore, you can control things, such as the latency of the response and the overall transaction rate. Even more importantly, you can readily create the various corner cases and error conditions that can be difficult to construct when using real systems. Rather than spending time and energy figuring out how to contort the system behind the scenes into the wanted state, you can plug the wanted values straight into the service virtualization tool. This gets back to savings in your testing budget. A common combination is the “Mobile + Cloud” architecture, where the services for your mobile app are hosted in the cloud for scalability and flexibility of service delivery. Those services are costing you real money to keep running. With service virtualization, you can totally remove that cost from your testing budget until the application is ready for final system verification involving the whole end-to-end solution.
  • 140. 126 IBM MobileFirst Strategy Software Approach 5.5.4 Security testing Security is certainly a concern for enterprises that are producing mobile business apps. Software security is a multi-dimensional issue, and must be present across the entire chain of interactions involved in the multitier mobile app ecosystem. Software data security is only as strong as the weakest link in that chain. For instance, if you do not use strong encryption on the data that the mobile app transfers across the public cellular data network, nothing else that you do for other parts of the app is going to matter much. One aspect of testing for security is actually analyzing the code for the app to ensure that no vulnerabilities have been inadvertently embedded into the source code by your developers. It might not be intentional, but there are so many ways in which the code for an application can be used that it is nearly impossible for a programmer to know for certain that they have not left a door open somewhere in the application unbeknown to them. One way to address this is to use testing tools that can decompose the mobile app code and use advanced techniques, such as data-flow analysis, to locate vulnerable pieces of the app and point them out. You should apply this vulnerability detection testing against all tiers of the mobile app, including the code on the device and the code running on the servers. 5.5.5 Device access We have covered much about the various tools and techniques that you need as a mobile tester, but one of the most critical things people are going to need is access to the devices upon which to test. As mentioned in 5.1.1, “Mobile testing challenges” on page 120, there are multiple devices from which to pick, and the selection is not getting any smaller. Clearly, you will be looking to find the correct set of devices based on your anticipated user profiles. However, the following list includes some of the not-so-obvious things that you should be considering when you think of your pool of devices as a whole: How are you going to access the devices? In particular, will you be accessing them directly, that is to say with device in-hand? If so, how are you planning to handle teams in other locations? Are you buying duplicate devices? Are you splitting the set of devices across locations? However, what if there were a way that you could access the devices remotely, with most of the convenience and capability as though they were in-hand? How will you share these devices across multiple mobile teams? Even if you are an isolated group now, mobile is growing so rapidly that you will soon be surrounded by mobile test teams, with that same hunger for devices. Will you buy duplicate devices for each team, or will you look for them to share? Even if they are geographically co-located, how are you going to manage reservation of the device, and clean-up between users? So, what if you could easily share devices across teams, manage reservations across the teams, and ensure that they were in a known good state before hand-off? These kinds of concerns are what has given rise to mobile test solutions known as device clouds. The idea is similar to traditional test clouds, with the exception that the resources that make up the elastic cloud are mobile devices rather than traditional computers. Your testers can push the application-under-test out to any number of remote mobile devices, and manually run through the tests for the app just as though they were holding the device directly in their hand.
  • 141. Chapter 5. IBM MobileFirst Quality Management overview 127 You can also run automated testing against your mobile app running on dozens of different devices, mobile operating systems, and form factors. Then, when you are done with your tests, you return whatever devices you used to the pool of available resources in the device cloud, and they can be reused for other testing. Some of the things that are advantageous with this approach are that you do not have to constantly be chasing the entire mobile device market, worrying about buying the latest phone that has come onto the market, and getting it set up so that your testers can use it. That is the job of these device cloud vendors, and they are quite skilled at accomplishing it because they do it every day. This saves you a lot of headaches, and it saves you a lot of money. Because you pay only for the mobile devices that you actually use, when you use them, and you do not have to deal with disposing of those devices either. 5.5.6 Performance testing Traditionally, performance testing seemed straightforward. You have systems or services, and you have users, and you needed to understand the behavior of those systems in response to increasing user load. But this is another area where mobile has really broadened the horizon. However, you still need to validate the capacity of your middle-tier and back-end systems. In fact, this is even more significant with the rise of mobile. You are starting to see reports of increasingly high demand being driven by the overall increase of mobile devices, and the anyplace/anytime interactions that they support. A large supermarket chain added a new coupon capability to its mobile app. It was so popular that it was driving on the order of 100,000 transactions, and the back-end systems collapsed under the load. So, in the world of mobile, you must be ready to test against new user access patterns that stray from those of traditional desktop applications. In addition, because mobile apps include a significant amount of code that runs on the mobile device, there can be performance issues with that too, regardless of the performance of the server portion of the application. This is especially true if the mobile app is storing and accessing a lot of data, perhaps encrypted (or maybe linking to another mobile app and dependent on it for a certain function), then there can be lags and timing issues with the user experience that will negatively affect your user’s satisfaction with the app. In fact, sometimes it can be the network that causes problems for your app. So, a test tool that can simulate network behavior is a valuable testing capability, especially when considering the variability of cellular data network performance. 5.5.7 Mobile user interface automation A key element of mobile testing is related to automating the user interaction with the app, so that testing can be done without requiring a human being to always be tapping, swiping, and pinching the phone. We call this aspect of mobile testing user interface automation (UI automation), and it is one thing that is quite specific to mobile apps. For years (decades) there has been UI automation for other kinds of software. So it is only natural to expect the same concept to apply to mobile apps. But the problem is that mobile apps are different. There are all of these different incompatible mobile operating systems, and a wide variety of form factors that affect the user interface.
  • 142. 128 IBM MobileFirst Strategy Software Approach You might write the automation for a test case to be run on one kind of mobile device, but will that same automation script work against the app on a different device? What is needed is a UI automation solution that is device-agnostic, so that you can reuse the automation across all of the target devices that the app needs to support. One approach that various vendors have taken is to embed code into the mobile app that acts as an internal observer and captures all of the user interaction with the app when a tester manually steps through a test case. This captured user interaction data is then stored away as a replayable automation script that can be run against the app later (similar to a robot that can redo what the original tester did to the app). Some vendors are able to run their automated user interaction scripts against different mobile devices than were used to capture (or record) the script. Another common approach to mobile UI automation is optical (or image-based) recognition. Essentially, the software captures the images on the phone and is performing comparisons of previously captured images. Usually, there is a certain level of intelligence to allow for slight image drift and other things that would typically fall in the margin of error. Furthermore, many tools also provide optical character recognition so that you can ask for specific pieces of text to be found in the on-screen images. This type of tooling can be particularly handy in cases where you are unable to instrument the application (for example, the vendor apps that come packaged with the phone). So, both instrumented and optical approaches to mobile UI automation have their place.
  • 143. Chapter 5. IBM MobileFirst Quality Management overview 129 5.6 Components This section describes the IBM products, and the deployment of those products, that enable clients to gain the benefit of a comprehensive mobile testing system. 5.6.1 Rational Quality Manager IBM Rational Quality Manager (Figure 5-4) is a collaborative hub for business-driven software and systems quality across virtually any platform and type of testing. This software helps teams share information seamlessly, use automation to accelerate project schedules, and report on metrics for informed release decisions. Figure 5-4 Rational Quality Manager Rational Quality Manager helps quality assurance teams with the following functions: Collaborate Share project information and status updates seamlessly, so that team members can synchronize teamwork throughout the lifecycle. Automate Reduce labor-intensive activities to accelerate project schedules. Govern Understand and report on project metrics to enable accurate, reliable, and timely release decisions.
  • 144. 130 IBM MobileFirst Strategy Software Approach 5.6.2 Rational Test Workbench Rational Test Workbench (Figure 5-5) provides a comprehensive test automation solution for mobile applications, regression testing, integration technologies and performance and scalability testing. It helps you build intelligent and interconnected enterprise applications that can be deployed on traditional and cloud infrastructures. With Rational Test Workbench, you can significantly reduce test cycle times, moving integration testing earlier in the development lifecycle. Figure 5-5 Rational Test Workbench Rational Test Workbench delivers test automation for all types of applications, including mobile using physical device or mobile emulator. It also: Simplifies test creation with storyboard testing and code-free test authoring. Enables you to quickly develop complex performance test scenarios with script-less, visual, performance test and workload models. Provides earlier, end-to-end continuous integration testing throughout hardware, software and cloud-based dependencies. Emulates workloads accurately so you can create a server workload that represents realistic user scenarios. Is extensible and supports standards and protocols to help you meet the challenges of your testing environment. 5.6.3 Rational Integration Tester and Rational Test Virtualization Server The Rational Integration Tester component (based on Green Hat technology) provides service virtualization capabilities, and extends performance testing to a whole host of new protocols.
  • 145. Chapter 5. IBM MobileFirst Quality Management overview 131 Rational Test Virtualization Server (Figure 5-6) enables the deployment of virtualized services, software, and applications for simplified, efficient testing. It accelerates the delivery of complex test environments, and enables you to complete integration testing earlier and more frequently in the development cycle. Figure 5-6 Rational Test Virtualization Server Rational Test Virtualization Server helps you eliminate application test dependencies, reduce setup time, and reduce infrastructure costs: Simulate real system behavior to accelerate software development and testing. Update, reuse, and share virtualized test environments to gain efficiency and keep pace with changes in the underlying systems and data. Benefit from integration with other tools to improve performance and quality management. 5.7 IBM Mobile Quality Assurance on the cloud IBM offers software as a service (SaaS) designed specifically to help organizations adopt a mobile first, user-centric view of mobile app quality. IBM Mobile Quality Assurance provides line-of-business professionals and development teams with insightful and streamlined quality feedback and metrics from both pre-production and production, enabling them to prioritize and take action to support a dynamic mobile app strategy (see Figure 5-7 on page 132). IBM Mobile Quality Assurance provides insightful metrics and feedback to help developers and business professionals rapidly improve app quality and user experience throughout the development lifecycle. You can prioritize and take action on data from testers around the globe, from apps running on a diverse array of platforms. Both better and faster quality feedback from field testing in pre-production, and aggregated and easily understood crash logs in live-user production environments, enable developers to gain a user-centric view of their mobile app quality. They can then perform evidence-based prioritization, so that they can focus on fixing what delivers the most value to users, and improve user experience.
  • 146. 132 IBM MobileFirst Strategy Software Approach IBM Mobile Quality Assurance also gives insight into what are the hardest issues to address, before they result in costly scrap, rework, and technical debt. Fixing those issues early will improve the overall economics of mobile software development, and support your mobile development strategies (Figure 5-7). Figure 5-7 IBM Mobile Quality Assurance capabilities IBM Mobile Quality Assurance is a key offering for DevOps in the context of mobile, delivering the following new capabilities: 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 the latest and greatest builds, and submit bug reports with screen captures and device details in less than a minute with no hassles. In-app crash reporting Immediately know what is causing most crashes. These capabilities will substantially improve the quality of the mobile app, and also reduce the risks associated with poor user feedback through rapid assessment of issues and reduced cycle time. The IBM Mobile Quality Assurance offering can be evaluated online at the following website: http://www.quality4mobile.com/
  • 147. © Copyright IBM Corp. 2014. All rights reserved. 133 Chapter 6. Application of Rational Test Workbench in IBM MobileFirst This chapter describes the process of using Rational Test Workbench for quality testing the mobile solution in an enterprise. This chapter illustrates testing a scenario based on the Insurance Company A scenario described in Chapter 2, “Business scenario used in this book” on page 15. The process of recording a test case, running a test case, and evaluating the results of the test case is described in this chapter, including the sample application (app). This chapter provides information about the following topics: Record a test case with Rational Test Workbench Edit a test case with Rational Test Workbench Run a test case with Rational Test Workbench Analyze a test report with Rational Test Workbench 6
  • 148. 134 IBM MobileFirst Strategy Software Approach 6.1 Record a test case with Rational Test Workbench Rational Test Workbench Version 8.5 and later delivers end-to-end functional, regression, load, and integration testing to address the quality challenges of highly complex and integrated applications. The offering includes the following installable components: IBM Rational Test Workbench Eclipse client IBM Rational Integration Tester IBM Rational Integration Tester Platform Pack IBM Rational Test Control Panel IBM Rational Performance Tester IBM Rational Functional Tester For mobile testing, the following components are required: IBM Rational Test Workbench Eclipse client (on desktop) Rational Test Workbench Mobile client (on a mobile device) The Recording process is orchestrated to give a high-level view of the procedures involved in testing the solution, as shown in Figure 6-1. Figure 6-1 Procedures This section describes the following procedures: Set up your mobile test environment Add a mobile device Prepare your mobile application for testing Create a new project Record a test
  • 149. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 135 6.1.1 Set up your mobile test environment To set up your mobile test environment, follow these steps: 1. Install Rational Test Workbench and ensure that Rational Test Workbench Eclipse Client and Rational Test Workbench Extension for Mobile are selected. 2. Install the Android software development kit (SDK) on the same computer that Rational Test Workbench Eclipse Client is installed on. You do not need to install the full Android Developer Tools (ADT) bundle, but be sure to install Android SDK Tools, Android SDK Platform-tools, and Android SDK Build-tools, if these are not already installed. 3. Run the SDK manager at least once before running Rational Test Workbench Eclipse Client to get the application programming interface (API)-level components. 4. Set the preferences in the mobile app builder path so that they point to the directory where the Android SDK is installed. 6.1.2 Add a mobile device A mobile device needs to be added to Rational Test Workbench by following these steps to capture test cases: 1. Ensure that your mobile device is connected to PC over a network. 2. Click Display available mobile devices (Figure 6-2). Figure 6-2 Display available mobile devices 3. Click Add device to list. Oracle Java Development Kit: Running the Android SDK Manager and using the Android emulators requires the Oracle Java Development Kit (JDK). Be sure to also add the path to the Oracle JDK to your system's PATH environment variable.
  • 150. 136 IBM MobileFirst Strategy Software Approach 4. Select the workbench URL http://<machine ip>:7878/mobile (Figure 6-3) and click Copy to clipboard. Figure 6-3 Workbench URL 5. Paste the URL in the web browser of your mobile device after replacing the host name with the IP address of your PC. For example, http://<machine ip>:7878/mobile. 6. This will enable you to download and install the Rational Test Workbench mobile client. When installed, open the application and select Setting  Address. Enter http://<machine ip>:7878/ as the address.
  • 151. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 137 7. This mobile device will now be available in Rational Test Workbench (Figure 6-4). Figure 6-4 Display added mobile device 6.1.3 Prepare your mobile application for testing There are two options to add a mobile app to Rational Test Workbench. One is through the installer. The .apk file can be directly imported to the workbench if it is present on the desktop. The second option is to upload the app from the mobile device. The second approach is described here. 1. From your mobile device, upload the mobile app to the Rational Test Workbench Eclipse Client: a. Click Manage applications in the Rational Test Workbench mobile client on your mobile device. b. Install the application from the Manage application. c. Upload the application for testing. 2. From the Rational Test Workbench Eclipse Client, add the application to the test workbench.
  • 152. 138 IBM MobileFirst Strategy Software Approach 3. Click Display available mobile applications, as shown in Figure 6-5. Figure 6-5 Display Available Mobile applications 4. Select from local storage and select the appropriate .apk file (Figure 6-6). Click Finish. Figure 6-6 Add application
  • 153. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 139 5. The application is now available for capturing testing scripts, and will be listed on the workbench, as shown in Figure 6-7. Figure 6-7 Listed application 6.1.4 Create a new project A new project needs to be created in Rational Test Workbench for recording and storing the test cases: 1. To create a new project in your workbench, click File  New  Test workbench Project (Figure 6-8). Figure 6-8 Create project
  • 154. 140 IBM MobileFirst Strategy Software Approach 2. Enter a project name, select Use default location, and click Next (Figure 6-9). Figure 6-9 Create a Test workbench project 3. Click Finish, as shown in Figure 6-10. Figure 6-10 Finish the New Project dialog box
  • 155. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 141 4. Click Cancel on the ensuing screen (Figure 6-11). Figure 6-11 Cancel Mobile Test 5. Verify that the application is visible in the Test Navigator view in the Rational Test Workbench Eclipse Client. 6.1.5 Record a test After you have created a new project, create a test by recording gestures and user interactions on the mobile device. You can initiate the recording on the device or from the Eclipse client. Actions are represented in natural language, which enables you to document and reproduce the test manually. Most testers prefer to record the test by simulating the use case on their mobile device and capturing it on Rational Test Workbench.
  • 156. 142 IBM MobileFirst Strategy Software Approach Follow these steps to begin recording a test: 1. In Rational Test Workbench click Record  Mobile Test (Figure 6-12). Figure 6-12 Start recording a test 2. Click the Record button on the application and start recording on the mobile device. When done, stop recording (Figure 6-13). Figure 6-13 Stop recording the test 3. Right-click the recording and select Generate Test (Figure 6-14). Figure 6-14 Generate Test
  • 157. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 143 4. Provide a file name and click Finish (Figure 6-15). Figure 6-15 New Test from Incoming Recordings A Test is generated from the recording. The test is recorded in Rational Test Workbench, and the same will be in sync on the Rational Mobile client. 5. On mobile client in the App detail, click Test and the same test will now be available in the mobile client for execution. 6.2 Edit a test case with Rational Test Workbench Rational Test Workbench is used to examine and enhance the recorded test script as needed. This gives you the ability to accomplish the following tasks: 1. Explore controls and menus to customize the script to your needs: a. For example, the Password object is visible along with content that can be parameterized later.
  • 158. 144 IBM MobileFirst Strategy Software Approach b. You can edit the form field properties (Figure 6-16). Figure 6-16 Editing form fields 2. Add verification points to verify that an expected value or behavior is returned during a test run: a. As shown in Figure 6-17, right-click an object to verify and click Create Verification Point for Content. Figure 6-17 Creating verification point on the contents
  • 159. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 145 b. You can see the content verification point is added to the test, as shown in Figure 6-18. Figure 6-18 Display content verification point 3. Add variables to the test script to parameterize the hard-coded values into variables that can pick values from an external source. This can be achieved by creating a new data pool on the created project: a. Create a new data pool in the workbench by right-clicking Datapools and selecting New  Datapool, as shown in Figure 6-19. Figure 6-19 Create New Data pool
  • 160. 146 IBM MobileFirst Strategy Software Approach b. In the New Datapool wizard, Enter a name for the new data pool (in this example, Data1) and click Next (Figure 6-20). Figure 6-20 New Datapool wizard
  • 161. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 147 c. Browse the .csv file containing the data to be imported into the data pool. In this example, you created a .csv file with a user ID and password as CSV data to be imported to the data pool (Figure 6-21). Figure 6-21 Importing CSV File into the new data pool d. Click Finish and the imported data can be viewed on the Data pane under Datapools, as shown in Figure 6-22. Figure 6-22 Display imported data
  • 162. 148 IBM MobileFirst Strategy Software Approach e. To substitute the imported data to the test runtime variable, select the test select the Common Options tab, and click the Add Datapool button, as shown in Figure 6-23. Figure 6-23 Substituting the imported data to runtime variable wizard f. On the Test Editor - Add Datapool window, the imported data columns will be displayed (Figure 6-24). Click Next. Figure 6-24 Test Editor - Add Datapool dialog box
  • 163. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 149 g. On the Access Mode window, set Open mode to Shared (per machine), set Access mode to Sequential, and select Wrap when last row is reached (Figure 6-25). Click Finish. Figure 6-25 Access Mode window options to be selected h. In the workbench select the value to be parameterized. On the Test Element Details pane, right-click the value and select Substitute  “Uid” variable (Figure 6-26). Figure 6-26 Substitute variable from data pool
  • 164. 150 IBM MobileFirst Strategy Software Approach i. To check that the data pool values are rightly substituted, click Test  Common Options  Data. It now shows the parameter substituted, as shown in Figure 6-27. Figure 6-27 Verifying substituted variable 6.3 Run a test case with Rational Test Workbench Run the test from the mobile device or from Rational Test Workbench. Do not interact with the mobile device until the tests are completed. To run the test, follow these steps: 1. To run the test, open the test, select the test to run, and click Run (Figure 6-28). Figure 6-28 Run the test
  • 165. Chapter 6. Application of Rational Test Workbench in IBM MobileFirst 151 2. The test will be run on the mobile device. Runtime results can be seen from the workbench directly, as shown in Figure 6-29. Figure 6-29 Test runtime results
  • 166. 152 IBM MobileFirst Strategy Software Approach 6.4 Analyze a test report with Rational Test Workbench To check whether the mobile test ran successfully, open the test report. You can also view each recorded functional action in the report. When you run a test from Rational Test Workbench, you can view both the mobile web report and the statistical report in the test workbench. Follow these steps: 1. From the Test Navigator, expand the project folder and double-click the test reports. 2. If the Test Navigator is logically arranged, expand the project folder, expand the Results folder, and open the reports. A sample report of the test run is shown in Figure 6-30. Figure 6-30 Test report 3. If you have initiated the test run from the device, the mobile reports are stored in the Mobile Results folder.
  • 167. © Copyright IBM Corp. 2014. All rights reserved. 153 Chapter 7. IBM MobileFirst Management overview This chapter provides an overview of IBM Endpoint Manager for Mobile Devices as part of the IBM MobileFirst framework. The following sections are included in this chapter: Description of IBM MobileFirst Management This provides an overview of the requirements of mobile device management. IBM Endpoint Manager for Mobile Devices in IBM MobileFirst This section describes how IBM Endpoint Manager for Mobile Devices fits into the IBM MobileFirst framework. IBM Endpoint Manager for Mobile Devices and an approach for Mobile Device Management This section describes what mobile management requirements IBM Endpoint Manager for Mobile Devices performs. Business benefits This section describes how IBM Endpoint Manager for Mobile Devices supports an organization mobile strategy. Ensuring mobile security and compliance This section describes the security features that IBM Endpoint Manager for Mobile Devices provides in protecting and securing mobile devices, applications, and data. System overview The system overview provides a high-level representation of the various systems that form part of a mobile management framework. Block overview The block overview describes how IBM Endpoint Manager for Mobile Devices functions in an IT systems management infrastructure. Components The component view describes what the components are, and their functions in the IBM Endpoint Manager for Mobile Devices system. 7
  • 168. 154 IBM MobileFirst Strategy Software Approach 7.1 Description of IBM MobileFirst Management In today’s business environments, the proliferation of mobile devices is expanding beyond the desktop and notebook platforms. It is becoming increasingly critical for organizations to have the capability of integrating the management of these mobile devices into current management frameworks. This provides the benefit of using defined processes, tools, and policies in maintaining the integrity of corporate data and information, while enabling the use of personal devices for personal and business functions. Mobile device management is based on supporting employees using personal devices in a business environment. These devices are considered untrusted, and the business entity requires a degree of protection and security for the corporate data. Mobile device management (MDM) functionality is required to provide mobile device support and control. The following list includes some requirements for MDM: Manage mobile devices. Control corporate data (wiping). Integrate corporate application (app) store. Enforce security compliance (password policies, encryption, VPN access, and camera use). 7.2 IBM Endpoint Manager for Mobile Devices in IBM MobileFirst Personal mobile devices come in many forms, and they require management to a large set of different mobile platforms. Through management controls of the mobile devices, the device management data provides critical information about the usage of the device for normal business applications. IBM Endpoint Manager for Mobile Devices is based on the IBM BigFix® platform, and extends the capabilities for desktops, notebooks, and servers into the mobile space. The mobile devices supported include Apple iOS, Android, Windows, and BlackBerry devices. This model includes the following benefits: An integrated platform for managing mobile devices, along with standard corporate endpoints nodes (user nodes and servers) The capability to extend predefined processes and policies to the mobile environment The tools to include the onboarding of applications to mobile devices Management of email functions through ActiveSync for Exchange, BlackBerry, and IBMSync for Lotus® Traveler IBM Endpoint Manager for Mobile Devices includes additional unified and integrated capabilities: The management of mobile devices over a corporate intranet and over-the-air (OTA) channels, including the Internet Integration with established IT service management processes and tools through defined application programming interfaces (APIs)
  • 169. Chapter 7. IBM MobileFirst Management overview 155 Customizations of management capabilities using IBM Endpoint Manager for Mobile Devices scripts and menus Availability of mobile apps (from the IBM Worklight platform application) through IBM Endpoint Manager for Mobile Devices 7.3 IBM Endpoint Manager for Mobile Devices and an approach for Mobile Device Management In IBM MobileFirst, IBM Endpoint Manager for Mobile Devices addresses these requirements: Provide support for a wide range of mobile devices. Provide capability for management of devices through application of appropriate controls: – Mobile device information – Onboard applications Safeguard corporate data integrity and protection of data assets. Adhere to defined security policies and compliance. An enterprise’s visibility into its mobile domain is critical to maintain control on how devices, software applications, and data are being used and manipulated. Through IBM Endpoint Manager for Mobile Devices, the enterprise can gain detailed insights into the following information: Device information, such as model, OS version, and serial number Device physical location (Device Location Services) User profile and credentials Applications installed on the device (authorized or unauthorized) Security compliance and adherence 7.4 Business benefits IBM Endpoint Manager for Mobile Devices consists of a large menu of features for the management of mobile devices required to support an enterprise mobile strategy. Continuous future enhancements to the product provide beneficial advantages, keeping pace with ever-increasing mobile adoption in corporations. With IBM Endpoint Manager for Mobile Devices, corporations are enabled with the tools required to remotely support personal user devices through Internet connections. 7.4.1 Integrated mobile device management Mobile devices will be managed in a manner that differentiates personal and business data through an integrated management platform that is also used to manage conventional IT devices. This provides a cost-efficiency model that uses existing processes and technologies as part of an enterprise system management framework, with minimal additional costs. This includes service support desks, asset inventory, and enforcing security and business rules compliance. Additionally, the enterprise has the capability to enforce selective removal of business data, separate from personal information. This is useful in situations where the personal device has been lost or compromised in a manner that makes confidential business information available for unauthorized access.
  • 170. 156 IBM MobileFirst Strategy Software Approach 7.4.2 Multi-platform support With multi-platform support, corporations can provide support for a wide range of preferred user devices. This does not restrict employees and prospective customers on a defined set of mobile devices giving the users a freedom of choice. The following list includes platforms supported by IBM Endpoint Manager for Mobile Devices: Apple iOS Google Android Nokia Symbian Microsoft Windows Mobile BlackBerry 7.4.3 Lower administration costs Through the integration of mobile device management with a system management platform that supports existing equipment, the cost of administration can be minimized. The following list includes extended mobile management capabilities: Support for authentication for various devices Enterprise app store for approved enterprise apps Self-portal capabilities for employees and system administrators to subscribe and administer mobile policies 7.4.4 Data protection Because business asset security is becoming an increasing risk and issue of concern, the need to ensure that corporate data and information assets are protected produces critical considerations: Provide central authority for compliance control and security. Manage security settings, such as password policy, encryption, WiFi, and iCloud sync. Remotely administer device function for lost or stolen devices: – Erasure of data – Device lock – Location of device Control device applications – Onboard application inventory – Jailbroken devices 7.5 Ensuring mobile security and compliance The inclusion of personal mobile devices into an organization exposes the organization to certain external security risks. Personal devices tend to be used in dual modes (personal and business). Without appropriate controls, personal usage patterns can adversely affect organizational applications in the same device. This might include unknown external intrusions into the device for the purposes of undermining information security through malware, spyware, and spam threats. Furthermore, personal device loss due to theft or damage creates the risk of external parties having unauthorized access to confidential enterprise data information.
  • 171. Chapter 7. IBM MobileFirst Management overview 157 There are distinct differences for both corporate and personal usage of the mobile device. Enterprise needs The following tasks represent enterprise needs: Protect corporate applications and data, not just the device. Enforce advanced security features, such as file-level encryption. Centrally administer and enforce permissions and policies. Remotely wipe all work-related applications and data. Prevent data leakage from enterprise apps to personal apps and public cloud-based services. Personal needs The following tasks represent personal needs: Maintain full control over personal applications and data. Ensure that personal data remains untouched by providing selective wipe. Switch between personal and work functions simply. Enterprise policies do not apply when the device is not connected to the enterprise network and corporate apps are not in use. Device level The following capabilities represent security required for the physical device management: Registration of the device Onboarding of security policies to the device Ability to lock device features where appropriate Ability to wipe corporate data on the device Secure data Security oversight is required when data is resident in the mobile device: Separation of data between personal and business usage in the mobile device Encryption of the business data Prevention of data leakage Application security For applications in the mobile device, security controls include the following capabilities: Controls associated with the application Authentication of access to apps and data With IBM Endpoint Manager for Mobile Devices, the organization is enabled to accomplish the following tasks: Detect integrity of a device (rooted or jailbroken) and provide remedies for business usage. Delete enterprise data and applications selectively and in a controlled manner in the event of a compromised or lost mobile device. Enforce corporate security protocols through the integration of defined interfaces (IBM Notes Traveler, Microsoft Exchange, Samsung SAFE, NitroDesk TouchDown, and Enterproid Divide). Administer security guidelines on login controls, encryption, Internet access, and native device functions based on industry or defined corporate standards.
  • 172. 158 IBM MobileFirst Strategy Software Approach In this manner, a corporation has the ability to restrict the usage of the personal mobile device until such time as it is deemed to be secured and safe. Continuous monitoring will ensure that any infractions are resolved and addressed. 7.6 System overview Figure 7-1 describes a typical environment for MDM. The following list includes the main components: IBM Endpoint Manager server, which is a database that interacts with the IBM Endpoint Manager relays and IBM Endpoint Manager Console to manage the mobile devices. IBM Endpoint Manager relays distribute information from the mobile devices to the IBM Endpoint Manager server. Management Extenders enable the IBM Endpoint Manager server to communicate with mobile devices that do not have an onboard agent (such as iOS, BlackBerry, Active Sync, or IBM Sync). Figure 7-1 Typical IBM Endpoint Manager deployment for a mobile environment The IBM Endpoint Manager server is a database that stores all of the defined policies associated with the management of the mobiles devices. The trusted service provider brokers the communications between the self-service portal, management extenders, and the active directory. This is to authenticate users through the enrollment process, either through self service or administrative operation. When enrolled, the user is authenticated through Lightweight Directory Access Protocol (LDAP), and enables the user to perform self-administered functions, such as device wipe or password changes.
  • 173. Chapter 7. IBM MobileFirst Management overview 159 The Management Extenders with the relays bridge iOS or Android devices to the IBM Endpoint Manager server (or the trusted service provider) to manage the devices by setting and monitoring policies, sending messages, and deploying applications. The management extenders are modular, and can be expanded according to growth requirements. Each management extenders can support the following numbers: 5000 iOS devices per extender 10,000 Windows, BlackBerry, or Android devices per extender Apple Push Notification Servers satisfy Apple’s requirement that iOS devices be triangulated for the forwarding of third-party application notifications to iOS devices. The following list includes the main connections of IBM Endpoint Manager for Mobile Devices: Integration with the IBM Endpoint Manager platform Import applications from an applications server (Worklight) Connection to mobile device platforms Connection to notification servers Connection to service provider based services 7.7 Block overview IBM Endpoint Manager for Mobile Devices is part of the IT Service Management Domain that provides the following capabilities: Support for basic management of devices using email-based management Support for advanced management of devices using agent-based management Device inventory Security and password policy management Management commands, such as wipe, lock, clear-password, deny email access, push, and data roaming Applications management Authenticated enrollment for restrictive user access Self-service portal enabling users to manage their own personal devices Enterprise access configuration, including email, WiFi, and VPN Note: Support for these features varies by device, OS, and management method.
  • 174. 160 IBM MobileFirst Strategy Software Approach Figure 7-2 shows the IBM Endpoint Manager for Mobile Devices. Figure 7-2 Block overview 7.8 Components Figure 7-3 shows the main components of IBM Endpoint Manager for Mobile Devices: IBM Endpoint Manager core platform services Management interfaces IBM Endpoint Manager relay Mobile device management Figure 7-3 Components
  • 175. Chapter 7. IBM MobileFirst Management overview 161 7.8.1 IBM Endpoint Manager Core Platform Services The IBM Endpoint Manager Core Platform Services consist of the following components. IBM Endpoint Manager Server The main component of the IBM Endpoint Manager system is the IBM Endpoint Manager Server, which is responsible for hosting and managing the communication between all of the sub-components of IBM Endpoint Manager for Mobile Devices. It includes a set of interacting applications (web server, CGI-BIN, and database server) that coordinate the relay of information between sub-components in the IBM Endpoint Manager for Mobile Devices system. The server processes can be hosted by a single-server computer, segmented to operate on separate server components, or replicated on redundant servers. The IBM Endpoint Manager Server consists of the following components: Platform DB This component is the platform database. FillDB This component posts client results into the database. GatherDB This component gathers and stores IBM Fixlet® downloads from the Internet into the database. Fixlets represent vulnerabilities identified based on relevance, which is a set of questions that are returned as applicable in the IBM Endpoint Manager environment. Fixlets are used to capture what vulnerabilities need to be rectified, and are no longer relevant when remedies have been successfully implemented. Web Reports This component is an HTML-based tool that provides access to stored information about the IBM Endpoint Manager server. There are built-in reports, and you can create custom ad hoc reports based on a variety of criteria. Web reports data collection is one-way, meaning it only draws information from the IBM Endpoint Manager databases. Gather Services This component watches for changes in fixlet content for all of the fixlet sites to which you are subscribed. It downloads these changes to the server and makes them available to the GatherDB component. Root This component refers to the HTTP or HTTPS services offered by the principal server. The IBM Endpoint Manager Root Server is specially tuned to fixlet traffic. Previously known as the BES Root Server, it is now known as the IBM Endpoint Manager Root Server, or Root Server. Management interfaces This main component consists of the following components: IBM Endpoint Manager Console This component is a Fat32-based console that provides access to all of the administrative functions required to manage an IBM Endpoint Manager production system. IBM Endpoint Manager Web Reports This component provides information about security compliance status of mobile devices.
  • 176. 162 IBM MobileFirst Strategy Software Approach IBM Endpoint Manager Relay This main component consists of the following service: Relay Service This service is the service running on a relay server that is a client that is running special server software. Relays spare your server and the network by minimizing direct server-client downloads, and by compressing upstream data. Relays are automatically discovered by clients, which dynamically choose the best relay to connect to. 7.8.2 Mobile Device Management This main component consists of the following components: Apple iOS These management extender components proxy communication between IBM Endpoint Manager, Apple’s Apple Push Notification Service (APNS) servers, and the managed devices. Exchange/Notes These management extender components support proxy communication between Exchange/Lotus back-end email systems and the devices managed by MDM. Self-Service Portal This component is a web interface that enables users to manage a subset of administrative controls only on their personal, registered devices. Admin Portal This component is a web interface that enables IBM Endpoint Manager operators to manage a subset of administrative controls (the same commands are used as in the Self-Service Portal). The Admin Portal is used by the help desk to perform basic functions, such as device lock, device location, device wipe, and so on, without having to log in to the IBM Endpoint Manager console. Note: Android devices will communicate directly with IBM Endpoint Manager relays.
  • 177. © Copyright IBM Corp. 2014. All rights reserved. 163 Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst This chapter describes the common mobile device capabilities of the IBM Endpoint Manager (IBM Endpoint Manager) for Mobile Devices. The intent is to demonstrate capabilities that support the management of mobile devices: IBM Endpoint Manager console Enrolling iOS and Android devices Apply iOS profiles Application management Message to a mobile device Device location services Data roaming Using web reports 8
  • 178. 164 IBM MobileFirst Strategy Software Approach 8.1 IBM Endpoint Manager console The IBM Endpoint Manager console is used to manage mobile phones through a visual representation. When logged in to the console, several domains, such as mobile device management (MDM) are displayed in the lower left of the screen. The mobile devices navigation tree in the console serves as a visual representation for all mobile devices. The navigation tree provides access to reports, wizards, Fixlets, analyses, and tasks related to the management of devices. There are five primary dashboards in the navigation panel: Mobile Device Overview MDM Health Checks Single Device View Setup and Configuration Wizard Security Compliance Dashboard The primary MDM content is organized into the following nodes or categories: Setup and Configuration Mobile Device Inventory App Management Security Policies Apple iOS Settings Android Settings Mobile Device Action History The Setup and Configuration node displays a list of preliminary actions required before mobile devices can be managed: Activating analyses on the device Deploying or removing components Configuring the environment for custom enrollment Specifying the Android device language settings The Mobile Device Overview dashboard (Figure 8-1 on page 165) provides an overall view of the status of the devices being managed. This dashboard includes device OS breakdown to identify types of platforms, and device count breakdown on the number of devices currently being managed. It also displays device count by the last instance where the mobile device has communicated with the IBM Endpoint Manager server. It enables the system management administration to obtain a high-level representation of the status of the mobile environment.
  • 179. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 165 Figure 8-1 IBM Endpoint Manager dashboard 8.1.1 Dashboards The dashboard view shows the health of the MDM environment, and a list of all mobile devices (Figure 8-2). Figure 8-2 List of available dashboards
  • 180. 166 IBM MobileFirst Strategy Software Approach 8.1.2 Setup and configuration The Setup and Configuration folder (Figure 8-3) provides a number of options to deploy and upgrade the MDM components. When deploying MDM, the Setup and Configuration wizard will guide the necessary steps for the setup of the MDM. After the deployment, when updates are available, they can be processed in the Upgrade MDM Components view. The Analyses should be activated in order for IBM Endpoint Manager for Mobile Devices to function properly. Figure 8-3 Setup and Configuration folder 8.1.3 Mobile device inventory The Single Device View (Figure 8-4) displays all of the mobile devices that are registered to the IBM Endpoint Manager for Mobile Devices. Information provided in this view includes device-specific information, such as device details (battery, mailbox, profile, and device storage), commands that can be sent to the device, a list of iOS profiles, security information, and installed applications (apps). Figure 8-4 Single Device View
  • 181. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 167 8.1.4 App management The App Management folder (Figure 8-5) enables administrators to recommend, un-recommend, prompt to install to, and remove apps from iOS and Android devices. The Enterprise Apps Management dashboard provides a complete list of iOS and Android apps installed on all devices, along with the ability to recommend or initiate a prompted install to one or more devices. Additionally, any apps that were initially installed with the managed capabilities enabled, can be removed in this folder. Figure 8-5 Apps Management folder 8.1.5 Security policies For security policies (Figure 8-6), a range of policies can be set for Android and devices managed with Lotus, Microsoft Exchange, Enterproid Divide, and BlackBerry. Figure 8-6 Security Policies folder 8.1.6 Android and Apple iOS settings Android settings (Figure 8-7) can include WiFi settings or email settings provided by Nitrodesk Touchdown, which is a secure solution for ActiveSync Email on mobile devices. Apple iOS settings enable the administrator to configure a range of iOS settings, such as Restrictions, APN, Email, ActiveSync, AppLock (iOS6), VPN, WebClips and so forth. Other settings, such as Lock Screen, Deny Email Access, and so on are provided under Basic Commands. Figure 8-7 Android Settings and Apple iOS Settings folders Important: Android devices must have SAFE installed to support install or uninstall of apps.
  • 182. 168 IBM MobileFirst Strategy Software Approach 8.1.7 Mobile Device Action History / All Mobile Device Management Content The history of actions that are run from the console, and their results, are displayed under Mobile Device Action History (Figure 8-8). Finally, the complete list of Fixlets, actions, and analyses are also contained in the All Mobile Device Management Content folder. Figure 8-8 Mobile Device Action History folder 8.2 Enrolling iOS and Android devices This section describes the enrollment of iOS or Android devices to the IBM Endpoint Manager for Mobile Devices environment. Authenticated enrollment means that the user name and password are authenticated. It can also require that the users answer a set of optional custom questions for the device to be activated. All responses are treated as data, and are stored in the IBM Endpoint Manager server for administrative purposes. IBM Endpoint Manager provides multiple types of enrollment questions. All responses are reported and stored in the IBM Endpoint Manager database. Enrollment questions can consist of the following types: Text Where a question is presented and a text response is required. Email Where an email address is required as a response. User License Agreement (EULA) Where an agreement to conditions of use is required as a response. Checkbox Where a check in a box is required. Link Where a link is displayed for the user to access. Select Where the user selects from a set of choices the correct answer as a response. Radio Where the user selects (in the form of radio buttons) from a set of choices the correct answer as a response. Remember: Enrollment can be performed by installing the application and connecting, or through the enrollment web page.
  • 183. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 169 8.2.1 Enrolling an iOS device The first step of the enrollment process is to download the IBM Endpoint Manager Mobile Client app onto the mobile client device. 1. To manage the client, provide the Management Extender server address (Figure 8-9). Figure 8-9 Management Extender Server URL 2. Also provide the user information, including Work Email Address, Password, and Device Ownership (Figure 8-10). Figure 8-10 User information
  • 184. 170 IBM MobileFirst Strategy Software Approach 3. To install the self-signed certificate, click Install (Figure 8-11). Figure 8-11 Self-signed certificate installation
  • 185. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 171 4. To install the mobile device profile, click Install Now (Figure 8-12). Figure 8-12 Mobile device management profile 5. You see the user notification warning that installing the profile will allow remote management of your iPad. Click Install to accept (Figure 8-13). Figure 8-13 User notification screen 6. The final step is a confirmation that the profile is installed. Click Done (Figure 8-14). Figure 8-14 Enrollment is complete
  • 186. 172 IBM MobileFirst Strategy Software Approach 8.2.2 Enrolling an Android device In this example, the IBM Endpoint Manager Mobile Client app is installed from Google Play for the Android device: 1. To accept the license agreements, click Accept (Figure 8-15). Figure 8-15 Android Mobile Client
  • 187. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 173 2. You see a prompt to activate the security policies, along with a warning that doing so will allow the app to perform data and password operations. Click Activate (Figure 8-16). Figure 8-16 Android security activation
  • 188. 174 IBM MobileFirst Strategy Software Approach 3. Provide the Management Extender server address (Figure 8-17). Figure 8-17 Android Management extender server address 4. Enter the user information and click Enroll (Figure 8-18). Figure 8-18 User information
  • 189. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 175 5. Enrollment is complete (Figure 8-19). Enrolled devices will then register with a relay and be displayed within the console. Figure 8-19 Enrollment completion
  • 190. 176 IBM MobileFirst Strategy Software Approach 8.3 Apply iOS profiles This section describes the application of iOS policy for MDM functions, such as Passcodes, Restrictions, or Apple WebClips. This is done from the IBM Endpoint Manager console, where a new profile is created and configured with the appropriate Apple iOS settings. 8.3.1 Passcodes Passcodes are used on Apple devices to protect the device against unwarranted access. Passcodes are defined by corporate policies, and are required for the use of the mobile device for business apps (Figure 8-20). Figure 8-20 Passcode profile configuration 8.3.2 Restrictions Restrictions are enforced as part of the corporate policies on certain capabilities of the mobile device, and are updated as required. Restrictions, such as camera use, Apple Siri, in-app purchase, iTunes, and so on, can be disabled based on corporate usage policies (Figure 8-21). Figure 8-21 Restriction profile configuration
  • 191. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 177 8.3.3 Web Clips A Web Clip is a shortcut to a specific website or web page on a mobile device. This is stored as a shortcut to a website in the device. The Web Clip directs a user to a website for information or data, or to a site for a recommended app (Figure 8-22). Figure 8-22 Web Clips profile configuration 8.3.4 Remove iOS profile An iOS profile removal is for situations where the profile for the mobile device is no longer required or authorized to be used. Perform iOS profile removals remotely through the central console (Figure 8-23). Figure 8-23 The iOS Profile Removal window
  • 192. 178 IBM MobileFirst Strategy Software Approach 8.4 Application management This section describes how to view apps installed on the mobile devices. Additional apps can be recommended for download from the Apple Store for iOS devices, or from Google Play for Android devices. 8.4.1 Installed apps The Enterprise Apps Management dashboard shows all of the apps installed on all devices (both iOS and Android devices), as shown in Figure 8-24. Figure 8-24 Enterprise Apps Management dashboard
  • 193. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 179 8.4.2 Recommend an app to an iOS device Recommended apps can be imported from the following sources (Figure 8-25): A public app store An iOS application (.ipa) file to devices that are controlled with the Enterprise Agreement (only Enterprises are eligible for this) An IBM Worklight system Figure 8-25 Options for importing an app Figure 8-26 shows the IBM Endpoint Manager Mobile Client app installed. Figure 8-26 Graphical view of Mobile Client application installed Note: For a production environment, a recommended app can be applied to a group of iOS devices. When devices are online, they will be alerted with the recommended app for download.
  • 194. 180 IBM MobileFirst Strategy Software Approach The Mobile Client app shows applications that have been installed on a mobile device (Figure 8-27). Figure 8-27 View of application installed 8.5 Message to a mobile device In certain situations, there might be a requirement to broadcast a message to all (or a group of) mobile devices. This can be a notification of an event or a message about a situation: Android messages Android devices use sticky notifications for messaging users. Therefore, the notification will remain in the Android status bar until the user opens and removes it. Apple iOS messages Apple iOS uses push notifications to display message notifications to users. This notification will display as a message on the device, and in the Apple Notification Center on devices using Apple iOS5 and later. Similar to Android devices, Apple iOS messages can be sent by custom actions and through a default Fixlet message. 8.6 Device location services The physical location of iOS and Android devices can also be displayed by an administrator. Users can disable this on their mobile phone (under Location Services in iOS). Mobile devices report back their global positioning system (GPS) coordinates whenever the mobile device client detects a significant change in location. The Mobile Client uses the Significant Change Location Service to monitor the physical location of a device. This feature must be enabled on the device, and on the server, for tracking information to be sent for management purposes.
  • 195. Chapter 8. The Application of IBM Endpoint Manager for Mobile Devices in IBM MobileFirst 181 8.7 Data roaming Data roaming charges can become excessive for staff who travel overseas. IBM Endpoint Manager for Mobile Devices can apply MDM policies to turn off data roaming (Figure 8-28). Figure 8-28 Cellular Data and Data Roaming settings Figure 8-29 Device List in the IBM Endpoint Manager console Tip: IBM Endpoint Manager for Mobile Devices includes Data Usage information, as shown in Figure 8-29. It shows the last three months of cellular data usage provided to the server, which will store a larger archive for history checking. This column can be added by following these steps: 1. Right-click the column header. 2. Type data usage. 3. Select the check box next to the Data Usage column.
  • 196. 182 IBM MobileFirst Strategy Software Approach 8.8 Using web reports Several web reports are available for MDM: Mobile Device Overview (Agentless) Displays a summary of device types, password policy status for ActiveSync devices Mobile Device Overview (Natively Managed) Displays a summary of device types and password policy status for devices managed using MDM Mobile Device Security Overview Displays the security status of devices (jailbroken), password policy, and device encryption Device Security Compliance Report Displays a high-level overview of security compliance and device information An example web report is shown in Figure 8-30. Figure 8-30 Mobile Device Overview (Agentless) web report
  • 197. © Copyright IBM Corp. 2014. All rights reserved. 183 Chapter 9. IBM MobileFirst Analytics overview This chapter describes IBM Tealeaf CX Mobile, the component of the IBM MobileFirst strategy that delivers fine-grained user behavioral analysis. This chapter contains information about the benefits and components that make up Tealeaf, and how analysis and reporting are crucial to any mobile application (app). This chapter provides information about the following topics: Description of Tealeaf CX Mobile Tealeaf CX Mobile in IBM MobileFirst Business benefits System overview Block overview Components 9
  • 198. 184 IBM MobileFirst Strategy Software Approach 9.1 Description of Tealeaf CX Mobile The rapid expansion of the mobile channel to conduct business has forced rapid development of mobile apps, often without fully testing and integrating them before deploying them. According to a study1 of 2,469 US adults, 84% of those online reported that they experienced problems when conducting transactions on mobile devices. Customers who have a bad experience with a mobile app are probably going to give up and move on to a competitor quickly. Apps that are difficult to use will be rejected by the high expectations that customers have grown accustomed to. In addition, they will not hesitate to post reviews and complaints on social media sites, damaging your brand and reputation. Similarly, employees using a mobile app for their job will be less productive if the way they interact with the system is clumsy and time-consuming. Using IBM MobileFirst can help you across the entire application lifecycle, from developing and testing to deploying your mobile app correctly the first time, but what about quantifying and analyzing how the app is used after it has been released? How can you tell if the user is struggling? How do you know that customers are stuck on a particular screen? What happens when they rotate the screen, or use their camera and the app suddenly becomes slow or stops? Tealeaf CX Mobile will give you the insights into how your app is being used, both in real time or from historical records. Imagine that a customer is stuck on a screen and needs help. With Tealeaf CX Mobile, an alert can be generated for someone to assist immediately. Perhaps a customer bought an item a week ago, and has not received it. You can find that transaction and play back everything they did to discover what went wrong in the process. Tealeaf gives you the ability to determine what really happened, whether it is to track problems, detect and alert when a user struggles, or to improve the business process in your app. These features give real business value, with the ability to fix, invest in, or remove functions to improve the user experience, and thereby increase potential revenue. The following list includes key features of Tealeaf CX Mobile: Mobile web, hybrid app, and native app support for iOS and Android, including support for HTML5. When integrated with the desktop website, Tealeaf can help businesses significantly improve all of their online channels. Comprehensive mobile visibility achieved by capturing user information and interactions across the mobile app, both on the network and the client side. An early warning system to detect users struggling with an app, providing a proactive insight into mobile app failures and usability issues. Obstacles that lead to failed transactions, abandonment, negative feedback, and poor app store ranking can be avoided. Enhanced mobile web session replay helps businesses understand why something went wrong by viewing what customers saw on their device, and the specific actions that they took. Actions, such as pinch to zoom in/out and screen rotates, are all captured and replayed. Real-time drag-and-drop analysis to quantify revenue effect and segmentation by user behaviors or device attributes. Powerful ad hoc discovery and segmentation to quickly find and isolate problems across mobile customer sessions, both at the individual and aggregate levels. 1 2011 Harris Interactive survey
  • 199. Chapter 9. IBM MobileFirst Analytics overview 185 9.2 Tealeaf CX Mobile in IBM MobileFirst Tealeaf CX Mobile fits into the final stage of the IBM Mobile Enterprise Development Lifecycle. After an app has been designed, developed, tested, deployed and is being managed, obtaining qualitative insight into how and why the app is being used is the final step. Figure 9-1 shows the application lifecycle, with the Obtain Insight phase gathering real mobile app usage through Tealeaf, and feeding back into the Design and Develop phase. Tealeaf CX Mobile can be integrated with the IBM Worklight Server to feed operational events, such as application crashes, to the Worklight dashboard. The Worklight client run time includes the Tealeaf CX Mobile libraries for iOS, Android, and mobile web, which means developers can immediately start to instrument the app using Tealeaf during the development stage. Figure 9-1 The IBM Mobile Enterprise Development Lifecycle The keys to delivering high-quality applications in a short space of time are to improve the development and testing of an application, gain visibility into the user experience, and then trace that to back-end systems and processes. Where there is a usability issue, it can rapidly be resolved before releasing to production. Analyzing the user experience enables business leaders to identify where to fix problems, where to invest in new features and functions, and, where functions are not adding business value, which to remove.
  • 200. 186 IBM MobileFirst Strategy Software Approach 9.3 Business benefits The companies that are most effective in satisfying and retaining customers are those that consistently enhance and innovate their online web and mobile channels. With mobile access growing at the fastest rate of all online channels, it is crucial that the experience given to customers is exemplary, because this will directly drive revenue. Simply having a mobile presence is not the competitive differentiator it might have been in the past. However, having a well-executed, easy-to-use design makes an app a pleasure to use, which leads to repeat visits and sustained customer relationships. Tealeaf CX Mobile provides businesses with the following key insights: Why a customer does not complete a transaction How many users are affected by a problem Analysis of who the customer is, where they are, and what mobile device they are using How a customer is using an app, and what their actual intent was Immediate evaluation of business initiatives or sales campaigns Raising conversion rates by detecting obstacles and issues that cause users to struggle Making better business decisions across the mobile channel by analyzing user behavior Diagnosing and fixing problems faster to avoid brand and reputation damage These capabilities bring in significant benefits, such as higher revenue, lower operational costs, and higher customer satisfaction. Having a window into how customers are using your mobile app, where their pain points are, why transactions are not completing when you would expect them to, and how to convert an interest into a sale are all business issues that can be identified with Tealeaf CX Mobile. Furthermore, being able to segment your customer base into who is visiting and using your app, what browser and mobile device they are using, and what their screen resolution is, will enable decisions to be made on where to invest future development work. Knowing where and when your customer is using your app is an incredibly powerful insight, enabling targeted sales initiatives and geographically based offers to be built in to the app. How easy and reliable a mobile app is will dictate, therefore, how loyal the customers will be, and how likely they are to repeat their business. This reduces customer churn, increases the chance of positive feedback and satisfaction, and therefore drives new business revenue. 9.3.1 Real-time reporting With real-time report building capabilities, business leaders and IT users are able to rapidly quantify lost revenue, and attribute that to specific sources of customer struggle (for example, obtaining a quote, or at check-out). Note: In a recent studya, 85% of respondents expected the mobile experience to be better than or equal to the experience offered on the desktop web. Of those questioned, 65% would be less likely to buy from the same company through other channels (in-store or online) if they encountered a mobile transaction problem. a. 2011, Harris Interactive survey
  • 201. Chapter 9. IBM MobileFirst Analytics overview 187 Figure 9-2 shows an example conversion rate at a check-out per hour of the day, charting the number of transactions and how many of those converted to a sale. Businesses can quickly determine which hours of the day people spend browsing, and which hours have the most sales, and can target marketing accordingly. Also, they are able to quickly identify a system problem at a particular time of the day. Figure 9-2 Example conversion rate by time report generated by Tealeaf CX Mobile Problems can be shown to either affect all users, or some users with certain devices. These reports can be used to determine how to resolve the issue, and how to direct future business decisions about how many devices or operating systems should be supported. 9.3.2 Customer intent Analytical overlays reveal understanding of the customer intent for mobile web2 apps. However well the app is designed, it does not necessarily mean that is how users perceive or want to use it. With the use of heat maps, link analytics, form analytics, and attention maps, Tealeaf CX Mobile provides a better understanding of how the customer is intending to use the app. For example, patterns of where customers are touching the screen can reveal where buttons on the application should be located, or where key information should be displayed. By discovering common trends, the app can be redesigned to match customer intent, and therefore drive sales. 2 Overlays will work only for mobile web, not for native applications.
  • 202. 188 IBM MobileFirst Strategy Software Approach 9.3.3 Dashboards A variety of dashboards can be created and configured to give instant insight into the business health through the mobile channel. As an example, the “top movers and drivers” dashboard in Figure 9-3 enables business leaders to see where the majority of mobile users are struggling at any given moment. Combined with the qualitative insights available through the replay of a mobile session, the technical issue or usability problem can be rapidly identified and resolved. Figure 9-3 The top movers and drivers dashboard3 This enables businesses to benefit from resolving issues before they create a major impact, and further enables the identification of key drivers of activities, which can be compared across time to assess trends. For example, a sudden surge in mobile activity might be caused by a major sporting event, or after a marketing activity. Instant feedback shows where and when to target business initiatives. 9.4 System overview IBM Tealeaf CX Mobile works across the multiple mobile programming models, including web, hybrid, and native (Table 9-1 on page 189). However, there are important differences in the way Tealeaf captures and uses data from the device, depending on the programming model used. 3 Taken from Customer Experience Management in the New Era of Mobility http://public.dhe.ibm.com/common/ssi/ecm/en/zzw03224usen/ZZW03224USEN.PDF
  • 203. Chapter 9. IBM MobileFirst Analytics overview 189 For web-based mobile apps, Tealeaf captures the data going between the device web browser and the web server by capturing packets in the network close to the web server. For native and hybrid apps, Tealeaf provides a framework to enable developers to instrument the app during development, providing the ability to capture more data. It is possible to capture screens, for example, and send them to Tealeaf, showing exactly what a user was seeing at the time. This uses resources in terms of data being transmitted, so developers have the ability to capture screens more frequently when connected to a WiFi network. Table 9-1 Tealeaf capabilities depending on application type4 Application types: Tealeaf CX Mobile works across the following programming models: Mobile web apps are the same as those used in a desktop browser, but are adapted to fit on the smaller screen of a mobile device. They are typically written using HTML5, Cascading Style Sheets (CSS), and JavaScript, and are portable across multiple devices and operating systems. Web apps cannot access the hardware on the mobile device, such as the camera and global positioning system (GPS). Native apps are written in an operating system-specific language, and have full access to the mobile device hardware, features, and functions. Hybrid apps combine both the web and native models. Apps are written in the browser, but are wrapped in a container that enables the app to access the device hardware. Capability Native app Hybrid app Mobile web app User Behavior Yes Yes Yes Event-based Analytics and Alerts Yes Yes Yes Replay Yes, using screen capture Yes, using screen capture in native shell and full in HTML Yes Track text field/value Yes Yes Yes User gestures: zoom/pinch/scroll Tracked but not replayable Yes Yes Heat map No No Yes App launched/entered background Yes Yes Yes Device orientation Yes Yes Yes Device characteristics Yes Yes No Connectivity / Carrier / GPS Yes Yes No Free Memory Yes Yes No Battery Level Yes Yes No 4 Courtesy of Henrik Sjöstrand, IBM MobileFirst Evangelist
  • 204. 190 IBM MobileFirst Strategy Software Approach The interactions between systems and users with Tealeaf CX Mobile are shown in Figure 9-4. At a high level, Tealeaf CX Mobile passively listens to all mobile app interactions, and collects the data into a data store. The data collected and stored by Tealeaf CX Mobile is requested by several user groups, primarily split between IT users, business operational users, customer service users, and business managers: The IT users use the system for early warning about problems, such as general trends of application failures and customers getting error pages. The IT users will receive real-time information from the Tealeaf CX Mobile system. Business operation users receive real-time alerts from the Tealeaf CX system with information, such as failed transactions or users trying several times to complete a purchase. With this information, they will be able to personally assist a user if they request help, and will be able to replay the entire transaction. Customer service users be able to recall historical transactions and replay those, to problem solve a business transaction that might have failed to fulfillment, or perhaps to investigate a suspected fraud. Management users will receive dashboards on real-time activity in the Tealeaf CX Mobile system, such as “top movers and shakers.” These dashboards provide general activity trends, how many users are completing transactions, how many are failing, and how many conversions to complete purchases are taking place. Figure 9-4 System overview
  • 205. Chapter 9. IBM MobileFirst Analytics overview 191 9.5 Block overview Figure 9-5 shows where Tealeaf CX Mobile sits in the business IT architecture. Because the system provides an interface between mobile devices and business users, and collects data passively and asynchronously, it can be classified as middleware. Data gathered from the mobile device session is collected into several indexable data stores and containers situated in the data layer. Figure 9-5 Block overview showing Tealeaf CX Mobile in the IT landscape 9.6 Components The Tealeaf CX Mobile components are broadly split into five categories: Customer Behavior Analysis Suite Components to connect to and analyze Tealeaf data. Customer Service Optimization Ability to search for and replay mobile sessions. Integrations Components for data analysis of the rich data stored on every customer interaction. Capture Passive application to capture the network stream from mobile sessions. Data store Short-term and long-term containers for storing and archiving the captured data.
  • 206. 192 IBM MobileFirst Strategy Software Approach Figure 9-6 shows the components that make up Tealeaf CX Mobile. Figure 9-6 Components of Tealeaf CX Mobile 9.6.1 Customer Behavior Analysis Suite cxImpact component Tealeaf cxImpact is the component that provides a portal into the Tealeaf CX Mobile system. The Tealeaf portal is a web interface that provides, among others, real-time views of user activity, searching capabilities, and drill-downs to perform session replay. Tealeaf cxImpact is the base software, with additional modules that sit on top: The cxView module enables dashboards and scorecards to be created. The cxOverstat module enables heat mappings, link, form, and attention mapping for web-based mobile sites. The web portal provides a user interface for searching for both active and completed (historical) sessions, a means to review and analyze data across search results, and, for administrative users, controls to manage the Tealeaf system. The cxImpact component (cxView and cxOverstat), includes the following functions: Search The indexes created by the processing server can be searched through the portal. It is possible to search for text strings in current active and incomplete sessions, although searching for completed sessions is much more powerful. Replay The ability to replay a session as a mobile visitor would have experienced it is one of the unique features of Tealeaf CX Mobile. Replay enables you to understand the customer experience from beginning to end, with the actual web pages served to visitors, the links that they clicked, and the form fields that they edited. If a native app has been instrumented to capture screen images, these will also be available in the replay. Important: The cxImpact module is required to run with Tealeaf CX Mobile, because it unlocks the powerful replay and event features.
  • 207. Chapter 9. IBM MobileFirst Analytics overview 193 Monitor user actions By identifying locations on a particular page or business process, the actual use can be translated into why customers are abandoning the app at that point. The development team can focus efforts in this area to resolve usability or functionality issues. Development aid By monitoring activity in an application, the tools can be used to perform data-driven measurements with which to test functionality and usability. In addition to the web-based browser, a desktop application called IBM Tealeaf RealiTea Viewer is also available, offering the user additional options for configuring playback on the system. An active session report in the cxImpact portal shows all of the active mobile web sessions, how many events have been marked for evaluation, and how many hits that session has produced. The active session search results returned can be customized to contain any data in the sessions (for example, a Customer Details Results view to return all visitors’ given names and surnames, or an IT view that contains visitor server IP addresses, client IP addresses, and browser types). In this active session report, a user can accomplish the following actions: Replay an active session in the cxImpact browser session, or in the Tealeaf RealiTea Viewer. Display the web pages in the session. Display storage and user information for the session. Send the session to the event tester as a sample. Searching for active or completed session data is just as straightforward in the cxImpact portal. Text that appears in the HTTP request or response data, in addition to metadata included in each session, is included in the search option. Searching can span both active and completed sessions. By querying data captured by Tealeaf, you can locate sessions for further analysis or replay, such as abandoned transactions or a particular scenario that might be reported by a visitor. Much more complex and advance searches are straightforward, using drop-down menus in the cxImpact portal. After a session has been located, cxImpact will enable a user to replay the session as the customer viewed it. Remember: An event is a business-defined action that occurs in the app, such as a check-out failure or the start of a new business process. Note: Replaying active sessions as they occur enables a business to provide real-time customer support by using the following capabilities: Show visitor input, such as entered text, selected menu options, clicked links, or buttons. Track activities that occur on different views of a dynamic page. View the raw request and response data. Drill down into session details. Show a copy of the mobile screen that the user was presented with, if using a native mobile app.
  • 208. 194 IBM MobileFirst Strategy Software Approach 9.6.2 Customer service optimization cxReveal component The cxReveal component of Tealeaf CX Mobile provides a faster customer service experience by enabling you to quickly locate a user session. It provides a simplified search and easy session retrieval, using a separate, high-performance database for faster searching. This is suited to a call-center environment, where a customer might be waiting for help on the telephone. Running in the Tealeaf portal under cxInsight, the cxReveal component offers two methods of searching for sessions: Database search As soon as Tealeaf detects a new session, it is accessible for search through the cxReveal database. Based upon session attributes, such as a user login, individual sessions can be found as soon as they start. Canister search Session searches can be performed against the Tealeaf canisters5, which is useful for exploratory searches where an exact identifier is unknown. These searches typically will take longer to return the wanted result. As with the functionality in cxInsight, after a session has been located, it can be replayed in the browser. Both active and completed sessions can be located through the search capability of cxReveal. Management dashboards are available to report on cxReveal activity, detailing how many internal users are searching for sessions and how many are replayed. This is useful to understand how many potential problems are being investigated during a time period, and how efficiently the customer service team are using the Tealeaf system. 9.6.3 Integrations with the cxConnect module The cxConnect module provides integration with business intelligence and web analytics products for further analysis of the rich data on every customer interaction that is stored in the Tealeaf databases. It supports the extraction and delivery of Tealeaf session data, using the same portal interface available in cxImpact. Sessions can be retrieved and exported to one of many supported formats, and used in Tealeaf or with another analytical product. 5 Canisters are part of the Processing Server, discussed in 9.6.5, “Data store” on page 196. Note: The difference between searching using cxReveal and cxImpact is primarily determined by time. When searching with cxImpact, the search criteria are passed to a separate search server, which queries the active and completed session databases. This is more suited for exploratory or generalized searches but takes longer. Searching through cxReveal makes a single query of one database, with a maximum number of returned results of 100, making searching fast. Although generalized searches can be performed, it is suggested to use cxInsight for this.
  • 209. Chapter 9. IBM MobileFirst Analytics overview 195 The cxConnect module consists of several components: Use cxConnect for Data Analysis to extract, analyze, and report on Tealeaf CX Mobile data in external warehouses and business intelligence environments, such as IBM Cognos®. Use cxConnect for Web Analytics to easily integrate with web analytical products, such as IBM Digital Analytics, to reveal trends and anomalies. Use cxConnect for Voice of the Customer to integrate with Voice of the Customer applications, such as IBM Content Analytics with Enterprise Search. This capability enables visitors to submit feedback, and for the business to analyze and aggregate this into information that it can use as a basis for action. The following list includes the primary features and capabilities of cxConnect: A graphical user interface (GUI) through the portal for managing extraction tasks Extraction to either a data file or a log file (W3C format) Complete logging and audit of all extraction activities Automated scheduled batch extraction of archived session data, and delivery in real time, on an ad hoc basis Flexible filters and controls for defining the data to be extracted, which can be constrained to limit the amount of data being extracted, or to return only certain data portions Ability to extract data from multiple Tealeaf CX servers Integration directly into IBM Digital Analytics to move from analytics to market, targeting prospective customers directly with relevant digital content Additionally, Tealeaf CX Mobile can be integrated with IBM Worklight to support the operational analytics features provided in the IBM Worklight platform. 9.6.4 Capture The Passive Capture Server (PCA) component of Tealeaf CX Mobile unobtrusively records the HTTP and HTTPS requests and responses of a mobile web or hybrid application’s operation, by inspecting the TCP/IP packets from a network. The PCA provides a real-time method to capture each visitor’s interaction, without introducing any latency or disruption to the app, and is connected directly to a firewall, load balancer, switch, or network tap. The data streams captured by this process are sent to a separate processing server, where the data can be viewed, analyzed and replayed. To support the Secure Sockets Layer (SSL) decryption of HTTPS traffic, the PCA has a secure copy of the website’s SSL certificate, enabling it to decrypt the data. The core process has the following key components: Listen Network traffic packets from the network are traffic. Reassemble TCP packets are decrypted if necessary, and initial parsing of the HTTP requests and responses is performed.
  • 210. 196 IBM MobileFirst Strategy Software Approach Post-process The reassembled data is formatted into a Tealeaf hit6 , and any configured processing is performed, such as deliberately dropping hits, data compression and decompression, privacy blocking, and filtering. Deliver The Tealeaf hit is sent to the processing server, using built-in routing functions in the Tealeaf Transport Service. Figure 9-7 illustrates how the capture server takes inbound packets of data from the web channel, and outbound packets from the web server. These are assembled into hits, and sent to the processing servers. Figure 9-7 How data is captured and collected from the mobile web session 9.6.5 Data store After the assembled Tealeaf hit has been processed by the capture server, it is sent to a processing server, also known as a canister server. The canister/processing server correlates the sessions that contain all of the mobile interactions for a specific visitor and the app that they are using. The contents of the session are inspected in real time for events (keywords and codes that have been predefined) and, when matches are found, the record of this event is stored for further processing. At this point, generation of reports and alerts can be triggered, depending on the event rules. When the active session has completed, the session record is written to disk and indexed by a purpose-built search engine. 6 A Tealeaf hit is the fundamental unit of data in Tealeaf. It consists of a request/response pair from an HTTPS data packet.
  • 211. Chapter 9. IBM MobileFirst Analytics overview 197 I The short-term canister organizes the sequence of Tealeaf hits into the logical order of hits that are experienced by the visitor. Events are user-defined, and are intended to provide insight into business process health, customer activity, application errors, page errors and response time problems: An event can be defined against the occurrence (or absence) of a single value, a text pattern, page attributes, session attributes, or a compound of multiple conditions in a business process. Observed events are used for real-time altering, reporting, and searching. An alerting service is triggered when a user-defined threshold or altering action is met. Aggregated events are populated in the Report Server reporting database, with event markers embedded to enable indexing for search and session retrieval. A session index is a database that stores the locations of meaningful words and fields from each session stored in the long-term canister. The index service operates in the following way: The index does not store all text from each session. For example, noise words, such as but and if, are ignored. After a session has been closed in the short-term canister, the Tealeaf CX Mobile server automatically indexes the sessions selected for archiving in the long-term canister. Index files locate occurrences of data or error codes from pre-configured events, which enables faster and more efficient searching of the captured data. HTML tags with any invalid XML characters are removed, and are named by day, based on the time of the hit. After index files have been created, they can be used by the portal (cxImpact components) or the Tealeaf RealiTea Viewer. Remember: There are two databases (or canisters) used by the processing server: The short-term canister is an in-memory database to store Tealeaf hits in real time from the capture process. Throughout a user session, each hit is added to the canister, evaluated for any predefined events/rules, and correlated with the other hits from that session. When the session has completed, it is moved to the long-term canister (the archive). The long-term canister is a disk-based archive database, populated from completed and closed sessions from the short-term canister. This is indexed for searching, and encrypted using Triple Data Encryption Algorithm (3DES) encryption algorithms for security.
  • 212. 198 IBM MobileFirst Strategy Software Approach 9.6.6 End-to-end view To summarize the Tealeaf CX Mobile architecture, Figure 9-8 shows the complete layout, from the mobile client, connecting over the Internet to the app environment. Figure 9-8 Tealeaf end to end architecture The following list provides more details about the architecture shown in Figure 9-8: 1. The mobile app is deployed into the customer environment, where it connects over the existing customer infrastructure. 2. Web traffic is directed from the switch, router, and load balancer to the application web servers. However, in parallel, traffic is simultaneously sent to the Tealeaf CX capture server, where the HTTPS stream is decrypted, assembled into session order, and encrypted for security. 3. Session data is sent by the internal transport software to the Tealeaf CX Data Store, where a processing or canister server takes the data, stores it in the in-memory short-term canister database, inspects it, alerts and reports on events, and correlates Tealeaf hits into a single or multiple customer sessions. 4. When the session has been completed, it is sent to the long-term canister, where it is indexed and archived. 5. IT users, business leaders, and customer service agents can query, report on, and export the data into a variety of formats for further analysis.
  • 213. © Copyright IBM Corp. 2014. All rights reserved. 199 Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst This chapter provides information about how Tealeaf CX Mobile can be applied in your business scenario, and how you can set up and use Tealeaf to drill down into mobile sessions to gain insight and analytics into how the application (app) is being used. This chapter describes the following topics: Replaying active and completed sessions Creating events Creating reports Creating management dashboards Creating early warning alerts on events Adding dimensions to reports 10
  • 214. 200 IBM MobileFirst Strategy Software Approach 10.1 Replaying active and completed sessions You begin by starting the Insurance Company A mobile app, which has been instrumented to send information about the user interactions, along with screen captures, to Tealeaf using JavaScript Object Notation (JSON) messages. This is a hybrid application, and the examples given in this chapter all run using an Android Virtual Device (AVD). For an explanation of how Tealeaf captures web and native apps, see 9.4, “System overview” on page 188. The business requirement for Insurance Company A is to continually collect data from the use of their mobile app, and use the knowledge gathered from analytics to loop back into the development cycle. The first thing you need to do is understand how you can see the app being used in near real time, and to analyze past usage patterns. To replay active and completed sessions, you follow these steps: 1. Simulate a customer interaction through the mobile app. 2. Replay an active session. 3. View multiple active sessions. 4. View the data captured during replay. 5. Replay a completed session. 6. Replay HTTP request and response data. 7. Replay session attributes and screen captures. 10.1.1 Simulate a customer interaction You begin by simulating a customer interaction with your application: 1. After a successful authentication, you enter the main menu (Figure 10-1). At this point, you have several choices to make. In this case, you suppose that you are in an accident, so choose the I’ve been in an accident button. Figure 10-1 Main menu
  • 215. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 201 2. You enter the main report accident screen (Figure 10-2) and enter details of a fictional accident, including date, time, location, weather, injuries, number of vehicles, driver, damages, and driver’s license. Figure 10-2 Accident entry screen 3. You leave everything as default, because most of the information is completed automatically. You enter in details about the fictional car (Figure 10-3). Figure 10-3 Select car in mobile application
  • 216. 202 IBM MobileFirst Strategy Software Approach 4. Next, enter information about the driver (Figure 10-4). Figure 10-4 Select driver in mobile application 5. You are returned back to the main accident screen to complete any other details (Figure 10-5). Figure 10-5 Report accident screen complete
  • 217. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 203 6. Finally, submit the form (Figure 10-6) by clicking OK. Figure 10-6 Submission of report accident form 7. The app submits the report accident form and returns you to the main menu. As far as Tealeaf CX Mobile is concerned, the session will not have ended until either the mobile user leaves the app, or it times out. Either way, the session will be visible in the active sessions screen for a few minutes before it reaches the long-term canister (see 9.6.5, “Data store” on page 196) for searching completed sessions. 10.1.2 Replaying an active mobile session As soon as the mobile application was started on the device, Tealeaf CX Mobile started recording the session. In the Tealeaf cxView web interface, all active sessions can be viewed by choosing active sessions from the menu bar, which is constant in all Tealeaf windows: 1. Select Active  Sessions (Figure 10-7). Figure 10-7 Active Sessions menu option
  • 218. 204 IBM MobileFirst Strategy Software Approach 2. Tealeaf immediately presents the active sessions screen, shown in Figure 10-8. You can see one active session, which is your mobile app. The session date and time correlates with the actual user time. The total duration of the user session so far is displayed. Figure 10-8 Current active mobile sessions 3. You can drill down and see exactly what the mobile user is doing, in near real time, by selecting the small cinema projector icon, shown close up in Figure 10-9 on the left. The icons represent tasks that can be performed against the active session: – The blue dot indicates that the session is currently active. – The projector is used to replay the session. – The set of pages to the right of the projector show a list of all the pages in the session. – The blue flag with the magnifying glass gives a quick view of the session. – The red letter i gives information about the session. – The magnifying glass over paper sends the session to the event tester. Figure 10-9 View of the options on active session 4. When selecting the replay icon, the user is asked whether to replay in a browser or in the RealiTea viewer, but for the purposes of demonstrating Tealeaf CX Mobile, you will use only the browser-based replay. When a user is in the session replay screen, that user is presented with a screen split into two, with the left column showing the interactions between the mobile app and the Tealeaf server. Each entry marked Tealeaf Target is a request to Tealeaf and the response back. The mobile app captures and sends screen captures to Tealeaf as the user navigates through the application, and these are shown in the Tealeaf Target pages.
  • 219. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 205 5. Figure 10-10 shows the Report Accident screen, indicating that at this point, you were starting to file an accident report. The previous entries chart the progress: a. Logging in to the app b. The main menu c. Selecting the option to report an accident Figure 10-10 Reporting an accident screen captured in the active session
  • 220. 206 IBM MobileFirst Strategy Software Approach 10.1.3 Viewing multiple active sessions If you start another mobile session and leave the current one, the Tealeaf active session screen reflects the fact that two mobile sessions are now active, as shown in Figure 10-11. The first app session will time out, and Tealeaf will recognize this and move that session to the completed session database. Figure 10-11 Two active sessions in progress The benefit of being able to see active sessions is that you get a quick indication of how busy a mobile app is at any given point. More importantly, you are able to quickly find and drill down into problem areas. Tealeaf CX Mobile will show exactly what point a user has reached in the mobile app, and all the HTTP request and response data will be captured for debugging (Figure 10-12 on page 207). 10.1.4 Data captured in replay In the replay, information is collected regarding the mobile device, operating system, physical location, screen dimensions, and a wealth of other crucial information relating to device and software variables (Figure 10-12 on page 207). An app developer can use this information during testing to improve the code, or in production to rapidly identify and fix a problem.
  • 221. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 207 Figure 10-12 HTTP request data from the mobile app recorded in the active session
  • 222. 208 IBM MobileFirst Strategy Software Approach 10.1.5 Replaying completed sessions After an active session has completed or timed out, it is moved by a background task into the long-term data store (or canister), where it is indexed and can be searched: 1. From the Tealeaf menu bar, select Search  Completed Sessions. This opens a search dialog box, shown in Figure 10-13, to set search queries. Search arguments can include a broad search over a short or much longer time period, and against all or some of the text captured in the HTTP request or response messages. It is obvious that a broad search over a long time period will take longer to complete than a narrow specific search, such as on a customer identifier, over a short time period. Tealeaf CX Mobile is set by default to time out during a search after 90 seconds, or when 10,000 sessions have been retrieved. Figure 10-13 Completed session search
  • 223. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 209 2. To be able to find your mobile session that completed earlier, you will search for all events created today only, so you use the drop-down menu to select Only Today. Figure 10-14 shows the results of the search. , Figure 10-14 Completed sessions search results 3. The symbols, session time, and session duration are exactly the same, as shown in the active session search screen (10.1.2, “Replaying an active mobile session” on page 203), although note that there is no blue dot indicating that any of these sessions are still active. 4. To replay a completed session, click the cinema project icon. When in the replay, Tealeaf CX Mobile presents a list of the Tealeaf Targets, which are individual hits showing interactions between the mobile app and the Tealeaf server. If the app has taken a screen capture, this will be shown in the target.
  • 224. 210 IBM MobileFirst Strategy Software Approach 5. Figure 10-15 shows the login screen as the first item that was captured. Figure 10-15 First screen captured at login Each of these functions in Tealeaf CX Mobile enables the user to rapidly navigate through the user session. For administrators, they can see exactly what the customer had on their screen, where they got up to in their session, and what problems they had. For the support or development team, they can see the critical information about the mobile device and the settings in use at the time of execution. 10.1.6 Request data This component of the replay shows the request data sent from the mobile app to Tealeaf (Figure 10-16 on page 211).
  • 225. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 211 Figure 10-16 HTTP request data from the mobile app
  • 226. 212 IBM MobileFirst Strategy Software Approach 10.1.7 Response data This component of the replay shows the response back from Tealeaf to the mobile app (Figure 10-17). Figure 10-17 HTTP response data back from Tealeaf to mobile application
  • 227. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 213 10.1.8 Replay session attributes and screens The replay component displays either the screen capture of the app page, or the session attributes describing the device details and environmental variables (Figure 10-18). Figure 10-18 Session attributes and application variables
  • 228. 214 IBM MobileFirst Strategy Software Approach As each Tealeaf Target is stepped through, you eventually get to the end of the mobile app session, where the car and driver has been selected (see Figure 10-5 on page 202). The identical screen has been captured in Tealeaf (Figure 10-19). Figure 10-19 Final mobile application screen
  • 229. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 215 The next Tealeaf Target (Figure 10-20) shows the session attributes, including the current Uniform Request Locator (URL) pointing to the accident-report.html page, and the screen capture taken to be passed to Tealeaf in the JSON message. Figure 10-20 Session attributes of the Accident Report screen The final Tealeaf Target (Figure 10-21) shows the return back to the home.html page, and takes a screen capture of the app home screen. This tells you that the Report an Accident scenario was completed, and the user was taken back to the main menu. Figure 10-21 Final transaction from mobile device, taking the user to the home screen 10.2 Creating events Tealeaf events are defined by the administrator to be triggered upon certain mobile actions. This could be when an app has started, when a particular screen has been entered, when a value is input, or when a transaction has not completed. Many other combinations of events can be set up, depending on the business need.
  • 230. 216 IBM MobileFirst Strategy Software Approach In the case of Insurance Company A, you want to know when a user enters the I’m in an Accident screen, so that the business can instantly see, at any point in time, how many accidents are occurring. They can add value to their customer by calling them to ensure their well-being, and assist them in capturing all the necessary details needed for a claim. To create an event in Tealeaf, a replay of the app is needed, so that you can locate the point when the application calls the I’m in an Accident screen. This will be the trigger point for creating a new event. It is probable that system administrators or technical experts would do this activity. To create an event, follow these steps: 1. Locate the step (hit) attribute in the request data. 2. Create a hit attribute. 3. Define a new event. 4. Assign a hit attribute to an event. 5. Create a copy of the event. 6. Test an event.
  • 231. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 217 10.2.1 Locating the step attribute As described in 10.1.5, “Replaying completed sessions” on page 208, a replay of a mobile session needs to be started when it is known that the user entered the I’m in an Accident scenario: 1. Using the previous example where you located a completed session, you move through each Tealeaf Target to find the first occurrence of the Report Accident screen (Figure 10-22). Figure 10-22 Locating the first occurrence of Report Accident 2. You then move to the next target to view the request data that was sent to Tealeaf after the screen grab of the mobile app screen.
  • 232. 218 IBM MobileFirst Strategy Software Approach 3. Select Request from the Tealeaf navigation bar, and then select Click here to view Step Attributes, which is displayed as a link at the top of the request data (Figure 10-23). Figure 10-23 Request data with Step Attributes link 4. Selecting the step attributes takes you to the point in the request data that contains the step attributes, and by moving the mouse up and down the code, Tealeaf highlights any steps that can drive events. Step (or hit) attributes scan for patterns in every single JSON message, web page, or HTTP interaction that gets sent from the mobile app, and passes this information to an event, which can then trigger other actions. 10.2.2 Creating hit attributes The point in the code that you want to create an event on is when the Report Accident page is loaded. To do so, follow these steps: 1. You know from the application that each target page is referred to as toPage, so you locate the "toPage": "incidentReportPage" command. 2. When found, hover over the command and right-click to present two options (Figure 10-24 on page 219). You create a new step (or hit) attribute, at which point the Tealeaf Event Manager is launched.
  • 233. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 219 Figure 10-24 Create step attribute 3. In the Tealeaf Event Manager, you create a new Hit Attribute (HA), and name it HA toPage, which is the value in the JSON message that you are looking to match. The other fields can be left as their default. The step attribute path is the JSON string path to get to the toPage element, that was automatically populated by Tealeaf.
  • 234. 220 IBM MobileFirst Strategy Software Approach Figure 10-25 shows the completed hit attribute. Figure 10-25 Create a new hit attribute 4. After you select Save Draft, the new hit attribute is listed with all of the others stored in the system, but note that it remains highlighted in red until Save Changes is selected (Figure 10-26). Figure 10-26 New hit attribute before saving 10.2.3 Add a new event The next step is to add an event: 1. Select Events  New Event in the portal. 2. When you add a new event, you give it a name and a description (Figure 10-27 on page 221). Restriction: Hit attributes alone cannot be added to an event. The event has to be created first. Hit attributes can be used across multiple events to take different actions. There does not have to be a one-to-one relationship between hit attributes and events.
  • 235. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 221 Figure 10-27 Adding a new event 3. It is crucial to select the correct value for the Evaluate drop-down box, otherwise the event might never fire. There are several options, as shown in Figure 10-28, but whenever you want to create an event on a JSON message, always select Evaluate  Every Step. Web events are created by selecting Evaluate  Every Hit. Figure 10-28 Evaluate on every step 4. The next drop-down you select is Track  Every Occurrence, although you could just select on the first occurrence or last occurrence in a session. 5. Finally, you select Value Type  Count Only to show how many times the event happened. You could store a text or numeric value here, such as the value of a basket or a customer identifier, that could be pushed to a report form for a customer representative to proactively call the customer.
  • 236. 222 IBM MobileFirst Strategy Software Approach 10.2.4 Assign a hit attribute to an event To assign a hit attribute, follow these steps: 1. You associate the event to the HA toPage hit attribute that you created earlier by expanding the Hit Attributes  Default list under the Condition tab, shown in Figure 10-29. Figure 10-29 Creating a condition from a hit attribute 2. You choose to evaluate the hit attribute whenever the first value in the session is equal to incidentReportPage. This is the page name taken from your JSON step attributes in the replay browser. 3. Finally, you save the event as a draft, and then save changes to commit the new event to the database.
  • 237. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 223 10.2.5 Create a new copy of the event To create an event that will fire when the accident form has been completed, follow these steps: 1. You can repeat the whole process, or simply right-click the event in the event manager, and select New Copy of Event (Figure 10-30). Figure 10-30 Create a copy of an event
  • 238. 224 IBM MobileFirst Strategy Software Approach 2. By reviewing the replay again, and moving to the last Tealeaf target and viewing the request followed by the step attributes, you can find the command to return to the application home screen "toPage": "homeScreen" (Figure 10-31). Figure 10-31 Step Attribute at end of replay to return to the home screen
  • 239. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 225 3. Because you already have a toPage hit attribute, you do not need to create another one. You simply copy the homeScreen attribute and paste it into your new event under the Condition tab (Figure 10-32). Figure 10-32 Creating an end of accident report event 4. When saved, the events created are now live and will be triggered upon the start and end of an accident report. You can test this by running through the mobile app, and by searching for completed sessions. Two blue flags will be shown against the session, indicating the start and end of an accident report (Figure 10-33). Alternatively, you can use the built-in event tester, discussed in the next section, 10.2.6, “Event tester”. Figure 10-33 Completed sessions showing start and end of accident events
  • 240. 226 IBM MobileFirst Strategy Software Approach 10.2.6 Event tester The event tester, as its name suggests, enables any session to be tested for which events and hit attributes will be, or already have been, triggered. To send an event to the tester, follow these steps: 1. In either the active or completed session search, click the page with a magnifying glass icon to send the event to the tester (Figure 10-34). Figure 10-34 Send an event to the event tester 2. Give the event a description if required, and choose which events and hit attributes to test against. In this case, you just want to test the start and end of accident events (Figure 10-35). Figure 10-35 Choosing which events to test the session against
  • 241. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 227 3. Navigate the tab bar to Select Hit Attributes and select any that are required to be tested. Finally, click View Results. By expanding on the events and hit attributes, you can see exactly where Tealeaf matched on the values, and what those values were, as shown in Figure 10-36. Figure 10-36 Event tester results 10.3 Creating reports Reports are fundamental to understanding the customer behavior of a mobile app, and can be created and customized to whatever your business needs are. In the case of Insurance Company A, a business requirement is to understand where a user is struggling, and a good indication of that is if they have started an accident report but not completed it. To create a report, you follow these steps: 1. Add events to a report. 2. View a report.
  • 242. 228 IBM MobileFirst Strategy Software Approach 10.3.1 Add events to a report To add events to a report, follow these steps: 1. To create a report based on an event, select Analyze  Report Builder from the top-level IBM Tealeaf CX menu bar (Figure 10-37). Figure 10-37 Creating a report
  • 243. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 229 2. When in the report builder, click Add Event from the left menu, which will open a window to choose which events to report on. You will report on both the start and end of accident reports, which are filed under the default events folder, as shown in Figure 10-38. Figure 10-38 Selecting events to report on If any of these events are triggered from this point on, the report will be updated. Note that the report is not retrospective. It will not update on events that have occurred in the past. Note: Reports are not created in real time, as with events and sessions. A background task runs to create the report.
  • 244. 230 IBM MobileFirst Strategy Software Approach 10.3.2 View a report After another accident report is executed and captured by Tealeaf, you can view the report by following these steps: 1. Select Analyze  Report Builder (Figure 10-39). You can see that two start accident report sessions were run, but only one has completed, which tells you instantly that someone started but did not finish the accident report. Figure 10-39 Report showing number of events triggered on start and end of accident 2. Click the disk icon in the report menu bar to save the report and give it a name. In this case, call it Accident report start and end. 10.4 Creating management dashboards After a report has been created, as described in 10.3, “Creating reports” on page 227, a dashboard can be created to consolidate multiple reports into a single screen. To create a dashboard, you follow these steps: 1. Add a dashboard. 2. Add a report to the dashboard. 3. Add a conversion rate report to the dashboard. 4. Drill down in a dashboard to analyze problems.
  • 245. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 231 10.4.1 Add a dashboard To add a dashboard, follow these steps: 1. From the top-level IBM Tealeaf CX menu bar, select Configure  Dashboards. This opens the current dashboards in the system, as shown in Figure 10-40. Figure 10-40 Configure dashboards 2. In the configure dashboard screen, click the blue plus (+) icon to Add Dashboard on the far right of the screen, as in Figure 10-41. Figure 10-41 Add dashboard 3. You give the dashboard a name (in this case, Accident Dashboard) and save. The dashboard will display in the dashboard list. 10.4.2 Add a report to the dashboard To add the report you created earlier to the new accident dashboard, follow these steps: 1. Return to the Analyze  Report Builder menu and click the Add Report to Dashboard icon, shown as a small green/yellow/red spectrum on the menu bar, as shown in Figure 10-42 at the far right. Figure 10-42 Add report to dashboard icon on far right
  • 246. 232 IBM MobileFirst Strategy Software Approach 2. This will open a configuration dialog box (Figure 10-43) in which you can specify aspects concerning the layout and look of the dashboard. Leave everything as the default, but you need to click Target Tab  Select a Dashboard tab to choose the dashboard that you want to add to. Figure 10-43 Adding a report to a dashboard 3. After the target tab has been selected, a new dialog box asks you to select a dashboard. The accident dashboard that you created earlier is listed under the default folder, so select it and click Select (Figure 10-44). Figure 10-44 Selecting the Accident Dashboard 4. Click Add to complete the process, and a message confirming the success of adding the report to the dashboard will be displayed.
  • 247. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 233 5. On the top menu, click Dashboards to go directly to the new dashboard that has been created. The menu will show only the most recently viewed dashboards, so clicking More will reveal a box to select any of the saved dashboards in the system (Figure 10-45). Figure 10-45 Menu to go directly to the dashboard 6. The accident dashboard is now complete, showing the total start and end of accident reports during the last 24 hour period (Figure 10-46). Figure 10-46 Completed dashboard 10.4.3 Adding a conversion rate report You can add other reports onto the dashboard, such as a ratio of started to ended accident reports. This information is useful to see at a glance the conversion rate, and in a retail environment is crucial to give an idea of the ratio of customers not completing a purchase through checkout. 1. Return to the report builder function. Select Analyze  Report Builder and click Create New on the report builder menu bar.
  • 248. 234 IBM MobileFirst Strategy Software Approach 2. Next, click Add Ratio in the left column, shown in Figure 10-47. Figure 10-47 Add ratio for comparison report 3. This will ask for numerator and denominator values from previously defined events to make up the report. Select the start of the accident as the denominator, and the end of the accident as the numerator (Figure 10-48). Click Add to Report. Figure 10-48 Adding numerator and denominator 4. Because you want to view the ratio as a percentage, click the End of Accident [Ratio] drop-down and select Data Format  Percentage (Figure 10-49). Figure 10-49 Viewing report data as a percentage
  • 249. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 235 5. You want to be able to see all of the trends that occurred the day before, so in the same menu, select Add Function  Previous Days Average. 6. Configure the report by clicking Options in the report builder menu bar, and give the report a title. In this case you call it Conversion rate of Accident Reports. Clear Legend to remove the legend from the dashboard, as shown in Figure 10-50. Figure 10-50 Select report options 7. Click Apply, and then save the report by clicking the disk icon on the top menu.
  • 250. 236 IBM MobileFirst Strategy Software Approach 8. Finally, you need to add this report to the dashboard using the Add Report to Dashboard function, accessed from the green/red/yellow spectrum icon on the top menu. As before, you add it to the Accident Dashboard leaving the defaults, and then view the dashboard from the Dashboards  Accident Dashboard menu (Figure 10-51). Figure 10-51 New conversion rate report shown in dashboard 10.4.4 Drill down in a dashboard It is possible to drill down into reports in the dashboard to investigate potential issues a user has had during the mobile transaction. 1. On one of the dashboard reports, click the View Report Data icon, indicated by a small graph (Figure 10-52). Figure 10-52 View report data option indicated by a graph 2. This will display the data values that make up the chart in a table, with the time and counts of start and end accident events. Events that can be selected and drilled into are shown in blue. Figure 10-53 on page 237 illustrates the data behind your dashboard.
  • 251. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 237 Figure 10-53 Data making up the report dashboard with selectable links 3. If you click the value under End of Accident Report to see which four events were tied to which sessions, you are taken to the session list, with the ability to replay and determine what went wrong (Figure 10-54). Figure 10-54 Session list containing the four end of accident report events
  • 252. 238 IBM MobileFirst Strategy Software Approach 10.5 Creating early warning alerts on events Alerts are triggered from events that can be customized through the alert manager interface. The benefit of setting an alert is that it is as close to real time as possible, and can trigger an event, such as an email to a customer or a business administrator. For example, if more than twenty people have started an accident claim, an alert can be triggered to set up an emergency team to deal with a sudden influx of claims. To create an alert, you follow these steps: 1. Create a new event alert 2. Choose how and where to send the alert to 10.5.1 Create a new event alert To create a new event alert, follow these steps: 1. Navigate using the IBM Tealeaf CX top-level menu bar to Configure  Event Manager. This will show all of the events defined in the system, but you need to create an alert, so using the tabs underneath the main menu bar, click Alerts, as shown in Figure 10-55. Figure 10-55 Create new event alert in Event Manager 2. Click New Event Alert on the green menu bar and choose a name for the alert. In this case, you want to receive an alert if the number of new accident reports is greater than five over a thirty-minute period, so you enter this into the first threshold field. The warning threshold is set to create a warning if the number of new accident reports reaches two in ten minutes. This gives you an early warning indication.
  • 253. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 239 3. Click Select Event, as shown in Figure 10-56, to choose the Start of Accident event that you defined earlier. Figure 10-56 Creating alert based on start of accident event 10.5.2 Notification options To choose how and where to send the alert to, follow these steps: 1. Select the blue Notification tab to choose how the alert should be processed. In this case, an email is to be sent (Figure 10-57). The blackout option can be used if alerts should not be processed on a particular day and time. Figure 10-57 Process alert notification options
  • 254. 240 IBM MobileFirst Strategy Software Approach 2. When you save a draft and then commit the changes, the alert will show as active and ready (Figure 10-58). Figure 10-58 Alert active on start of accident 10.6 Adding dimensions to reports Dimensions enable segments to be created on a report. For example, a conversion rate report can be overlaid with information of device type, device operating system, or geolocation. This is useful to see if the conversion rate dropped after the release of a new mobile operating system, or if all users in a particular location were not converting to a sale or finishing an accident report. In this example, you will add the mobile operating system dimension to your accident conversion dashboard. To create a dimension, you follow these steps: 1. Create a new hit attribute. 2. Add the hit attribute to the event. 3. Create a new dimension. 4. Add dimension to a report group. 5. Add dimension to existing report and save as a new report. 6. Add new report to existing dashboard. 10.6.1 Create a new hit attribute The first task is to find and create a new hit attribute, as you did in 10.2.1, “Locating the step attribute” on page 217: 1. Go back to a replay of a mobile session to find the request data by selecting Search  Completed Sessions. Note: Dimensions are populated from events, which in turn are triggered by hit attributes.
  • 255. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 241 2. Click the projector icon to replay a session in the browser, and select the first few Tealeaf Targets until you find the browser platform attribute in the request data (Figure 10-59). Figure 10-59 Locating the browser platform in the HTTP request data 3. Take a copy of the TLT_BROWSER_PLATFORM= message and go to the event manager to create a new hit attribute by selecting Configure  Event Manager  Hit Attributes.
  • 256. 242 IBM MobileFirst Strategy Software Approach 4. Name the new hit attribute HA Platform, and enter TLT_BROWSER_PLATFORM= as the start tag to create a hit on (Figure 10-60). Note that you do not enter the Android variable, because you want to report on all platforms, not just Android. For the end tag, you enter the Tealeaf command for new line (rn), so when Tealeaf is searching for this attribute, it will know that the delimiter for TLT_BROWSER_PLATFORM is a new line. Figure 10-60 Create a new hit attribute based on browser platform 10.6.2 Add a hit attribute to new event You need to add an event to fire when the hit attribute matches an HTTP request. 1. Go back to the Event tab and click New Event. 2. You give the event a name of Platform for dimension, and choose your new hit attribute (HA Platform) under Hit Attributes.
  • 257. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 243 3. You want to evaluate every hit and every occurrence, and because this is text, you select Text from the Value Type drop-down menu (see Figure 10-61). Figure 10-61 Creating a new hit attribute for the mobile platform 4. Under the Value tab, click Select Item to Record and choose HA Platform from the hit attributes (Figure 10-62). Figure 10-62 Selecting the value to record
  • 258. 244 IBM MobileFirst Strategy Software Approach 5. Save the draft and save the changes to commit the new event to the system. Now that you have a new hit attribute looking for the platform, and a new event that is triggered on the hit attribute being found, you create the dimension. 10.6.3 Create a dimension To create a dimension, follow these steps: 1. Select the Dimensions tab and click New Dimension, giving a name and description, as shown in Figure 10-63. Figure 10-63 Add dimension in Event Manager 2. Click Populated By  Select to choose the event you have just created called Platform Dimension and choose Last Value in Session under the Populate With drop-down menu. 3. Advanced options can be left as default values, but it is worth noting that selecting Whitelist + Observed values will store any value sent to the dimension. 10.6.4 Add a dimension to a report group With the dimension created, it needs to be assigned to an event in a report group, so when the event fires, the event will store any additional values in the report group. To do this, you go back to your event list, and choose the start of accident event: 1. Select Report Groups from the tabs, and click Add Report Group. 2. Choose Dimensions  Mobile Platform (see Figure 10-64 on page 245). 3. Save and repeat for the end of accident event.
  • 259. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 245 Figure 10-64 Adding a dimension to the start of accident event 10.6.5 Add a dimension to a report The next step is to add the dimension onto the accident start and end report: 1. Navigate on the main menu to Analyze  Report Builder. 2. Click the open icon (indicated by a yellow folder on the menu tab) to open the report, if it is not already open (Figure 10-65). Figure 10-65 Open report in the report builder
  • 260. 246 IBM MobileFirst Strategy Software Approach 3. Click Dimensions on the left tab, locate the new Mobile Platform dimension you have created, and drag it down onto the Add X-Axis label beneath the graph, as shown in Figure 10-66. Figure 10-66 Dragging dimension onto the x axis of accident report 4. The report will be blank, because no new events have been triggered to populate the graph with data, so you need to save it as a new report by choosing the disk icon with the small pencil hovering over it, and give it a new name.
  • 261. Chapter 10. Application of Tealeaf CX Mobile in IBM MobileFirst 247 10.6.6 Add a report to a dashboard Finally you want to add this new report to your dashboard. 1. Click the green/yellow/red icon to add the report to your Accident Dashboard (Figure 10-67). Figure 10-67 Add new report to accident dashboard 2. If you simulate another I’m in an Accident mobile scenario, and check in the active session list, you can see that a new event flag has appeared, showing that the system has triggered an event on the platform dimension that you defined (Figure 10-68). Figure 10-68 New event flag in active session
  • 262. 248 IBM MobileFirst Strategy Software Approach 3. After the active session has completed, you can view it on the dashboard, which clearly shows that, of the recent events that have started and completed, both have been from Android devices (Figure 10-69). Figure 10-69 Dashboard showing mobile platform against accident start and end
  • 263. © Copyright IBM Corp. 2014. All rights reserved. 249 Appendix A. Additional material This book refers to additional material that can be downloaded from the Internet as described in the following sections. Locating the web material The web material associated with this book is available in softcopy on the Internet from the IBM Redbooks web server. Browse the following website: ftp://www.redbooks.ibm.com/redbooks/SG248191 Alternatively, you can go to the IBM Redbooks website: ibm.com/redbooks Select the Additional materials and open the directory that corresponds with the IBM Redbooks form number, SG248191. Downloading and extracting the web material Create a subdirectory (folder) on your workstation, and extract the contents of the web material .zip file into this folder. A
  • 264. 250 IBM MobileFirst Strategy Software Approach
  • 265. © Copyright IBM Corp. 2014. All rights reserved. 251 Related publications The publications listed in this section are considered particularly suitable for providing more detailed information about the topics covered in this book. IBM Redbooks The following IBM Redbooks publications provide additional information about the topic in this document. Note that some publications referenced in this list might be available in softcopy only. Enabling Mobile Apps with IBM Worklight Application Center, REDP-5005 http://www.redbooks.ibm.com/abstracts/redp5005.html Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ Telemetry, SG24-8054 http://www.redbooks.ibm.com/abstracts/sg248054.html Extending Your Business to Mobile Devices with IBM Worklight, SG24-8117 http://www.redbooks.ibm.com/abstracts/sg248117.html Securing Your Mobile Business with IBM Worklight, SG24-8179 http://www.redbooks.ibm.com/abstracts/sg248179.html You can search for, view, download, or order these documents and other Redbooks, Redpapers, Web Docs, drafts, and additional materials, at the following website: ibm.com/redbooks Online resources These websites are also relevant as further information sources: IBM MobileFirst solution brief http://public.dhe.ibm.com/common/ssi/ecm/en/wss14156usen/WSS14156USE N.PDF IBM MessageSight product page http://www.ibm.com/software/products/us/en/messagesight/
  • 266. 252 IBM MobileFirst Strategy Software Approach Ibm Mobile Application Platform Management Services http://www.ibm.com/services/us/en/it-services/mobile-application-pla tform-management.html IBM Security AppScan product page http://www.ibm.com/software/products/en/appscan IBM Security Access Manager product page http://www.ibm.com/software/products/us/en/samcm IBM Interactive http://www.ibminteractive.com/index.html IBM Mobile Infrastructure Strategy and Planning http://www.ibm.com/services/us/en/it-services/mobile-infrastructure- strategy-and-planning.html Smarter Commerce: omni-channel experience assessment http://www.ibm.com/services/us/gbs/mobileconsulting/ IBM Mobile Application Development from the Cloud http://www.ibm.com/services/us/gbs/mobileconsulting/rapid-mobile-app -development.html IBM Mobility and Wireless Services http://www.ibm.com/services/us/en/it-services/mobility-and-wireless- services.html IBM Mobile Application Management Services http://www-935.ibm.com/services/us/gbs/application-management/ IBM Mobile Enterprise Services for managed mobility http://www.ibm.com/services/us/en/it-services/managed-mobility-servi ces.html IBM Worklight 6.0 Technology Overview http://public.dhe.ibm.com/common/ssi/ecm/en/wsw14181usen/WSW14181USE N.PDF Getting Started with IBM Worklight http://www.ibm.com/developerworks/mobile/worklight/getting-started.h tml#setup Android Developer Guide http://developer.android.com/tools/devices/emulator.html
  • 267. Related publications 253 Customer Experience Management in the New Era of Mobility http://public.dhe.ibm.com/common/ssi/ecm/en/zzw03224usen/ZZW03224USE N.PDF Help from IBM IBM Support and downloads ibm.com/support IBM Global Services ibm.com/services
  • 268. 254 IBM MobileFirst Strategy Software Approach
  • 272. ® SG24-8191-00 ISBN 073843910X INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION BUILDING TECHNICAL INFORMATION BASED ON PRACTICAL EXPERIENCE IBM Redbooks are developed by the IBM International Technical Support Organization. Experts from IBM, clients, and IBM Business Partners from around the world create timely technical information based on realistic scenarios. Specific recommendations are provided to help you implement IT solutions more effectively in your environment. For more information: ibm.com/redbooks ® IBM MobileFirst Strategy Software Approach Discover IBM MobileFirst strategy and solutions Explore mobile platform, quality, management, and analytics Learn by example with practical scenarios IBM MobileFirst enables an enterprise to support a mobile strategy. With this end-to-end solution, IBM makes it possible for an enterprise to benefit from mobile interactions with customers, with business partners, and in organizations. There are products available from the IBM MobileFirst solution to support management, security, analytics, and development of the application and data platforms in a mobile environment. This IBM Redbooks publication explores four areas crucial to developing a mobile strategy: Application development Mobile quality management Mobile device management Mobile analytics Each area is addressed in two parts. The first part contains information about the architectural considerations of each technology, and the second part provides prescriptive guidance. This IBM Redbooks publication provides an in-depth look at IBM Worklight, IBM Rational Test Workbench, IBM Endpoint Manager for Mobile Devices, and IBM Tealeaf CX Mobile. This book is of interest to architects looking to design mobile enterprise solutions, and to practitioners looking to build these solutions. Back cover