...

IBM Bluemix オンラインセミナー Bluemix いつでもWebinarシリーズ 第27回

by user

on
Category: Documents
24

views

Report

Comments

Transcript

IBM Bluemix オンラインセミナー Bluemix いつでもWebinarシリーズ 第27回
IBM Bluemix
www.bluemix.net
IBM Bluemix オンラインセミナー
Bluemix いつでもWebinarシリーズ
第27回
「Bluemixモバイルアップデート」
日本アイ・ビー・エム
システムズ・エンジニアリング株式会社
モバイル・ソリューション
青木 悟大
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
2
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
モバイルの動向
 デバイス
 2020年で世界のスマホ出荷は頭打ち、矢野経調査(2015/6/23)
http://k-tai.impress.co.jp/docs/news/20150623_708350.html
 タブレット端末、今年度にノートPCと出荷台数が逆転へ(2015/6/22)
http://www.rbbtoday.com/article/2015/06/22/132490.html
 ビジネス規模
 Amazonのホリデーシーズンの売上、60%がモバイル端末経由(2014/12/27)
http://iphone-mania.jp/news-57095/
 2014年の米国オンライン広告売上高、モバイル広告が初めてバナー広告を上回る
http://japan.cnet.com/marketers/news/35063762/
 モバイル・インターネットのビジネス規模は2018年には3倍に
http://jp.techcrunch.com/2015/05/28/20150525mobile-internet-to-be-worth-more-than-apple-by-2018/
3
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
モバイルの開発は短期開発が求められる
モバイルへの投資は本社部門・事業部門が主導
本社部門や事業部門主導がIT部門主導を上回る
短期的かつ定量的に評価できる成果を求められやすい
UXはあっというまに減衰する
4
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
PaaSやmBaaSの活用がポイント
Paas(Platform as a Service)の活用
 必要なときに必要なミドルウェアを使用できる迅速さ
 アプリケーションロジックを自由にカスタマイズできる柔軟さ
->特にネイティブ・モバイルアプリに特化してSDK/APIを提供しているも
のはmBaaS(Mobile Backend as a Service)と呼ばれる
Traditional
On-Premises
Infrastructure
as a Service
Platform
as a Service
Software
as a Service
Applications
Applications
Applications
Applications
Data
Data
Data
Data
Runtime
Runtime
Runtime
Runtime
Middleware
Middleware
Middleware
Middleware
O/S
O/S
O/S
O/S
Virtualization
Virtualization
Virtualization
Virtualization
Servers
Servers
Servers
Servers
Storage
Storage
Storage
Storage
Networking
Networking
Networking
Networking
5
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
mBaaSとは
 ネイティブモバイル・アプリが必要とする汎用的な機能を提供するクラ
ウド・サービスの一種
 アプリケーション開発者はSDKをアプリに組み込み、これらの機能の
APIを呼び出すことで、アプリケーションの一部として取り込むことが
できる
サーバーサイド
クライアントサイド
オフライン同期
認証
データストア
操作ログ収集
プッシュ通知
管理コンソール
クラッシュログ収集
ランタイム
モニタリング
・
・
・
・
・
・
mBaaSで提供される機能の例
6
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
7
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Bluemixのモバイルへのオファリング①
8
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Bluemixのモバイルへのオファリング②
Mobile Backend
 モバイルアプリに必要となるサーバーサイドの機能を提供
=
Life cycle
+
+
+
MobileFirst Services
 モバイルアプリ開発のライフサイクルを支援
Contextual
Mobile Quality Assurance
Appscan Mobile Analyzer
 モバイルアプリにインドアロケーションや画像認識、自然言語によ
る対話の機能を提供
9
Presence Insights
Visual Recognition
Dialog
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日ご説明するサービス
Mobile Backend
 モバイルアプリに必要となるサーバーサイドの機能を提供
当セッションの対象
Life cycle
=
+
+
+
MobileFirst Services
 モバイルアプリ開発のライフサイクルを支援
Webinar 第2期第1回参照
※AppScanはiOS/Android両方に
対応しAndroid版はGA
Contextual
Mobile Quality Assurance
Appscan Mobile Analyzer
 モバイルアプリにインドアロケーションや画像認識、自然言語によ
る対話の機能を提供
Webinar 第23回参照
10
Presence Insights
Visual Recognition
Dialog
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
1.
2.
3.
4.
5.
概要
MobileFirst Serviceを使ったアプリデモ
各サービスの詳細
MobileFirst Servicesのデプロイデモ
MobileFirst Serviceまとめ
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
11
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
1.
2.
3.
4.
5.
概要
MobileFirst Serviceを使ったアプリデモ
各サービスの詳細
MobileFirst Servicesのデプロイデモ
MobileFirst Serviceまとめ
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
12
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
参考.ネイティブモバイルアプリのアーキテクチャー
ベンダーのプッシュ・サービス
(Apple APNS, Google GCM)
Internet
Push通知用
サーバー
アプリ
サーバー
モバイル
デバイス
データベース
ネイティブ
アプリ
13
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
MobileFirst Servicesのアーキテクチャー
ベンダーのプッシュ・サービス
(Apple APNS, Google GCM)
Bluemix
MobileFirst Services
Internet
プッシュ通知
MobileFirst
Services SDK
モバイル
デバイス
ネイティブ
アプリ
アプリサーバー
(+認証)
データベース
14
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
MobileFirst Services概要
MobileFirst Services Starter ボイラープレート
 以下4つのセット
 iOS/Androidのネイティブアプリにバックエンドで必要となる基本機能を提供
Node.js
Cloudant
NoSQL DB
Mobile Client
Access
IBM Push
Notifications
Webアプリケーション実行環境(ラン
タイム)
NoSQL データベースのクラウドサー
ビス
モバイルアプリに認証とモニタリン
グを提供するサービス
プッシュ通知を提供するサービス
15
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
MobileFirst Servicesを使ったサンプルアプリ
順番予約アプリ
デモ
Github:https://github.com/GodaiAoki/webinar_waitlist_sample
16
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
デモアプリのアーキテクチャー
ベンダーのプッシュ・サービス
(Apple APNS, Google GCM)
Bluemix
Internet
プッシュ通知
モバイル
デバイス
ネイティブ
アプリ
※電話呼び出しは3rd partyのTwilioで行っています。
17
Twilioの詳細は「Webinar 第2期第1回参照」
予約者情報
・受付画面Webアプリ
を保管
・ネイティブアプリ用のサービス
電話呼び出し※
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
1.
2.
3.
4.
5.
概要
MobileFirst Serviceを使ったアプリデモ
各サービスの詳細
MobileFirst Servicesのデプロイデモ
MobileFirst Serviceまとめ
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
18
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Mobile Client Accessサービス
 アクセス制御と分析
 ユーザー認証
認証方法(認証なし、または以下のいずれか1種類の認証を選択)
 SNSを利用した認証
Facebook/GoogleアカウントとのOAuth認証
 カスタム認証(次項)
独自に開発するCustom Identity Providerを利用した認証
 デフォルトは「ユーザー認証なし」
TouchIDと組み合わせた認証ポリシーが設定可能(iOS)
 初回認証で取得したアクセストークンを保持し、セッションごとに指紋認証で認証
 アクセストークンは保持せず、セッションごとに毎回認証
 初回認証でアクセストークンを保持し、以降認証は行わない
ランタイムとの統合
 Node.js用のSDKを提供/LibertyともTAIを利用して認証の統合が可能
 モニタリング(操作分析含む)
19
認証回数
新規ユーザー数/アクティブ・デバイス数
デバイス・ログ収集(操作ログ/クラッシュログ)
ネットワークのレスポンス
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
参考.カスタム認証
モバイル・アプリ
Mobile Client Access
①ログオン要求
Custom Identity
Provider(アプリ)
②startAuthentication
リクエスト
<base_path>/apps/<tenant_id>/<realm_
name>/startAuthentication
④Challenge
③Challenge
⑤Challenge Answer
以降、
Authorization
Hedarに
アクセストーク
ンをつけて
リクエスト
認証に必要な情
報を要求
(Challenge)
⑥handleChallengeAnswer
リクエスト with Challenge Answer
ユーザーリポジト
リを参照し認証の
成功・失敗を判断
<base_path>/apps/<tenant_id>/<realm_
name>/handleChallengeAnswer
⑦Success レスポンス
⑧Success レスポンス
with User Identity オブジェクト
with User Identity オブジェクト
ここで別の
Challengeを投
げると
多要素認証
20
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
モニタリング -デバイス・ログログの検索、表示
Fatal/Errorは優
先的に表示
21
23
ログのダウン
ロードも可(json
形式)
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
モニタリング -ネットワークランタイムに対する
リクエストのパス別
に応答時間を表示
22
24
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Cloudant NoSQL DBサービス
 データストア
 No SQL データベース
JSON(JavaScript Object Notation)形式でデータを保存
RESTful APIでデータのCRUDや照会
JSON文書へのアタッチメントとしてバイナリファイルも保存可能
地理空間機能(ジオフェンシングなどの機能を実装可能) など
 詳細は「Webinar 第18回 Cloudant & DashDB」参照
 Cloudant Mobile Extensions
Mobile Client Accessと統合され、セキュアにiOS ネイティブAPI経由でデータの
CRUDや照会が可能なSDKを提供
ローカルにNoSQLDBを作成し、オフライン時も利用可能
 オンライン時にCloudantとデータ同期
 オフラインのNo SQLDBの暗号化も可能
 参考.サンプルアプリ「Bluelist」
「Instructions for the Bluelist sample for iOS」
「Instructions for the Bluelist sample for Android」
23
25
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
参考.MobileFirst Cloudant extensionsのライブラリ
 CloudantSync (iOS/Android)
 Cloudant が開発したオープンソースのモバイル用SDK
1ユーザーあたり1つのDBを使えるようにすることでモバイル開発を単純化
Cloudant Syncドキュメント
 https://cloudant.com/product/cloudant-features/sync/
 CloudantToolkit (iOS/Android)
 MobileFirst Servies/MFPFで利用されるSDK
 CloudantSyncに依存
 CloudantSyncより下記の点を拡張
ネイティブオブジェクトのようにデータを扱える
リモートデータストアを容易に扱える
 IMFData(iOSのみ)
 MobileFirst Servies/MFPFで利用されるSDK
 CloudantSync/Cloudant Toolkitに依存
 セキュリティーを付与
詳細はBluemix Docs「Cloudant mobile extension」参照
24
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Push Notificationsサービス
 プッシュ通知
 柔軟な通知先
一斉送信
登録したID(ユーザー/デバイスごと)
特定のタグを購読するグループ
 GUI(ダッシュボード)、SDKまたはREST API経由で送信
 IMF Push Service REST API Documentation
 ドキュメントがテスターになっており直接動作確認可能
 モニタリング
プッシュ通知の送信数
プッシュ通知開かれた数
アプリのオープン回数
デバイスの登録数
 備考
前提となるサービスはなく、Push Notifications単独で使用することも可能
 アプリ(ランタイム)とのバインドは必須
REST APIはサービス作成時に生成されるApp Secretで保護
25
26
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
モニタリング

26
27
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
1.
2.
3.
4.
5.
概要
MobileFirst Serviceを使ったアプリデモ
各サービスの詳細
MobileFirst Servicesのデプロイデモ
MobileFirst Serviceまとめ
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
27
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
MobileFirst Servicesのデプロイ手順
デモ
1. MobileFirset Services Starter ボイラープレートの作
成
2. HelloWorldアプリのダウンロード
3. MobileOptionの確認(GUID/Route)
4. HelloWorldの初期化コードにGUID・Route設定、ア
クセス
5. HelloWorldアプリのカスタマイズ
28
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
1.
2.
3.
4.
5.
概要
MobileFirst Serviceを使ったアプリデモ
各サービスの詳細
MobileFirst Servicesのデプロイデモ
MobileFirst Serviceまとめ
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
29
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
MobileFirst Servicesでできることの例
チャット
Socket.io
認証
ファイル同期
同期
同期
位置情報に基づきクーポン発行
クーポン送付
位置情報送信
30
29
店舗確認
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
参考.Mobile Cloudとの違い
Mobile Cloud
Bluemixのもう一つのMobileBackend
詳細は「Webinar 第2期第1回参照」参照
以下の理由からMobileFirst Servicesの利用を推奨
MobileFirst ServiceはiOS8以降に対応、Mobile CloudはiOS8以
降の新機能に対応せず
MobileFirst Serviceの方が認証が柔軟・セキュア
Mobile CloudはGoogleまたはMFPFを利用した認証
Mobile Cloudは認証に固定の秘密鍵を利用
31
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
参考.MobileFirst ServicesとMFPFの互換性
MobileFirst ServiceはMFPFと互換性が意識されて
いる
MFPF v7.1 Knowledge Center『Bluemix で作成した
iOS アプリケーションの IBM MobileFirst Platform
Foundation へのマイグレーション』
 https://www01.ibm.com/support/knowledgecenter/#!/SSHS8R_7.1.0/com.ibm.worklight.migratebm.doc/migra
te_bm_app/c_migrate_bm_app_overview.html
32
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
本日のご説明内容
 はじめに
 Bluemixのモバイルへのoffering
 MobileFirst Services
 MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Containers)
33
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
MFPF on IBM Containers概要
 IBM MobileFirst Platform Foundation (旧称: IBM Worklight)
 ネイティブ・アプリ、ハイブリッド・アプリ、モバイル Web アプリの開発、テスト、
実行、管理が行えるオープンかつ包括的な機能を持つプラットフォーム
 IBM Containers
 Dockerベースのコンテナー・ サービス
 オンプレミス環境や他のクラウドサービスとの可搬性に優れている
 詳細はBluemix Docsの「IBM Containers for Bluemix」参照
 MFPF on IBM Containers
 IBM MobileFirst Platform Foundation v7.1 から IBM Containers上での実行が可
能に
2015/12/1現在提供されているのは評価版のみ
34
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
MFPF on IBM Containersの2種類のDockerイメージ
Getting Started Image
Evaluation on Containers
用途
デモおよび評価を行うためのDocker
イメージで、Bluemix上でそのままコ
ンテナを作成・実行することを想定
評価用のDockerイメージで、カスタ
マイズしてコンテナを作成することを
想定。テスト利用期間は90日間※
内容
1つのイメージ
共通サービス、ランタイム、管理、
データ、コンソール、アナリティクス
の各機能とサンプルアプリケーション
を含む
2つのイメージ
1) ランタイム、管理、データ、コ
ンソールの機能を提供
2) アナリティクスの機能を提供
入手場所
Bluemix内のレポジトリ
developerWorks
カスタマ
イズ
サンプルアプリ・サンプルデータが利
用可能。カスタマイズ不可。
カスタマイズおよび拡張可能
デプロイ
Bluemix カタログの「ibmmobilefirst-starter」イメージからす
ぐに作成可能
MFPF のドキュメント手順にのっとり、
各種シェルスクリプトを実行して作成
※Evaluation on Containersダウンロードイメージ の Software License Agreementより(2015/12/1時点)
35
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
まとめ
36
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
まとめ
モバイルアプリ開発では短期開発開発が求められる
 mBaaSの活用が重要
BluemixのMobileFirst ServiceはmBaaSとして様々な機能
を備える
 ユーザー認証、プッシュ通知、オフライン同期可能なDB、ログ収集、
モニタリング、、、etc
 MFPFとの互換性が意識されており、Poc/パイロットでは
MobileFirst Service、本番稼動ではMFPFというような展開が可
MFPF on IBM ContainerによりBluemix上でもMFPFが利用
可能に
37
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Evaluation on Containers参考資料
38
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
参考.Evaluation on Containersイメージのパッケージ①
 製品コンポーネントを含む2つのイメージ”mfpf-server”
と”mfpf-analytics”を提供します。
 実行する環境に合わせて設定をカスタマイズし、コンテナをビ
ルドします。
ビルドしたコンテナはBluemix上のContainersのレポジトリー
にイメージが登録され、実行できるようになります。
 イメージの構成
ビルド実行時に使用されるライブラリと依存関係にあ
るファイルを提供
MFPF Operational Analytics イメージ用のファイル群
MFP Server イメージ用のファイル群
39
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
参考.Evaluation on Containersイメージのパッケージ②
 イメージの構成
mfpf-server(mfpf-analytics)の構成
サーバー環境構築時に必要となる設定ファイルが含まれる
イメージのビルドに必要なスクリプト群が含まれる
実行用の
シェル
スクリプト
設定値のプロパティファイルが
含まれ、主にこれらのファイル
に設定を行う
40
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Evaluation on Containers導入環境前提
 Cloud Foundry CLI の導入
 MobileFirst Platform Command Line Interface v7.1導入
 Dockerの導入
 ICE (IBM Containers Extention) の導入
 Java SE 7 以降
41
© 2015 IBM Corporation
IBM Bluemix
www.bluemix.net
Evaluation on Containers導入手順概要
1. Bluemix に CLI経由でログイン
 設定項目:ユーザーID/パスワード/組織/スペース
$ ./initenv.sh args/initenv.properties
2. MFPFサーバーが利用するDB・プロジェクトで利用するDBの作成
 設定項目:使用するDBサービス(sqldb/cloudant)/利用プラン/DBサービス名/アプリ名

プロジェクト名を未指定の場合wladmin作成、指定するとプロジェクト用DB作成
$ ./prepareserverdbs.sh args/prepareserverdbs.properties
3. MFPFサーバーのビルド、Dockerイメージ作成※、Bluemixへプッシュ
 設定項目:イメージ名/プロジェクトフォルダのパス
$ ./prepareserver.sh args/prepareserver.properties
4. IPのリクエスト
$ ice ip request
5. プッシュしたイメージからコンテナ作成
 設定項目:使用するイメージ名/コンテナ名/IPアドレス/メモリーサイズ
/HTTPS/SSH/ボリューム/ログ/MFPFプロパティ
$ ./startserver.sh args/startserver.properties
※データベースにCloudantを利用している場合、Cloudantのスキーマを作成
42
© 2015 IBM Corporation
Fly UP