delivering mobile apps faster with ibm bluemix

52
© 2015 IBM Corporation Building Mobile Apps Faster and Easier with IBM Bluemix Session 3526 Carlos Ferreira Principal Product Manager Bluemix

Upload: carlos-ferreira

Post on 16-Jul-2015

567 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 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

Page 2: Delivering Mobile Apps Faster with IBM 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

Page 3: Delivering Mobile Apps Faster with IBM Bluemix

What makes a great mobile app?

Page 4: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 5: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 6: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 7: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 8: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 9: Delivering Mobile Apps Faster with IBM Bluemix

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.

Page 10: Delivering Mobile Apps Faster with IBM Bluemix

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.

Page 11: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 12: Delivering Mobile Apps Faster with IBM Bluemix

New Leading Developer Experience improvements in Bluemix to make great apps

Page 13: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 14: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 15: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 16: Delivering Mobile Apps Faster with IBM Bluemix

IBM MobileFirst Platform for iOS on Bluemix

16

Runtim For Node.JS

Page 17: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 18: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 19: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 20: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 21: Delivering Mobile Apps Faster with IBM Bluemix

Make an iOS Mobile App using Bluemix via a demonstration

Page 22: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 23: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 24: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 25: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 26: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 27: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 28: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 29: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 30: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 31: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 32: Delivering Mobile Apps Faster with IBM Bluemix

HelloWorld

Page 33: Delivering Mobile Apps Faster with IBM Bluemix

Demo

Page 34: Delivering Mobile Apps Faster with IBM Bluemix

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.

Page 35: Delivering Mobile Apps Faster with IBM Bluemix

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.

Page 36: Delivering Mobile Apps Faster with IBM Bluemix

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.

Page 37: Delivering Mobile Apps Faster with IBM Bluemix

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

Page 38: Delivering Mobile Apps Faster with IBM Bluemix

38

Page 39: Delivering Mobile Apps Faster with IBM Bluemix

39

Page 40: Delivering Mobile Apps Faster with IBM Bluemix

40

Page 41: Delivering Mobile Apps Faster with IBM Bluemix

41

Page 42: Delivering Mobile Apps Faster with IBM Bluemix

42

Page 43: Delivering Mobile Apps Faster with IBM Bluemix

43

Page 44: Delivering Mobile Apps Faster with IBM Bluemix

44

Page 45: Delivering Mobile Apps Faster with IBM Bluemix

45

Page 46: Delivering Mobile Apps Faster with IBM Bluemix

46

Page 47: Delivering Mobile Apps Faster with IBM Bluemix

47

Page 48: Delivering Mobile Apps Faster with IBM Bluemix

48

Page 49: Delivering Mobile Apps Faster with IBM Bluemix

49

Page 50: Delivering Mobile Apps Faster with IBM Bluemix

50

Page 51: Delivering Mobile Apps Faster with IBM Bluemix

Hello World - Create your backend

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

51

Page 52: Delivering Mobile Apps Faster with IBM Bluemix

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