IBM
Bluemix オンラインセミナー
日本アイ・ビー・エム
システムズ・エンジニアリング株式会社
モバイル・ソリューション 青木 悟大
Bluemix いつでもWebinarシリーズ
第27回
「Bluemixモバイルアップデート」
2
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
モバイルの動向
デバイス
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/4
モバイルの開発は短期開発が求められる
モバイルへの投資は本社部門・事業部門が主導
本社部門や事業部門主導がIT部門主導を上回る
UXはあっというまに減衰する
短期的かつ定量的に評価できる成果を求められやすい
PaaSやmBaaSの活用がポイント
Paas(Platform as a Service)の活用
必要なときに必要なミドルウェアを使用できる迅速さ
アプリケーションロジックを自由にカスタマイズできる柔軟さ
->特にネイティブ・モバイルアプリに特化してSDK/APIを提供しているも
のは
mBaaS(Mobile Backend as a Service)
と呼ばれる
Virtualization Virtualization Virtualization Virtualization
O/S O/S O/S O/S
Middleware Middleware Middleware Middleware Runtime Runtime Runtime Runtime
Data Data Data Data
Applications Applications Applications Applications Traditional
6
mBaaSとは
ネイティブモバイル・アプリ
が必要とする汎用的な機能を提供するクラ
ウド・サービスの一種
アプリケーション開発者はSDKをアプリに組み込み、これらの機能の
APIを呼び出すことで、アプリケーションの一部として取り込むことが
できる
クライアントサイド
操作ログ収集 クラッシュログ収集 ・ ・ ・サーバーサイド
データストア
認証
オフライン同期プッシュ通知
管理コンソール
ランタイム
モニタリング
・ ・ ・mBaaS
で提供される機能の例
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
8
Bluemixのモバイルへのオファリング②
Mobile Backend
モバイルアプリに必要となるサーバーサイドの機能を提供
Life cycle
モバイルアプリ開発のライフサイクルを支援
Contextual
モバイルアプリにインドアロケーションや画像認識、自然言語によ
る対話の機能を提供
MobileFirst ServicesMobile Quality Assurance Appscan Mobile Analyzer
10
本日ご説明するサービス
Mobile Backend
モバイルアプリに必要となるサーバーサイドの機能を提供
Life cycle
モバイルアプリ開発のライフサイクルを支援
Contextual
モバイルアプリにインドアロケーションや画像認識、自然言語によ
る対話の機能を提供
MobileFirst ServicesMobile Quality Assurance Appscan Mobile Analyzer
Presence Insights Visual Recognition Dialog
=
+
+
+
Webinar
第2期第1回
参照
※AppScanはiOS/Android両方に 対応しAndroid版はGAWebinar
第
23
回
参照
当セッションの対象
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
1. 概要 2. MobileFirst Serviceを使ったアプリデモ 3. 各サービスの詳細 4. MobileFirst Servicesのデプロイデモ 5. MobileFirst Serviceまとめ
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
12
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
1. 概要 2. MobileFirst Serviceを使ったアプリデモ 3. 各サービスの詳細 4. MobileFirst Servicesのデプロイデモ 5. MobileFirst Serviceまとめ
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
参考.ネイティブモバイルアプリのアーキテクチャー
アプリ サーバー ベンダーのプッシュ・サービス
(Apple APNS, Google GCM)
データベース Internet モバイル デバイス ネイティブ アプリ Push通知用 サーバー
14
MobileFirst Servicesのアーキテクチャー
ベンダーのプッシュ・サービス(Apple APNS, Google GCM)
Internet モバイル デバイス ネイティブ アプリ プッシュ通知 データベース アプリサーバー (+認証) Bluemix MobileFirst Services MobileFirst Services SDK
MobileFirst Services Starter ボイラープレート
以下4つのセット iOS/Androidのネイティブアプリにバックエンドで必要となる基本機能を提供MobileFirst Services概要
Mobile Client
Access
Cloudant
NoSQL DB
モバイルアプリに認証とモニタリン
グを提供するサービス
Node.js
Webアプリケーション実行環境(ラン
タイム)
NoSQL データベースのクラウドサー
ビス
16
MobileFirst Servicesを使ったサンプルアプリ
順番予約アプリ
デモ
デモアプリのアーキテクチャー
ベンダーのプッシュ・サービス(Apple APNS, Google GCM)
Internet モバイル デバイス ネイティブ アプリ プッシュ通知 予約者情報 を保管 ・受付画面Webアプリ ・ネイティブアプリ用のサービス Bluemix
18
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
1. 概要 2. MobileFirst Serviceを使ったアプリデモ 3. 各サービスの詳細 4. MobileFirst Servicesのデプロイデモ 5. MobileFirst Serviceまとめ
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
Mobile Client Accessサービス
アクセス制御と分析
ユーザー認証
認証方法(認証なし、または以下のいずれか1種類の認証を選択) SNSを利用した認証 Facebook/GoogleアカウントとのOAuth認証 カスタム認証(次項)独自に開発するCustom Identity Providerを利用した認証
デフォルトは「ユーザー認証なし」 TouchIDと組み合わせた認証ポリシーが設定可能(iOS) 初回認証で取得したアクセストークンを保持し、セッションごとに指紋認証で認証 アクセストークンは保持せず、セッションごとに毎回認証 初回認証でアクセストークンを保持し、以降認証は行わない ランタイムとの統合 Node.js用のSDKを提供/LibertyともTAIを利用して認証の統合が可能
モニタリング(操作分析含む)
認証回数20
参考.カスタム認証
Mobile Client Access
モバイル・アプリ
Provider(
Custom Identity
アプリ
)
①ログオン要求
②
startAuthentication
リクエスト
<base_path>/apps/<tenant_id>/<realm_ name>/startAuthentication③
Challenge
④
Challenge
⑤
Challenge Answer
⑥handleChallengeAnswerリクエストwith Challenge Answer
<base_path>/apps/<tenant_id>/<realm_ name>/handleChallengeAnswer
⑦Success レスポンス with User Identity オブジェクト ⑧Success レスポンス
with User Identity オブジェクト
ここで別の Challengeを投 げると 多要素認証 以降、 Authorization Hedarに アクセストーク ンをつけて リクエスト 認証に必要な情 報を要求 (Challenge) ユーザーリポジト リを参照し認証の 成功・失敗を判断
モニタリング
-デバイス・ログ-ログの検索、表示 Fatal/Errorは優 先的に表示 ログのダウン ロードも可(json 形式)22
モニタリング
-ネットワーク-ランタイムに対する リクエストのパス別 に応答時間を表示 24
データストア
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」
Cloudant NoSQL DBサービス
24
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に依存 セキュリティーを付与Push Notificationsサービス
プッシュ通知
柔軟な通知先
一斉送信 登録したID(ユーザー/デバイスごと) 特定のタグを購読するグループ
GUI(ダッシュボード)、SDKまたはREST API経由で送信
IMF Push Service REST API Documentation
ドキュメントがテスターになっており直接動作確認可能
モニタリング
プッシュ通知の送信数 プッシュ通知開かれた数 アプリのオープン回数 デバイスの登録数
備考
26
モニタリング
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
1. 概要 2. MobileFirst Serviceを使ったアプリデモ 3. 各サービスの詳細 4. MobileFirst Servicesのデプロイデモ 5. MobileFirst Serviceまとめ
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
28
MobileFirst Servicesのデプロイ手順
デモ
1.
MobileFirset Services Starter ボイラープレートの作
成
2.
HelloWorldアプリのダウンロード
3.
MobileOptionの確認(GUID/Route)
4.
HelloWorldの初期化コードにGUID・Route設定、ア
クセス
5.
HelloWorldアプリのカスタマイズ
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
1. 概要 2. MobileFirst Serviceを使ったアプリデモ 3. 各サービスの詳細 4. MobileFirst Servicesのデプロイデモ 5. MobileFirst Serviceまとめ
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
30
MobileFirst Servicesでできることの例
同期 Socket.io 認証 同期 チャット ファイル同期 位置情報に基づきクーポン発行 クーポン送付 位置情報送信 店舗確認 29参考.Mobile Cloudとの違い
Mobile Cloud
Bluemixのもう一つのMobileBackend
詳細は「
Webinar 第2期第1回参照
」参照
以下の理由からMobileFirst Servicesの利用を推奨
MobileFirst ServiceはiOS8以降に対応、Mobile CloudはiOS8以
降の新機能に対応せず
32
参考.MobileFirst ServicesとMFPFの互換性
MobileFirst ServiceはMFPFと互換性が意識されて
いる
MFPF v7.1 Knowledge Center『Bluemix で作成した
iOS アプリケーションの IBM MobileFirst Platform
Foundation へのマイグレーション』
https://www-01.ibm.com/support/knowledgecenter/#!/SSHS8R_7.1.0/com.ibm.worklight.migratebm.doc/migra te_bm_app/c_migrate_bm_app_overview.html
本日のご説明内容
はじめに
Bluemixのモバイルへのoffering
MobileFirst Services
MobileFirst Platform Foundation on IBM Containers(MFPF on IBM
34
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上での実行が可
能に
MFPF on IBM Containersの2種類のDockerイメージ
Getting Started Image
Evaluation on Containers
用途 デモおよび評価を行うためのDocker イメージで、Bluemix上でそのままコ ンテナを作成・実行することを想定 評価用のDockerイメージで、カスタ マイズしてコンテナを作成することを 想定。テスト利用期間は90日間※ 内容 1つのイメージ 共通サービス、ランタイム、管理、 データ、コンソール、アナリティクス の各機能とサンプルアプリケーション を含む 2つのイメージ 1) ランタイム、管理、データ、コ ンソールの機能を提供 2) アナリティクスの機能を提供 入手場所 Bluemix内のレポジトリ developerWorks カスタマ イズ サンプルアプリ・サンプルデータが利 用可能。カスタマイズ不可。 カスタマイズおよび拡張可能 デプロイ Bluemix カタログの「ibm-mobilefirst-starter」イメージからす MFPF のドキュメント手順にのっとり、 各種シェルスクリプトを実行して作成
36
まとめ
モバイルアプリ開発では短期開発開発が求められる
mBaaSの活用が重要
BluemixのMobileFirst ServiceはmBaaSとして様々な機能
を備える
ユーザー認証、プッシュ通知、オフライン同期可能なDB、ログ収集、
モニタリング、、、etc
MFPFとの互換性が意識されており、Poc/パイロットでは
MobileFirst Service、本番稼動ではMFPFというような展開が可
MFPF on IBM ContainerによりBluemix上でもMFPFが利用
可能に
38
参考.Evaluation on Containersイメージのパッケージ①
製品コンポーネントを含む2つのイメージ”mfpf-server”
と”mfpf-analytics”を提供します。
実行する環境に合わせて設定をカスタマイズし、コンテナをビ
ルドします。
ビルドしたコンテナはBluemix上のContainersのレポジトリー
にイメージが登録され、実行できるようになります。
イメージの構成
ビルド実行時に使用されるライブラリと依存関係にあ
るファイルを提供
MFPF Operational Analytics イメージ用のファイル群
40
イメージの構成
mfpf-server(mfpf-analytics)の構成
イメージのビルドに必要なスクリプト群が含まれる 設定値のプロパティファイルが 含まれ、主にこれらのファイル に設定を行う 実行用の シェル スクリプト サーバー環境構築時に必要となる設定ファイルが含まれるEvaluation on Containers導入環境前提
Cloud Foundry CLI の導入
MobileFirst Platform Command Line Interface v7.1導入
Dockerの導入
ICE (IBM Containers Extention) の導入
42 1. Bluemix に CLI経由でログイン 設定項目:ユーザーID/パスワード/組織/スペース 2. MFPFサーバーが利用するDB・プロジェクトで利用するDBの作成 設定項目:使用するDBサービス(sqldb/cloudant)/利用プラン/DBサービス名/アプリ名 プロジェクト名を未指定の場合wladmin作成、指定するとプロジェクト用DB作成 3. MFPFサーバーのビルド、Dockerイメージ作成※、Bluemixへプッシュ 設定項目:イメージ名/プロジェクトフォルダのパス 4. IPのリクエスト 5. プッシュしたイメージからコンテナ作成 設定項目:使用するイメージ名/コンテナ名/IPアドレス/メモリーサイズ /HTTPS/SSH/ボリューム/ログ/MFPFプロパティ $ ./initenv.sh args/initenv.properties