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