日本アイ・ビー・エム株式会社
ソフトウェア事業本部
クラウド・プラットフォーム・サービス事業部
テクニカル・セールス 李展飛
IBM Bluemix オンラインセミナー
今からはじめるBluemixシリーズ
第2期 Bluemixで実現するソリューション
第1回 「モバイル・ソリューション」
アジェンダ
モバイル関連サービス概要
API呼び出しのモバイル・サービス
•
デモ#1 : モバイル・サービスを使用したモバイル・アプリ
その他のモバイル・サービス
•
デモ#2 : Mobile Quality Assuranceモバイル・サービス
アジェンダ
モバイル関連サービス概要
API呼び出しのモバイル・サービス
•
デモ#1 : モバイル・サービスを使用したモバイル・アプリ
その他のモバイル・サービス
•
デモ#2 : Mobile Quality Assuranceモバイル・サービス
モバイル関連サービス 概要
カテゴリー
アイコン
名称
提供形態
説明
種類
Boiler-plates
Mobile
Cloud
IBM
Android、iOS、JavaScript向けのSDKを提供。
[SDK for Node.js] + [Mobile Application Security] +
[Mobile Data] + [Push] で構成されるテンプレート。
-
Run-times
SDK for
Node.js
IBM
[Mobile Cloud]ボイラー・プレートに含まれるRuntime。
MBaaS
Mobile
Mobile
Application
Security
IBM
Bluemix モバイル・サービスのアクセス制御を集中管理。
[Push]、[Mobile Data]サービス利用における前提。
MBaaS
Mobile
Data
IBM
クラウド上のデータ・ストア(オブジェクト形式)を提供。
クライアント・アプリからは、プラットフォームごとにネイティブなオブジェ
クトを操作可能(SDK提供)。
データストアの管理や実装は隠蔽。
MBaaS
Mobile
Quality
Assurance
IBM
モバイル・アプリのクラッシュ・ログやユーザー・
フィードバックなどのアプリの品質指標の管理を提供。
Other
Push
IBM
複数のモバイル・プラットフォームに対して、プッシュ
通知サービスを提供。
MBaaS
Twilio
3
rd
Party
モバイル・アプリと電話(音声)やSMSを連携させるサー
ビスを提供。
MBaaS
Security
AppScan
Mobile
Analyzer
IBM
Beta
Androidモバイル・アプリのソースコードをスキャンし、
Bluemixのモバイル・サービスとは
MBaaS (Mobile Backend as a Service)
•
モバイル・アプリが必要とするサーバー側の様々な機能を
インターネットを通じてサービスとして提供するクラウド
・サービスの一種
•
提供される機能の例
•
ユーザー認証
•
データ保管
•
プッシュ通知
•
アプリケーション開発者はこれらの機能のAPIを呼び出す
ことで、アプリケーションの一部として取り込むことが
できる
Bluemixモバイル・サービス (MBaaS)の特徴
マルチ言語サポートの一貫したSDK
•
Android Java
•
iOS Objective-C
•
JavaScript (Web, Cordova, Worklight, Node.js)
クラウド上で提供ミドルウェアのデプロイや管理は不要
3
rd
パーティーのサービスも活用可能
開発やテストを支援するサービスも提供
Mobile
Web
Node.js
2種類のモバイル関連サービス
クライアント・アプリからサービスのAPIをコール:
•
MBaaS
•
Mobile Data, Push, Twilioなど
その他:
•
モバイル・アプリのテスト/開発などをサポート
•
AppScan Mobile Analyzer、RapidApps
•
アプリ全体に機能を追加
•
Mobile Quality Assurance
アジェンダ
モバイル関連サービス概要
API呼び出しのモバイル・サービス
•
デモ#1 : モバイル・サービスを使用したモバイル・アプリ
その他のモバイル・サービス
•
デモ#2 : Mobile Quality Assuranceモバイル・サービス
Mobile Dataサービス
スケーラブルなCloudデータベース
Cloudantベース
異なるモバイル・クライアントとデータ共有
シンプルなAPI/SDK提供
Objective-C (iOS), Java (Android), JavaScript
各プラットフォームごとのネイティブ・ライクなオブジェク
トを格納するAPI
例えば、JavaScriptのプラットフォームでは、JSONオブジェクトとし
てCRUD操作可能
RDBのスキーマやSQLの知識は不要
ファイル同期
オブジェクトだけでなく、ファイルの共有も可能
Push通知を実現
アプリが起動しなくても、メッセージを通知
人や時間に応じたPush通知を実現可能
プラットフォーム固有のAPIを隠蔽
提供APIの種類
Mobile Cloud Services SDK
Objective-C (iOS), Java (Android), JavaScript
REST API
Bluemixコンソール
柔軟な通知先の選択
All
特定のユーザー
特定のタグを購読するグループ
特定のプラットフォーム
Pushサービス
Mobile Application Securityサービス
モバイル・アプリへのアクセス制御
アプリ認証
特定のアプリからのみアクセスを許可
Androidのパッケージ名
iOSのBundle ID
ユーザー/デバイス認証
GoogleアカウントまたはWorklightのユーザー認証をモバイルアプリ
に構成
特定のユーザー/デバイスのアクセス無効化をコンソールから制御
※備考:
Pushサービス、Mobile Dataサービスをよりセキュアに利用するための機能
Twilioサービス
音声、SMS、VoIPサービスを付与
Voice
電話回線を用いて高品質で安全な音声通話を実現
Client (VoIP)
インターネット回線を用いてデバイスから音声通話が可能
SMS
アプリケーションから電話へメッセージを送受信
国内では、KDDIがTwilioサービスを提供
KDDI「Twilio の機能」
http://twilio.kddi-web.com/function/
デモ#1 :
Bluemixモバイル・サービスを使用した
「順番予約アプリ」
Mobile Data
Push
Twilio
アジェンダ
モバイル関連サービス概要
API呼び出しのモバイル・サービス
•
デモ#1 : モバイル・サービスを使用したモバイル・アプリ
API
呼び出し以外のモバイル・サービス
•
デモ#2 : Mobile Quality Assuranceモバイル・サービス
Mobile Quality Assurance (MQA) サービス
エンド・ユーザー
とのつながり
ニーズの理解
情報に基づく開発
方針の決定
報告の解析
実装
更新されたア
プリの配布
• テスト対象の
入手とテスト
• 不具合の再現
• レポート
• 開発側とのつ
ながり
• アプリの活用
• 改善提案
テスト担当者
ユーザー
開発者
ビジネス・オーナー
4
1
3
2
端末上でのバグの報告: アプリケーション上で直接バグやクラッシュをレポート
1
4
2
3
アプリケーションの配布制御: テスト担当者に必要なビルドを迅速に展開
端末上でのフィードバック: アプリケーション上で直接フィードバックを送信
フィードバック分析: アプリ配布元と連携し品質評価とセンチメント分析を実施
モバイル・アプリの品質向上
MQAサービスの使い方
Bluemixコンソール
MQAサービス作成
対象プラットフォームを選択
テスト対象アプリの開発環境
MQAのライブラリーを組み込み
テスト用と実働用の2種類
MQAを有効化する設定とお決まりのコードを追加
テスト実施
Bluemixコンソール
Bugレポート、
クラッシュ・ログの確認
Bugの報告:端末をシェイクし、報告画面に遷移
・画面キャプチャー上
に直接フリーハンドで
マークやコメント
・Bug内容を文章で
コメント
デモ#2 :
Mobile Quality Assuranceモバイル・サービス
デモで使用するアプリは、下記よりダウンロード可能です。
developerWorks「完璧ではないモバイル・アプリケーションを作成する」
http://www.ibm.com/developerworks/jp/mobile/library/mo-build-imperfect-mobile-app/index.html
AppScan Mobile Analyzer (Beta)
モバイル・アプリのソースコードをスキャン解析し、
セキュリティーの問題/対応策を報告
AppScanのエンジンを使用
対象:Androidアプリ(apk)のみ (2014年11月現在)
アプリケーションの
スキャン
解析
(問題の発見)
アプリケーション・セキュリティー検査の自動化
レポート
FIX
1
2
3
(参考) スキャンする問題の一覧
Activity Hijacking
Android Class Loading
Hijacking
Android Fragment Injection
Broadcast Theft
Buffer Overflow
Client-side SQL Injection
Crash in Java Code
Crash in Native Code
Cross-Application Scripting
Cross-Site Scripting (XSS)
via Man-in-the-Middle
(MiTM)
Debug Flag Enabled on
Release Version
Debug Version Detected
File Manipulation
Insecure File Permission
Insecure Pending Intent
Phishing via
Man-in-the-Middle (MiTM)
Service Hijacking
UI Spoofing
Unsafe Reflection
Weak Random Number
Bluemixモバイル・サービス
開発者が容易にMBaaSにアクセスできるSDKを提供
Mobile Cloud SDKに含まれるサービス/ランタイム
SDK for Node.js
Mobile Data
Push
Mobile Application Security
3
rd
パーティーのモバイル・サービスも利用可能
Twilio
モバイル・アプリの開発やテストを支援するサービスも提供
Mobile Quality Assurance
AppScan Mobile Analyzer (Beta)
Bluemixモバイル・サービス = MBaaSを活用して、
高品質のアプリを簡単&迅速に開発
Bluemix 情報の入手
・Bluemixオンラインセミナー動画、資料
Bluemixの日本語チュートリアル
https://www.ibm.com/developerworks/community/groups/community/bluemix-jp/
・IBM Bluemix のフリートライアルに参加手順
http://www.ibm.com/developerworks/jp/bluemix/registration.html
・Bluemix YouTube 日本語動画リスト(Webinar録画等)
https://www.youtube.com/playlist?list=PLCJgI3_0GF1b-dOJupFdoZO_w7dEbcld2
・IBM Bluemix ハンズオン・セミナー申し込み(無料) @渋谷IBM Innovation Center
https://www-304.ibm.com/partnerworld/wps/servlet/ContentHandler/pw_frm_bpedusw_30
・IBM Bluemix 日本語HP
http://www-01.ibm.com/software/jp/info/bluemix/index.html
・Bluemix Developers Community(英語)
© Copyright IBM Corporation 2014. All rights reserved.
The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
© Copyright IBM Corporation 2014. All rights reserved.
The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.