Delivering Mobile Apps Faster with IBM Bluemix

Post on 16-Jul-2015

567 views 2 download

Tags:

Transcript of Delivering Mobile Apps Faster with IBM Bluemix

© 2015 IBM Corporation

Building Mobile Apps Faster and Easier with IBM BluemixSession 3526

Carlos Ferreira

Principal Product Manager Bluemix

Agenda

• What makes a great Mobile App?

• New Developer Experience improvements in Bluemix to make

great apps

• Understand how you can make an iOS Mobile App using

Bluemix via a demonstration

2

What makes a great mobile app?

Great Mobile Apps…

• Make something easier

• Are easy to use

• Provide valuable information

• Push information tailored to your interests

• Are fun and entertaining

• Save you money

• Can be hard to make..

4

Native

SMS, USSDand J2ME

HTML5 and hybrid

SMS

Great Enterprise Apps

• Building an enterprise app is much more challenging

• Stringent security and privacy requirements

• Data driven

• Design and brand requirements

• Connections to older systems can be difficult

• Many users - large, scalable, distributed systems.

• Complex deployment

5

Bad Apps are Bad for Business

6

Consumer experience

50percent

of consumers would uninstall

your app -immediately

57percent

of employees have to duplicate a given

action

65percent

of consumers would not purchase products

from your company

Work Experience

54percent

of those involved in developing apps say it

makes business processes more

difficult

Timing is critical…

7

Are your mobile development efforts focused on providing the business

value your clients expect?

~ Minutes

Platform

as a ServiceHigh Customer Impact

Low Customer Impact

IaaS

Benefits

Setup environments and

deploy apps very quickly.

Infrastructure and platform

managed by SP.

Time Commitment

Minutes to setup and

deploy.

Focus on your apps and

their data.

~ Weeks

IBM

Bluemix

~ Days

Time to initial deployment

Code

Data

Runtime

Middleware

OS

Virtualization

Servers

Storage

Networking

Core IT

The Right Services Can Help You Make a Great App

8

Data rich SecureAlways

improving Relevant

To your customers

For your enterprise

What that means…

I can do more on my device

I can trust that my data is safe

It’s better, fasteror more functional than it was yesterday

It knows me…where I am, what I’m doing andwhat I like

My customers (and other users) make better decisionsfaster

Risk and security are tailored to my enterprise needs

We easily manage new releases and assess and act on performance and usage issues

We have deep insightsin our users’ and their mobile experiences

What is Bluemix?

9

Bluemix is an open-standard, cloud-based platform for

building, managing, and running applications of all types

(web, mobile, big data, new smart devices, and so on).

Go Live in Seconds

The developer can choose

any language runtime or

bring their own. Zero to

production in one command.

DevOps

Development, monitoring,

deployment, and logging tools

allow the developer to run the

entire application.

APIs and Services

A catalog of IBM, third party,

and open source API services

allow the developer to stitch

an application together in

minutes.

On-Prem Integration

Build hybrid environments.

Connect to on-premises

assets plus other public and

private clouds.

Flexible Pricing

Try services for free and pay

only for what you use. Pay as

you go and subscription

models offer choice and

flexibility.

Layered Security

IBM secures the platform and

infrastructure and provides

you with the tools to secure

your apps.

Create apps quickly with prebuilt services

10

• Runtimes, services, and tooling up to

you

Choice

Industry Leading IBM Capabilities• Services leveraging the depth of

IBM software

• Full range of capabilities

Completeness• Open source platform and services

• Third party to enable key use cases

Security

Services

Web and

application

services

Cloud

Integration

Services

Mobile

Services

Database

services

Big Data

services

Internet of

Things

Services

Watson

Services

DevOps

Services

Bluemix provides capabilities to suit any great idea.

End-to-end Delivery Process for Web & Mobile Apps

11

Scan & Certifyto proactively mitigate risk

TestGet feedback on app quality

IntegrateWith back-end systems, data and cloud

services

Obtain Insightto better understand your

users and their mobile experiences

Manageauthentication, updates

and versions

Deployacross app stores

Plan, Design & DevelopUse your favorite tool or web IDE

Continuous DeliveryIBM Bluemix DevOp

Services

InstrumentApps for analytics, security and

management

Web IDE Sublime Eclipse

Hosted GIT Jazz SCMContinuous

IntegrationAppScan

Automated

Deployment

Monitoring

& Analytics

Auto-Scaling

Mobile Quality

Agile Planning

IBM Bluemix and MobileFirst Platform

New Leading Developer Experience improvements in Bluemix to make great apps

1. Getting Started

• Solution pages that inspire use Bluemix through use cases,

examples and samples

• Enabling Developers to get up and running quickly

• Entry Zones for Cognitive Apps ( Watson ), Mobile,

Internet of Things and Game Development

• Context Aware Documentation

• Guided Getting Started Experience

13

2. Tools and Languages - Develop The Way You Want

• New Languages: Ruby, Python, Go and PHP runtimes

• Remote Debugging for Liberty and Node

• Deploy to Bluemix from any Git repo

• Improved Mobile Experience built into platform

• Bluemix LiveSync Beta

• One click access control for apps in dev

14

3. Bluemix DevOps Services Improvements

• Seamless DevOps Services for Bluemix Local, Dedicated or

Public

• Seamless DevOps Experience Web IDE, Continuous

Delivery Pipeline, Versioning, Track and Planning

• Pipeline support for Docker

• Composable pipeline stages

15

IBM MobileFirst Platform for iOS on Bluemix

16

Runtim For Node.JS

IBM MobileFirst on Bluemix

• Provides you:

• Security - Ensure communications with your back-end

systems are secured. Your users can log in with industry

standard OAuth

• Data - Easy and securely use API calls for all create,

update and delete operations, while monitoring access

and usage.

• Push - Connect to APNS servers with minimal

configuration. Tag users and allow them to subscribe to

relevant content.

• Node.JS runtime for your business logic

• Monitoring - Operational Analytics and Application Logs

on all of the services

• IBM MobileFirst Platform is also available on premise17

IBM MobileFirst Advanced Mobile Access on Bluemix

• Operational Analytics

• Real time performance and data usage. Ensure

communications with your back end systems are secure.

• Extend base logging function specific to your app

• Security

• App users can log in with custom accounts or existing

social accounts:

• Default (‘anonymous') access

• Facebook and Google as identity providers

• Integrate your own custom authentication mechanism

with IBM MobileFirst server, see Using a custom

identity provider.

• Leverage security context when accessing custom

backends via NodeJS18

IBM MobileFirst Data on Bluemix

• Fully manage Cloudant NoSQL JSON Database where you can store,

delete, update, and query objects that are stored in the cloud

• Manage data anywhere, any time

• End users of your app store data directly on their devices for offline

use. When their device comes online, replication can synchronize

the database from the local copy to the remote copy, or from the

remote copy to the local copy.

• Dashboard to see what data is being securely stored and retrieved

• The data for your apps can have public and private databases with

varying access controls. You can restrict access to a single user or

you can provide shared access.

• Scale horizontally and geographically

• Cloudant NoSQL DB can scale and provide highly available data.

• Client API to rapidly develop apps with a simple programming model

• You can use native mobile APIs for offline synchronization, queries,

secure integration, and analytics.

19

MobileFirst Push on Bluemix

• Engage users with Push Notifications

• Straight forward setup of Push Notifications for iOS

• Fully support new interactive notifications in iOS8

• Use tagging and subscriptions to ensure that only relevant

content reaches users

• Dashboard enables you to easily select users, send

notifications and monitor performance of messages

• Leverages Advanced Mobile Access Security

20

Make an iOS Mobile App using Bluemix via a demonstration

Guided Experience for Getting Started

Start with options

A. Choose runtime / Buildpacks: Hello World

B. Sample Apps: IMF-Bluelist - Sample iOS App (Deploy To Bluemix

button)

C. Boilerplate: Runtimes / Buildpacks with a set of pre-bound services

development time and runtime services

22

Steps - B. HelloWorld

1. Ensure you have the pre-requisites for iOS Mobile Development

2. Create Bluemix Mobile App for data storage and business logic

3. Follow

https://www.ng.bluemix.net/docs/#starters/mobilefirst/gettingstart

ed/index.html#gettingstarted

4. For Swift follow these Getting Started Instructions:

https://www.ng.bluemix.net/docs/#starters/mobilefirst/gettingstart

ed/index.html#setup_sdk_cocoapods

5. Watch the youtube tutorial :

https://www.youtube.com/watch?v=IqB148R99L8&feature=youtu.

be

23

Steps - A. Start with a Sample App

1. Ensure you have the pre-requisites for iOS Mobile Development

2. Create Bluemix Mobile App for data storage and business logic

3. Download BlueList Sample iOS App

4. Configure Bluelist Sample iOS App to communicate with Bluelist

Mobile App

5. Configure Security - Authentication

6. Run the App

7. Make your own modifications and use CF Push to push them to

Bluemix

24

1. Pre-requisites

• Integrated Development Environment: Xcode v6.1.1

• Apple Mac App Store

• Managed library dependencies: Cocoa Pods v0.35

http://guides.cocoapods.org/using/getting-started.html $gem which cocoapods

$pod setup

• Sign up for a Bluemix Account: https://console.ng.bluemix.net/

• Sign up for a OAuth Security Account using Google or Facebook as an

identity provider: https://developers.facebook.com/apps/

• Download and Install CloudFoundry cf Commandline Interface

• http://docs.cloudfoundry.org/devguide/installcf/install-go-cli.html25

2. Create Bluemix Mobile App for Data Storage and Business Logic

• Sign up for a Bluemix Account and create a mobile app

• In Bluemis dashboard, click CREATE AN APP. Choose

MOBILE > iOS 8 BETA

• This creates a Advanced Mobile Backend

• Register Bluelist as a mobile client.

• Use your Bundle ID (for example: com.ibm.Bluelist) and

version (for example: 1.0.0) Use these values to set in

Xcode, under Supporting Files/Info.plist in downloaded

BlueSample

• Set up one Authentication method (Facebook, Google+, or

Custom)

• Configure Push

• Upload APNS certificate .p12 file that corresponds to your

Bundle ID26

3. Download BlueList Sample App

• Open Terminal window• $git clone https://hub.jazz.net/git/mobilecloud/imf-

bluelist

• $cd imf-bluelist/

• $cd bluelist-swift/

• $cat pod file

• $pod install

• Open the Xcode workspace: open BlueList.xcworkspace. From

now on, open the xcworkspace file.

27

4. Configure Bluelist Sample iOS Client App to communicate with Bluelist Mobile Backend App

• Update the file bluelist.plist file with your Backend Route and

App UID. These values can be found in Bluemix. First open your

application’s dashboard, then click the AMA Service, and

navigate to the Client Registration tab:

• applicationRoute: https://yourAppName.mybluemix.net

• applicationId: db33c037-cd0c-4985-affc-92b1cf8879b1

• Update the Info.plist file bundle identifier and bundle version

string match the values that you used when you registered the

mobile client. For example:

• Bundle Identifier: com.ibm.BlueList

• Bundle version string: 1.0.0

• This allows your iOS mobile client app to access your Bluemix

Mobile App for Data Storage and Business Logic

28

5. Configure Security - Authentication

• Facebook authentication

• Update the Info.plist file with your Facebook App information:

• FacebookAppID: 1581349575427190 (Client ID from Facebook

developer console)

• FacebookDisplayName: IMFSample (App name from Facebook

developer console)

• Update URL Types, Item 0, URL Schemes, update Item 0 as follows:

• URL Schemes: fb1581349575427190 (fb+Client ID from Facebook

developer console) Learn more about using Facebook as an identity

provider

• Google authentication

• Update the Info.plist file with your Google App information:

• Update URL Types (Item 1) URL Schemes like this:

• Identifier: com.ibm.BlueList (Bundle used in google developer console)

• Schemes: com.ibm.BlueList (Bundle used in google developer console)

Learn more about using Google as an identity provide

29

6. Run the App

• On your Mac Client Open workspace in Xcode

• Run your iOS Mobile client App in Xcode simulator

• From Bluemix Dashboard make sure your Bluemix Mobile

Backend (Advanced Mobile Access and NodeJS app for your

business logic) is running on Bluemix

30

7. Make your own modifications

• Learn and download the SDKs

• https://www.ng.bluemix.net/docs/#starters/mobile/index.ht

ml

• Use CF Push to push app modifications to Bluemix

31

HelloWorld

Demo

Notices and Disclaimers

Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or

transmitted in any form without written permission from IBM.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with

IBM.

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been

reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall

have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY,

EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF

THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR

LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements

under which they are provided.

Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without

notice.

Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are

presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual

performance, cost, savings or other results in other operating environments may vary.

References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,

programs or services available in all countries in which IBM operates or does business.

Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily

reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor

shall constitute legal or other guidance or advice to any individual participant or their specific situation.

It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal

counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s

business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent

or warrant that its services or products will ensure that the customer is in compliance with any law.

Notices and Disclaimers (con’t)

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 in connection with this

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

IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate

with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT

NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

PURPOSE.

The provision of the information contained herein is not intended to, and does not, grant any right or license under any

IBM patents, copyrights, trademarks or other intellectual property right.

• IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document

Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG,

Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®,

pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®,

PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®,

Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business

Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be

trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and

trademark information" at: www.ibm.com/legal/copytrade.shtml.

Thank YouYour Feedback is

Important!

Access the InterConnect 2015

Conference CONNECT Attendee Portal

to complete your session surveys from

your smartphone,

laptop or conference kiosk.

Getting Started - IMF-Bluelist

37 CPO Lunch and Learn - IBM Confidential 9

Developer

Bluemix

Deploy-CF Push

3

Client

myAppDeploy

IBM DevOps Services

myApp IMF-BluelistClone

1

myApp

2

Git Clone

myApp

38

39

40

41

42

43

44

45

46

47

48

49

50

Hello World - Create your backend

In the Bluemix dashboard, click Create an app > Mobile > iOS 8.

51

Further Assistance

Doc Getting started with IBM MobileFirst Platform for iOS:https://www.ng.bluemix.net/docs/#starters/mobilefirst/gettingstarted/index.html#gettingstarted

Doc NodeJS SDKhttps://www.ibm.com/developerworks/web/nodesdk/

52