IBM MobileFirst Platform
Overview
Additional information line, e.g. presenter name, presentation tagline etc.
Presentation date or version identifier
2015 IBM Corporation
Key enterprise challenges for a successful
mobile journey
Mobile app users are demanding. If my app is not
delivering a great experience I need to know.
Mobile opens up a new set of security considerations.
Our reputation is on the line.
My users want to be even more productive. Personalization
based on the devices context is a huge opportunity.
I need my development teams focused on creating
great app experiences, not figuring out how to
integrate or store data.
2015 IBM Corporation
Mobile app users are demanding I need to
understand if their needs are being met
Tangerine Bank
100% online
banking
Customers can execute
any banking transactions
securely while on the go
Customers can provide
feedback on services
offered and app
experience
5 Star App Rating
Customer feedback
incorporated back into
the app quickly
The IBM MobileFirst Platform helps IT collect user feedback and analyze app store ratings,
resulting in reduced app development cycles from 6 to 2 weeks. Achieved highest in Customer
Satisfaction Among the Midsize Retail Banks in J.D. Powers Canadian Retail Banking
Customer Satisfaction Study.
2015 IBM Corporation
Mobile opens up a new set of security
considerations. Our reputation is on the line
China Ministry of Railways
Demand from ~2B
passengers for ticket
sales far surpasses
supply
Created ticket
scalper environment
Hackers created
fake apps to sell
tickets at a premium
The IBM MobileFirst Platform helps authenticate users and secure the app against spoofing.
It also enabled the Mobile app to scale to secure 3.62 billion tickets during 40 day spring
festival.
2015 IBM Corporation
My users want to be even more productive.
Personalization based on the devices
context is a huge opportunity
Elmec
Employees needed to be more
productive while on a service call
Scans asset barcode, automatic pull of
product and service information, and
provides suggested action
Real-time log update of
changes in asset position
using geo-location
Drive up-sell opportunities
The IBM MobileFirst Platform used GPS, photo, and video features to deliver a contextual
app to manage lease equipment based on location, leveraging a catalog of over 60,000
products. Mobile app includes service and support capabilities.
2015 IBM Corporation
Mobile apps need data to be rich, but
integrating and storing data in a scalable
way slows down delivery
RunKeeper
App has 30M users and
integrates with 100 3rd party
devices and services
GPS tracks outdoor fitness activities,
including duration, distance, pace, speed,
and path traveled on a map.
As user base grew, app
hit scalability threshold,
performance was effected
Top Rated Health and
Fitness Mobile App
IBM MobileFirst Platform provided seamless data scalability, while delivering a responsive
experience users demanded. Reduced application development and maintenance costs,
improved time-to-market and enhance mobile application governance and security
2015 IBM Corporation
Great apps share common traits
Always
improving
Data rich
Secure
Relevant
To your
customers
I can do more
on my device
I can trust that
my data is safe
Its better, faster
or more
functional than it
was yesterday
It knows me
where I am, what
Im doing and
what I like
For your
enterprise
My customers
(and other users)
make better
decisions faster
We ensure
sensitive
enterprise data
is secure, in
transit and at
rest.
We easily manage
new releases and
assess and act on
performance and
usage issues
We have deep
insights in our users
and their mobile
experiences
What that
means
2015 IBM Corporation
IBM MobileFirst Platform provides a
comprehensive set of services delivered in
a modular fashion
New or Existing Apps
Native
Hybrid
HTML5
3rd Party Tools, Services, Apps
Modular Services
Continuously
Improve
Secure
Data Rich
Cloud
Software or SaaS
On premises
3rd Party APIs
Enterprise APIs
Systems of Record
Contextualize
& Personalize
Systems of Engagement
2015 IBM Corporation
Cloud Services
The IBM MobileFirst Platform
Integrated mobile app development with continuous delivery
Application
Scanning
Quality Assurance Cloudant Local
Application Scanning
Detect code vulnerabilities at the
time of development
Quality Assurance
Server
Studio
Runtime
Console
Application Center
Collect beta test feedback, crashes
and analyze user sentiment
Cloudant Local
Store mobile app data in a NoSQL
database with easy sync capabilities
Foundation
Development, Runtime, Operations
Console & Private Store
Development
Continuous Delivery
2015 IBM Corporation
IBM MobileFirst Platform Foundation 7.0
Component Overview
2015 IBM Corporation
10
MFP Foundation 7.0 Highlights
Efficient and scalable app data storage
+ Enable native Android and iOS mobile app developer to store engagement data on-prem
with off-line access, scalable storage, and enterprise integration
+ Make offline operations easier by removing the need to develop complicated sync and
replication logic
Manipulate and query data without worrying about sync logic
Just decide when to sync and if you want to push or pull changes
Standard-based integration and authentication
+ Leverage OAuth 2.0 security standard to securely integrate with new and existing
backend services
+ Streamline usage and operations of new and existing services via a client-side REST API
+ Leverage MobileFirst Platform security and operational analytics capabilities when
directly integrating with RESTful enterprise services
Deep insights that help you deliver better apps
+ Collect data and create custom reports to gain insights customized for your needs
2015 IBM Corporation
11
IBM MFP Foundation Typical Topology
App
https
Corporate DMZ
Web SSO
Server
https
Load
Balancer
Corporate LAN
MFP
Cluster
MFP
Database
Backend 1
Backend 2
2015 IBM Corporation
12
Spectrum of mobile app development
approaches
Pure web
Mobile
web site
(browser
access)
Hybrid
Native
shell
enclosing
external
m.site
Prepackaged
HTML5
resources
Pure native
HTML5 +
native UI
Mostly
native,
some
HTML5
screens
Pure
native
Web-Native Continuum
HTML5, JS, and
CSS3 (full site or
m.site)
Quicker and
cheaper way to
mobile
Sub-optimal
experience
HTML5, JS, and
CSS
Usually
leverages
Cordova
Downloadable,
app store
presence, push
capabilities
Can use native
APIs
As previous
+ more
responsive,
available offline
Web + native
code
Optimized user
experience with
native screens,
controls, and
navigation
2015 IBM Corporation
App fully
adjusted to OS
Some screens
are multiplatform when
makes sense
App fully
adjusted to OS
Best attainable
user experience
Unique
development
effort per OS,
costly to
maintain
13
MFP Studio The IDE for hybrid app
development
+ Eclipse-based IDE
SDKs!
MFP Studio!
Optimization
Framework!
+ Application scaffolding and
componentization
Integrated Device !
SDKs!
3rd Party Library
Integration!
+ Mobile OS-specific optimization
+ Device-specific optimization with Skins
+ 3rd-party library integration for HTML5
and native components
Android!
HTML5, Hybrid, and
Native Coding!
WYSIWG Editor!
and Simulator!
Functional !
Testing!
Blackberry!
Build Engine!
+ Code assist tools with auto-complete and
validation
iOS!
Windows
Phone!
Windows 8!
Java ME!
Mobile Web!
Desktop Web!
+ Quick access to simulators, emulators,
and debugging tools
2015 IBM Corporation
14
Studio provides authoring, visual design,
simulation, and runtime skins for hybrid apps
2015 IBM Corporation
15
Seamless integration for native development
and other tools
Use your preferred IDE and tools to develop pure native or hybrid Apps
Complements native IDEs with tools to perform MFP tasks
Simple Interactive assistance
+ mfp create
[?] What do you want to name your project? MyProj
Project MyProj created
+ cd MyProj
+ mfp add api
[?] What do you want to name your native API? MyIosApi
[?] What platform do you want to target?
Android
iOS
Java ME
Windows Phone 8
Native api for ios created
2015 IBM Corporation
16
Example CLI commands for native apps
+ mfp create
[?] What do you want to name your project? MyProj
Project MyProj created
+ cd MyProj
+ mfp add api
[?] What do you want to name your native API? MyIosApi
[?] What platform do you want to target?
Android
iOS
Java ME
Windows Phone 8
Native api for ios created
Context aware builds
+ mfp build
+ mfp deploy
If at project level, all apps and adapters are built.
If in adapters (all or single), then only those are built.
If within a single app, then only that app is processed.
If within a single env of app, only it is built and deployed.
Embedded MFP Server control
+ mfp start
+ mfp console
+ mfp stop
The mfp run command is a long running task that starts
the server, and tails (follows) the server log file
2015 IBM Corporation
17
Example CLI commands for hybrid apps
+ mfp add hybrid
[?] What do you want to name your app? MyHybrid
+ cd apps/MyHybrid
+ mfp add environment
[?] What environments you want to add to the hybrid app?
iPhone
iPad
Android phone and tablets
BlackBerry 6 and 7
BlackBerry 10
Windows Phone 8
Windows 8 desktop and tablets
Mobile web app
+ mfp build
+ mfp deploy
+ mfp console
2015 IBM Corporation
18
Example CLI commands for adapters
+ mfp add adapter Accounts --type http
+ edit adapters/Accounts/Accounts*
+ mfp build && mfp deploy
Implement desired procedures
Interactively test the adapter
+ mfp invoke
[?] Which adapter do you want to use? (Use arrow keys)
Accounts
Foo
[?] Which procedure do you want to invoke? (Use arrow keys)
getAccountList
getAccount
Direct syntax
[?] Enter the comma-separated parameters: "111-001"
Invoking Accounts:getAccount...
Arguments:
[ "111-001 ]
Invocation result:
{
"id": "111-001",
"balance": 623.45,
. . .
}
mfp invoke Accounts:getAccount '["111-001"]
{
"id": "111-001",
"name": "Checking",
. . .
}
2015 IBM Corporation
19
MFP gives developers complete control
over their app
Attractive
App Startup
Engaging UI
Compelling
app flow
+
+
+
+
Control default splash screen behavior
Add a custom splash screen
Start application with native screen
Control MFP framework initialization, e.g. in background
+
+
+
+
Display a specified native screen in full screen
Mix native and web components on a same screen
Control native components that host web application
Use native components hosting web application inside of a
container
+ Call native code from JavaScript and vise-versa
+ Invoke both native and JavaScript MFP Client APIs in any
order e.g. authenticate in native, UI in HTML5
2015 IBM Corporation
20
Unsurpassed flexibility in hybrid development
Complete freedom in mixing native and web code in the same app
Native header with
button, title and icon
Native and web
components on a
same screen
WebView with web
components
Native scrolling ticker
2015 IBM Corporation
21
Bridge native and hybrid elements with an
action API
+ First bullet: Use the MFP action API to enable native-hybrid
communication:
L2 Send data from JavaScript to Native
Send data from Native to JavaScript
Register Native action handlers
Register JavaScript action handlers
Example: Clicking native side menu button triggers web UI change
2015 IBM Corporation
22
Create reusable enterprise UI patterns
+ Create and reuse custom UI patterns
For corporate branding
Improved governance: Patterns which were
adequately designed, implemented and tested
+ Patterns contain HTML, CSS and JS
resources
+ Package patterns inside a pre-defined
archive format, so that they can be
distributed among teams to re-use in
their projects with MFP Studio
2015 IBM Corporation
23
Create custom components and templates
Add
Components and
templates to an
MFP Project
Create
components
and
templates
Shareable ZIP archives
.wlc or .wlt extns
+ Save development time by reusing code
+ Help enforcing governance by providing
ready-made, tested components with
corporate-approved code and branding
+ Created and managed using an MFP
Studio wizard
+ Custom screen patterns
HTML, CSS and JS resources
Extend the list of out-of-the-box patterns
+ Application Components
Reusable libraries (Client or server runtime)
that developers can add to apps
+ MFP Project Templates
A reusable hybrid project that developers can
use to jump start new application development
2015 IBM Corporation
24
IBM MobileFirst SDK for Xamarin
+ With IBM MobileFirst Platform Foundation SDK, Xamarin developers can build rich
native enterprise grade mobile apps for iOS and Android devices using C# language
https://
components.xamarin.com/
view/ibm-worklight
IBM MFP
Xamarin
Studio
Security
Integrated
Services
Authentication
Integration
Notifications
App Management
Analytics
2015 IBM Corporation
25
Rapid testing of hybrid apps with the Mobile
Browser Simulator
+ Accurate simulation of the apps HTML5 screens (e.g., right fonts, sizes, and layout)
+ Supports Cordova and MFP client API
2015 IBM Corporation
26
Mobile Functional Test Tools
+ Comprehensive, complete, resilient functional testing
Android and iOS, native and hybrid
HTML and JQuery
Record, edit, and run on mobile devices or emulator
Same test runs across multiple devices in the platform family
Natural language scripts can be used by developers and non-developers alike
+ Simple process
Record
Author
Playback
Report
2015 IBM Corporation
27
IBM MobileFirst Platform Quality Assurance
Delivers mobile app quality across a fragmented environment with end user
feedback and quality metrics available at every stage of development.
Evidence-based prioritization enable
business and IT to collaborate on mobile strategy
and user experience
Over the air app distribution get the latest in
the hands of testers as soon as it is available
Frictionless bug reporting spend every minute
on testing latest and greatest builds,
not the hassles
In-app crash reporting rapid understanding
of why an app fails
Sentiment analysis mine app ratings and
reviews to extract actionable feedback before they
go viral
2015 IBM Corporation
28
Get the details behind app sentiment score
at a glance
App category, app quality score, # of reviews & daily average, trend
Quality attribute, # of reviews & daily
average, trend, and signals
2015 IBM Corporation
29
Quality attribute scorecard
2015 IBM Corporation
30
Compare your app against your competitors
2015 IBM Corporation
31
Discover whats trending with top review
clusters
2015 IBM Corporation
32
MobileFirst Platform Application Scanning
Detect vulnerabilities at the time of code change to reduce risk of data leakage
and breaches
+ A single Eclipse Integrated Development
Environment (IDE). Scan existing code
projects or MFP Studio projects
+ Native and hybrid mobile applications support
+ Enhanced JavaScript analysis, which
includes improved performance and
additional framework support
+ Optionally connect to IBM Security AppScan
Enterprise Server to share scan
configurations, filters, and custom rules
across all projects
2015 IBM Corporation
Application
Scanning!
33
Security Features Mapping
Proactively enforce
security updates
Protect data on the device
Encrypted
cache / DB
Offline
authentication
Secure
challengeresponse on
startup
App
authenticity
testing
Mobile
platform as a
trust factor
Authentication
integration
framework
Data
protection
realms
Coupling
device id with
user id
Streamline corporate
security approval
processes
Device
provisioning
integration
Proven
platform
security
Provide robust
authentication and
authorization to secure users
2015 IBM Corporation
Remote
disable
SSL with
server
identity
verification
Direct update
Code
obfuscation
Protect from
Known Application
Security Threats
34
Flexible authentication framework
+ Security tests are a series of realm tests which
can be put into a sequence or all or nothing
MFP
Client
SDK
JSON
HTTPs
Protecting resources, procedures and mobile apps
MFP
Server
+ MFP provides framework for users to define the
security test and the individual real test
+ There are also out-of-the-box pre-packaged
realm tests and security tests (e.g. form-based
auth, LTPA auth, cookie-based auth)
Security Tests are
triggered on startup
or on demand.
Security Tests
Realm4: Custom Authentication
Realm3: User Credential Testing (Question 2)
Realm2: User Credential Testing (Question 1)
Realm1: App Authenticity Testing
2015 IBM Corporation
35
OAuth 2.0 Support
+ MFP Server provides REST endpoints for OAuth-based authorization
+ Developers can extend the mobile-specific security and analytics capabilities
of MFP to existing enterprise services
+ Approach does not require any changes to existing enterprise services
2015 IBM Corporation
36
User-certificate provisioning for client-side
authentication
+ X509 certificates
Are installed on devices and can can be used to automate user authentication
+ Certificate provisioning options
For all apps on a device
For a particular app
+ Benefits
Cost saving: Certificates are typically provided by MDM solutions and is quite costly (some charge $70
per device).
Usability: Simple, automated user authentication; Users device does not need to be managed by an MDM
2015 IBM Corporation
37
Protecting data on the device
Protect data on the device!
Encrypted
cache / DB
Offline
authentication
Secure
challengeresponse on
startup
App
authenticity
testing
Device theft
Offline access
Phishing, repackaging
Device
provisioning
integration
+ Encrypted JSON Store
+ Offline authentication using password
+ Extended authentication with server using secure challenge response
+ App authenticity testing: server-side verification mechanism to mitigate risk of Phishing through
repackaging or app forgery
+ Device provisioning integration: allow for the authentication of devices in addition to apps and users
+ HTTPS/TLS based initiation of MFP Server connectivity from MFP Client runtime using FIPS 140-2
compliant libraries
- Tie in with User-Provision to use X509 Cert in establishing HTTPS/TLS connection using user certificate
- On top of the already compliancy for communication (data in transit) and for storage (JSONStore)
2015 IBM Corporation
38
Application Authenticity
+Mobile apps installed on a device represent a point of vulnerability
Apps are binary packages protected by mobile OS but that may not be enough
+MobileFirst Platform helps protect your enterprise from compromised apps by
detecting potential tampering and blocking access from the app to the enterprise
Administrative tools make it easy to enable and monitor app authenticity
+Application authenticity protections apply to Android, iOS, and WP8 platforms
2015 IBM Corporation
39
Application Security
Proven
platform
security
SSL with
server
identity
verification
Code
obfuscation
+ Proven platform security: tested by the most
demanding customers (e.g., top tier banks)
+ Client<->Middleware communications over
HTTPS to prevent data leakage
Protect from
Known Application
Security Threats !
+ Server certificate is automatically verified
to thwart man-in-the-middle attacks
+ Developers can obfuscate application JS
code to make static analysis more difficult
+ SQL adapter designed to mitigate
SQL-injection
+ Built-in audit trail
Hacking
Eavesdropping
Man-in-the-middle
2015 IBM Corporation
40
Protecting app source code
+ Obfuscate and minimize JavaScript
resources to better protect source code in
a hybrid app
Simple wizard in both Studio and CLI environments
+ Google Closure used to perform obfuscation
and minification
+ Android ProGuard support makes it easy to
encrypt Java resources included in an
Android app
+ Predefined ProGuard configuration files are
included for ease of use
2015 IBM Corporation
41
Block access to specified devices or apps
+ Allows MFP admin to block a devices access to the MFP Server
+ Admin has the option to block access for the entire device or for a particular
application on the device
+ Device can be marked as stolen, lost, or disabled for record keeping
2015 IBM Corporation
42
Key generation, encryption, and decryption
APIs
+ MFP provides APIs that make it easy to secure content used by the app (PDFs,
images, text documents, etc.) on a device
+ The APIs provide key generation, encryption, and decryption capabilities
+ Key generation, encryption and decryption APIs can be used in conjunction with
the JSONStore
2015 IBM Corporation
43
Secure inter-application data sharing
+ New API allows developers to securely share data between applications in an
application family
+ The API can be used to share security tokens and other small data sets
Data is always shared as a string
+ Native API support on iOS and Android in addition to JavaScript API
Hybrid applications
WL.Client.setSharedToken({key: myName, value: myValue})
WL.Client.getSharedToken({key: myName})
WL.Client.clearSharedToken({key: myName})
iOS native applications
[WLSimpleDataSharing setSharedToken: myName value: myValue];
NSString* token = [WLSimpleDataSharing getSharedToken: myName]];
[WLSimpleDataSharing clearSharedToken: myName];
Android native applications
WLSimpleSharedData.setSharedToken(myName, myValue);
String token = WLSimpleSharedData.getSharedToken(myName);
WLSimpleSharedData.clearSharedToken(myName);
2015 IBM Corporation
44
Device Single Sign-On (SSO)
+ Enables a mobile user to authenticate once and gain access to all apps from the
same organization (technically, with the same developer certificate) without reauthenticating.
+ Supports integration with DataPower, ISAM, and other web gateways
Implemented using combination
of server-side capabilities
(realms) and unique device
identification (device ID)
Session x
MFP
Server
App 1
ID
Duplicate after receiving
ID fro App 2
Session y
App 2
On successful login the
authentication state is saved
in the database and used for
validations in subsequent
sessions from the same device.
2015 IBM Corporation
45
secure Mobile OS key store
+ Implementation
Enforcing security updates
Cant rely on users
getting the latest
software update on
their own
+ Remote Disable: shut down
specific versions of a
downloadable app, providing
users with link to update
Proactively enforce
security updates
Remote
disable!
Direct
update!
+ Direct Update: automatically
send new versions of the
locally-cached HTML/JS
resources to installed apps
2015 IBM Corporation
46
Controlled back-end integration
+ From multiple point-to-point
integrations
+ To streamlined, transparent access
MFP transforms enterprise data into
mobile-friendly, JSON format
Multiple sets of integrations to enterprise
resources to build and maintain
MFP Server manages caching, data
synchronization and end-to-end encryption
YOU manage caching, synchronization
and end-to-end encryption
App
App
DB
ERP
Engine
Cloud
Service
ERP
Engine
DB
SQL
HTTP (REST, SOAP), JMS
Cloud
Service
SAP
HTTP, CAST IRON
MFP Adapters
MFP
SERVER
JSON
Apple
Android
Blackberry
Windows
Apple
2015 IBM Corporation
Android
Blackberry
Windows
47
MFP Server: Adapters
+
+
+
+
Run time
Lightweight server-side logic to expose systems of records in a
mobile-friendly way
Automatic JSON transformation of enterprise data for quick
transport and ease of consumption by mobile developer
Server-side service composition to reduce number of
requests over slow mobile network
XSLT to reduce fat SOAP responses
Security
Automatic enablement of server-side authentication
control and audit
Analytics
Automatic collection of user actions and device and
app properties
Data sync
Enables synchronization with on-device JSON Store
Mobile user engagement
Push notifications and geo-based event management
For the server developer
+ JS anywhere: Simple APIs for server-side JavaScript development
+ Extensibility: Java API for custom adapters
For the client developer
+ Easy-to-use, consistent client-side API to call any back-end system
2015 IBM Corporation
SQL /
JDBC
SOAP /
HTTP
JMS
REST
CAST
IRON
Java
Extension
MFP Server
Enterprise back-ends and
Enterprise
back-ends and
cloud services
Enterprise
back-ends and
cloud services
cloud services
48
Zero-code service integration for your apps
+ Analyze SAP (NetWeaver Gateway), REST, and SOAP services to create adapters
with no manual coding
+ Discover target services and select the operations you want to use in your
mobile app
+ Work with WSDL, SAP service definitions, and any RESTful endpoint over HTTP(S)
2015 IBM Corporation
49
Automatic adapter generation for IBM BPM
workflows
+ Integrate IBM BPM workflows into your
apps without manual development
+ Use Service Discovery to explore and
select existing processes for integration
+ Work with IBM Business Process Manager
v8.5.6 and above
+ Use a standard BPM adapter to gain REST
access to processes
+ Use the BPM management console to
export an MFP project or adapter from
an IBM BPM process app
2015 IBM Corporation
50
Java Adapters
+ Enable custom service development for
mobile app projects
+ Utilize JAX-RS standard-based deployment
model to describe REST service
+ Accessible using standard REST
conventions; URLs, and HTTP verbs
+ Leverage OAuth for MFP security
protection and analytics gathering
2015 IBM Corporation
51
SAP Java Connector (SAP JCo) Adapter
+ Integrate your mobile apps to SAP systems
without requiring NetWeaver
+ Deploy adapters that provide a direct
interface to JCo functions
+ Utilize the new
WL.Server.invokeSAPFunction API
+ Provide configuration info for SAP server
and user authentication
2015 IBM Corporation
52
RESTful access pattern for adapters and
enterprise services
+ Provides a RESTful invocation model for
deployed adapters/existing services
+ Allows consumption of adapters by nonmobile clients
+ Enables management of adapter invocations
by API Management solutions (i.e. IBM API
Management)
+ Extends MFP security protections via
OAuth model
+ Retains support for existing invocation model
2015 IBM Corporation
53
Centralized push notifications
To the simplicity of one
Unified push management
From the complexity of many
Multiple sets of push services to manage
SMS/MMS
Brokers
MFP Unified Push Framework
Google
Push
Apple
Push
Microsoft
Push
Google
Push
Microsoft
Push
SMS/MMS
Brokers
Feature
Phones
Android
Apple
Apple
Push
Windows
Apple
2015 IBM Corporation
Android
Windows
Feature
Phones
54
Unified Push Notifications
+ Uniform access to push notifications providers
Register for, notify, and receive a notification via MFP APIs or SMS
+ Register for and send SMS based notifications
E.g., for feature phones
Back-end
Back-end
System!
System!
Notification
State
Database
Polling
Adapters
Unified
Push API
Back-end
Back-end
System!
System!
Messagebased
Adapters
UserDevice
Database
Administrative Console
iOS
Dispatcher
iOS
Push API
Apple Push
Servers
(APN)
MFP
Client-side
Push Services
Android
Dispatcher
Android
Push API
Google Push
Servers
(GCM)
MFP
Client-side
Push Services
Windows
Phone
Dispatcher
Windows
Push API
MPNS/WNS
MFP
Client-side
Push Services
Broker API
SMS/MMS
Brokers
SMS
Dispatcher
2015 IBM Corporation
Notification statistics, SMS subscription
control
Optional 2-way SMS
55
iOS Push Notifications
+ Interactive Push Notifications
Enable developers to send Interactive Notification for iOS 8 devices
Prompts users to take action without leaving the application they are in
API support for defining category to tell the device to show predetermined set of buttons
+ Silent Push Notifications
Enable developers to send silent notification to iOS 7 onwards devices
API support for sending and receiving\handling silent push notification
2015 IBM Corporation
56
Android Push Notifications
+ Android Notifications
Support for Heads-up notification for receiving high priority notifications while using the device
Support for Cloud Sync notifications
Provide APIs to set appropriate priority
Notification support on the device lock screen
Provide APIs for what to show on lock screen
+ Server side
Optional fields in GCM properties of notification attributes
GCM: {
'visibility':''
(public, private, secret)
'priority':''
(max,high,default,low,min)
bridge': ''
(true,false)
'category':'' (promo,recommendation,social..)
..
}
+ Client side
Extract all the parameters from the received notification
Use the Notification.Builder API to build the notification object with all the extracted values
2015 IBM Corporation
57
Segmenting users for push notifications
+ Group notifications based on tags
Notifications are targeted to only a select set of users based on their topics of interest
Tags allow message producers / senders to segment devices
One or more tags can exist per application
Defined in application-descriptor.xml created during deployment
+ Broadcast, unicast and narrowcast notifications
New APIs available to send a notification to all the devices that installed the application
Also provides for an option to opt out of receiving broadcast notifications
Enhanced APIs to send a notification to specific user or device that installed the application
Support for a notification targeted to devices of a particular platform that installed the application
2015 IBM Corporation
58
Push notification management features
+ APNS Certification Expiration Management
Detect if the application has APNS certificate and then display the certification expiration date:
on the application catalog in the console.
Provide warning message while deploying the app with already expired APNS certificate
Provide REST API support for updating the expired APNS certificate and password
+ Push Notification Management APIs
Rest APIs to submit a message with the specified options to the devices specified by target
Rest APIs to Create, Delete and update a tag
Credential management for GCM, MPNS and certificate management for APNS
2015 IBM Corporation
59
Two-way SMS communication
+ Why SMS?
For feature phone users: A preferred mode of interaction
For roaming users: When data roaming fees are not affordable
In emerging markets: More reliable than Internet connection
+ SMS in MobileFirst Platform
HTTP integration with SMS gateway or aggregator for the SMS delivery
Seamless backend integration, mapping of incoming SMS to the relevant backend calls
+ Mobile user enterprise
SMS
HTTPS
MFP
Server
Backend
Service
Sends SMS messages based on
keywords published by the enterprise
+ Enterprise mobile user
Responds to a user request
SMS Gateway
Initiates a new request by sending an
SMS notification to a subscribed user
2015 IBM Corporation
60
MobileFirst Platform Geo-Location Services
Collect and use on the mobile device
Efficient, controlled
acquisition of GPS,
triangulation, and
Wi-Fi coordinates in
background and
foreground
Define points
of interest and
geo-fences
Trigger actions
based on location
changes
Store while offline,
Efficiently send to
server
Use on the server
Store
Integrate context
information with
business
processes
API availability
+ Hybrid: iOS, Android, Windows Phone 8
+ Native: IOS and Android
Handle business
events
Perform analytics
Scenarios debugable with MFPs
Mobile Simulator
2015 IBM Corporation
61
Enhancing engagement via beacon integration
+ Detect and act based on proximity to beacons
Deliver location relevant messages, information, promotions, etc. that prompt users to take action
+ Enable developers and administrators to take advantage of beacons
Admin registers and manages beacons using command line tool
Admin creates triggers that fire when users are in proximity of beacon
Developer can easily query beacon information and act on proximity triggers
2015 IBM Corporation
62
Mobile Data support: JSON Store
+ On-device, mobile database support
+ Server-to-client Sync
Embedded JSON mobile database
JavaScript APIs to store, query and update the
data in offline mode using MongoDB-like APIs
Retrieve, store and keep data store up-to-date
using adapters
+ Client-to-server Sync
+ Encrypt sensitive data
Using a key provided by developer or obtained
as users password
Simplify write actions on data while the app is
offline and send these actions to the server
+ Enterprise API-based
Apple Touch ID support
FIPS140-2-compliant
MFP
Server
JSON
Store
Mobile App
JSON
MFP
Adapter
2015 IBM Corporation
XML, JDBC,
Corporate SOA /
Enterprise Bus
Leverages corporate API / SOA layer to access
sensitive enterprise data
Back-end
system or
database
63
IBM Mobile First Platform Cloudant Local
+ The power of Cloudant NoSQL database in the privacy of your data center
+ IBM Mobile First Platform includes Cloudant Local single node license
+ Upgrade to multi-node clusters for high availability and scalability
Elastic Scalability
Multi-Structured Data
2015 IBM Corporation
Data Mobility
64
Scalable Data Service and APIs with
Flexible Deployment Options
+ Rapid schemaless development
limits dependency on IT
Cloudant
+ Store Data on-cloud or
on-prem
+ Consistent APIs in cloud
and on premise
Multitenant
Cloudant
Mobile App
+ On-cloud for fully managed,
automatic scaling
+ On-prem for more control,
data isolation
Native CRUD
Query
Sync
Device DB
Multitenant
Cloudant
On-Device
Cloudant Local
Single Node
Single Node License Included
2015 IBM Corporation
Multitenant Multitenant
Cloudant
Cloudant
Upgrade to Multi-Node Clusters for
High Availability and Scalability
65
Optimized synchronization makes it easy to
handle offline scenarios
+ Optimizes offline behavior and data sync
Your app decides when to sync databases
Remote API allows you to work with latest data or
data that isnt on the device
Shared Data (Online)
+ Generated by the enterprise
+ Shared by multiple users/devices
+ e.g. Store Inventory
+ Queried as-needed by the app, such as
for product search or category display
+ Complements JSONStore sync which enables
enterprise integration and encrypted storage
Native Language
Objects (new)
Shared Data
Local
API
Cloudant
User Data
User Data
User/Device Data (Offline)
+ Generated by the user of the app
+ User preferences, wish list, shopping cart
+ Offline data, periodically
synched
2015 IBM
Corporation to the cloud
66
Extending enterprise services via USSD
+ Unstructured Supplementary Service Data (USSD) provides a cost-effective
alternative to mobile apps in emerging markets where feature phones are still
fairly common
+ USSD (Unstructured Supplementary Service Data) is a protocol used by GSM
cellular telephones to communicate with the telecom provider.
MFP enables the following
+ Accept incoming requests from
a USSD gateway and map the
USSD short codes to
corresponding MFP adapters
+ Construct and respond with
USSD menu options
+ Invoke corresponding backend
services via MFP adapters
2015 IBM Corporation
67
Example: Mobile app using MFP for USSD
communication
MFP responds to
the gateway
request with the
USSD menu
options
(configurable)
Telco forwards
this to a USSD
gateway
HTTP/S
USSD
Gateway
Mobile User dials
USSD short code
say, *123#
Gateway maps the
short code to a known
URL provided by the
enterprise and creates
the USSD session
2015 IBM Corporation
MFP
Adapter
Enterprise
backend
Enterprise
68
Managing mobile apps with the MFP Console
2015 IBM Corporation
69
Managing mobile apps with the MFP Console
(continued)
2015 IBM Corporation
70
Managing mobile apps with the MFP Console
(continued)
2015 IBM Corporation
71
Administrators can use CLI or REST API for
management tasks
+ REST API for all administrative operations
List, deploy, delete and change applications and adapters
Device management API
Secured with basic authentication
Role-based access
XML and JSON payload
+ Ant tasks for all administrative operations
Same feature set as REST services
ANT tasks defined in worklight-ant-deployer.jar
Supports SSL and password encryption in ant files
Role-based access
+ Command Line Interface for all administrative operations
Command line version of ant tasks
Role-based access
2015 IBM Corporation
72
Examples of REST API, ANT tasks, and CLI
REST services
+ Get all applications or post a new one
/management-apis/1.0/runtimes/{runtime-name}/applications
+ Get or delete an application
/management-apis/1.0/runtimes/{runtime-name}/applications/{app name}
+ Retrieve or delete an adapter
/management-apis/1.0/runtimes/{runtime-name}/adapters/{adapter-name}
+ Lock an application version
/management-apis/1.0/runtimes/{runtime-name}/applications/{app name}/{environment}/
{version}/accessRule
Ant tasks
+ <wladm url=... user=... password=...|passwordfile=... [secure=...]>
+ <list-apps runtime=... />
+ <delete-app-version runtime=... name=... environment=... version=... />
+
<deploy-adapter runtime=... file=... />
+ </wladm>
Command Line interface
+ wladm --url= --user= ... [--passwordfile=...] lists apps [runtime-name]
+ wladm --url= --user= ... [--passwordfile=...] delete app version [runtime-name] app-name
environment version
+ wladm --url= --user= ... [--passwordfile=...] deploy adapter [runtime-name] filename.adapter
2015 IBM Corporation
73
MFP Operations Console and CLI secured
by default
+ Standard JEE security is used in the
console and CLI tools
+ Login / Logout from the console out
of the box
+ Role based access to the console
+ Simplified connection to user
repositories
Use standard role mapping in
WAS console , Liberty , Tomcat
2015 IBM Corporation
74
Role based access to administration tasks
Role
Description
monitor
Ability to view the deployed MFP projects and the deployed
artifacts, this role is a read-only role
operator
Can do all mobile application management operations but
cannot add or remove application versions or adapters.
deployer
same role as operator but can also deploy apps
and adapters.
administrator
Ability to do all application management operations
including the ability to add new versions of applications and
add and remove adapters. The app administrator can also
configure more information on the application itself such as
runtime specific settings such as SMS proxy configuration.
2015 IBM Corporation
75
In-App Notification in a mobile app using
the console
2015 IBM Corporation
76
Disable a mobile app using the console
2015 IBM Corporation
77
Direct Update for mobile apps on the device
Native Shell
Download
Pre-packaged
resources
App Store
2
3
MFP
Server
1.
2.
3.
4.
Check for
updates
Web
resources
Transfer
Cached
resources
Update web
resource
Web resources packaged with app to ensure initial offline availability
Web resources transferred to app's cache storage
App checks for updates on startup and foreground events
Updated web resources downloaded when necessary, with user confirmation or silently
2015 IBM Corporation
78
Direct update is flexible and optimized
+ Direct update is integrated into the MFP Server security framework and
exposes a client-side API for better control and customization:
Control when to invoke Direct Update
perSession, perRequest, or custom
Disable Direct Update for an app
Description
JavaScript
Direct update events listener class
name
WLDirectUpdateListener
Invoked by MFP framework once
direct update has started
onStart(statusJSON)
invoked by MFP framework once
HTTP chunk has been downloaded
onProgress(statusJSON)
invoked by MFP framework once
onFinish(statusJSON)
direct update has finished (with either
success/failure)
2015 IBM Corporation
STARTED
DOWNLOAD_IN_PROGRESS
UNZIP_IN_PROGRESS
SUCCESS
FAILURE_NETWORK_PROBLEM
FAILURE_DOWNLOADING
FAILURE_NOT_ENOUGH_SPACE
FAILURE_UNZIPPING
FAILURE_ALREADY_IN_PROGRESS
FAILURE_UNKNOWN
79
Direct Update optimization
+ End users receive only the web resources (html, CSS, Javascript) that have
changed between updates instead of the entire web resources package
+ Users receive a differential direct update when the web resources in their app
are one build behind the web resources of the application now being deployed
2015 IBM Corporation
80
Remote-controlled client-side log collection
+ MFP provides a native and JavaScript API for client-side logging
+ Administrator defines log collection profiles on the server which are
automatically retrieved by the MFP client-side runtime
By default sent on init, resume, and 75% full can be customized
+ Administrator can perform analysis and text search of client-side logs via
server-side analytics console
2015 IBM Corporation
81
Unified Client and Server Analytics
+ Out-of-the-box analytics address the following:
User adoption, device and app properties
User actions and called adapter procedures
Performance and data usage information
Exceptions, crashes, logs, response time
2015 IBM Corporation
82
Service integration analytics
+ Robust analytics for service integration usage including average response
time, average data usage, and server usage statistics
2015 IBM Corporation
83
Device analytics
+ Automatically captures information about mobile OS type, mobile OS version,
and device model type
2015 IBM Corporation
84
Server and client log inspection made easy
+ MFP Analytics Console enables easy searching of both client and server logs
2015 IBM Corporation
85
Security Analytics
+ Monitor authentication attempts to better protect against potential attacks
+ Discover reasons for authentication failures and use information to improve
user experience
+ Trace authentication failures back to specific device, network transaction, user, etc.
+ Visualize which resources are protected
2015 IBM Corporation
86
Create custom reports for your organization
+
+
+
+
2015 IBM Corporation
Save Reports
Delete Reports
Edit Report Definition
Secure Reports
87
Application Center for managing the app
testing phase
+ Share apps across developers, testers,
and other stakeholders
iOS, Android, Windows Phone 8, Windows 8,
and BlackBerry 6 and 7
Developers
+ Easily distribute app to testers
Testers
+ Easily find apps and versions to test
Testers
+ Provide rating and feedback directly
from the device
Developers
+ Access all feedback in a centralized manner
2015 IBM Corporation
88
The value of MFP for Hybrid Apps
Focus more on business logic
Decrease development cost
+ Proven optimization framework including Skins
+ Robust and extensible enterprise integration
framework
+ API discovery for SAP and SOAP
+ MFP app runtime for quick data-driven
hybrid apps
+ Encrypted JSON Store with bi-directional
synchronization
+ Efficient geo-location services and geo-fencing
+ Instant hybrid app preview
+ Accurate mobile simulator + visual location
simulator
+ Automated functional testing for hybrid apps
+ Out of the box operational analytics
Manage the mobile app lifecycle
Support the mobile ecosystem
+ Console for app management, version
enforcement, and fine-grained user control
+ Custom app templates and screen templates
+ Custom app components and shell
+ Support for enterprise SDLC integration
+ App Center for managing distributed test
process
+ Cordova is shipped with MFP; IBM provides
bug fixes and production-level support for
version shipped with MFP
+ Proven timely support for new OS versions
+ Support for use of third party libraries and
services
2015 IBM Corporation
89
The value of MFP for Native Apps
Focus more on business logic
Decrease development cost
+ Robust and extensible enterprise integration
framework
+ Proven user and app security framework
+ API discovery for SAP and SOAP
+ Encrypted JSON Store with bi-directional
synchronization
+ Efficient geo-location services and geo-fencing
+ Standard server API for push engagement
+ Automated functional testing for native apps
+ Out of the box operational analytics
Manage the mobile app lifecycle
Support the mobile ecosystem
+ Console for app management, version
enforcement, and fine-grained user control
+ Support for enterprise SDLC integration
+ App Center for managing distributed
test process
+ Proven timely support for new OS versions
+ Support for use of third party libraries
and services
2015 IBM Corporation
90
IBM MobileFirst Platform Key Differentiators
Standards-based
Flexibility and choice
Consumability
Security
Ecosystem
+ Tooling for HTML 5 development and device adaptation
+ Application lifecycle management of HTML5 artifacts
+ Leveraging de-facto standards to provide added value for developers
+ Native / hybrid / web
+ Full coverage of the hybrid spectrum
+ Leverage any 3rd Party JavaScript Framework: More choice!
+ For developers: easy learning curve, small number of programming
models, JS anywhere, small footprint
+ Collaborative development
+ Quick and easy Installation and deployment
+ Flexible security model
+ Portfolio integration
+ Advanced in-app security features
+ IBM products already leveraging MFP as a mobile standard
+ Starting to build a catalog for third-party APIs
+ MobileFirst solutions for testing, team dev, analytics, security and mgmt
2015 IBM Corporation
91
Three Ways to Get Started with IBM
1!
2!
3!
Get MFP Developer Edition here: !
https://developer.ibm.com/mobilefirstplatform/
documentation/getting-started/ !
Talk with your IBM representative or Business
Partner to find the right next step for you
Learn more at http://www.ibm.com/mobilefirst
Interact with us @ibmmobile and #ibmmobile!
2015 IBM Corporation
92
https://developer.ibm.com/mobilefirstplatform/documentation/
getting-started/
Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind,
express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have
the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM
software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities
referenced in these materials may change at any time at IBMs sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature
availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines
Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
2015 IBM Corporation
94
Molto più che documenti.
Scopri tutto ciò che Scribd ha da offrire, inclusi libri e audiolibri dei maggiori editori.
Annulla in qualsiasi momento.