mobilefirst foundation v8.0 概要と新機能 live update

38
© 2016 IBM Corporation IBM MobileFirst Foundation V8.0 概要 2016年 10月 日本アイ・ビー・エム株式会社 クラウド・ソフトウェア事業部

Upload: phamkhue

Post on 05-Feb-2017

218 views

Category:

Documents


2 download

TRANSCRIPT

© 2016 IBM Corporation

IBM MobileFirst Foundation V8.0 概要

2016年 10月日本アイ・ビー・エム株式会社クラウド・ソフトウェア事業部

© 2016 IBM Corporation 2

© Copyright IBM Corporation 2015. 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, Telelogic, the Telelogic 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.

ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。

本講演資料でIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。

記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。

IBM、IBM ロゴ、ibm.com、CICS、Tivoli、WebSphere、Zseriesは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtmlをご覧ください。

Linuxは、Linus Torvaldsの米国およびその他の国における登録商標です。Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標です。UNIXはThe Open Groupの米国およびその他の国における登録商標です。JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。

© 2016 IBM Corporation 3

ご説明順序

モバイル・アプリ開発の動向

MobileFirst Foundation V8.0 概要• モバイル・アプリ開発の課題• モバイル業務アプリ基盤(MEAP)の必要性• Webアプリ、ハイブリッドからネイティブ・アプリをサポート• ライフサイクルとV8.0新機能のメリット

• セキュリティー機能• バックエンド連携• アプリ管理機能• 統合プッシュ通知• 分析機能• システム構成例• 事例にみる効果

V8.0 新機能Live Update 概要と開発手順

© 2016 IBM Corporation 4

モバイル・アプリ開発の動向

© 2016 IBM Corporation 5

モバイル開発を成功させる必要な条件とは

のモバイル・アプリ開発プロジェクトが、・予算・スケジュール・プロジェクト目標

これら3つ全てを完全に達成できませんでした

IBM Center for Applied Insights 社員数1000人以上の米国、カナダ、ドイツ、英国、インド、日本、中国、ロシア、ブラジルの9ヵ国の開発者と開発担当マネジャー 585人に調査。

モバイル開発プロジェクト成功の秘訣

次の要因は、成功したプロジェクトとそれ以外で統計的な差はありませんでした。・チームの規模・プログラミング言語・オペレーティング・システム・使用したプラットフォーム・開発手法(ネイティブ、Web、ハイブリッド)

© 2016 IBM Corporation 66

モバイル開発プロジェクト成功の秘訣

1

2

3

4

ビジネスや業種の専門知識も兼ね備える

© 2016 IBM Corporation 7

ガートナー社、IBM を「モバイル・アプリケーション開発プラットフォーム」のマジック・クアドラントでリーダー・クアドラントのポジションに位置付け

本図表は、ガートナー・リサーチの発行物の一部であり、評価するには発行物全体をご覧いただく必要があります。ガートナーの発行物は、リクエストにより Ihttps://ibm.biz/BdXAFn からご提供することが可能です。 ガートナーは、ガートナー・リサーチの発行物に掲載された特定のベンダー、製品またはサービスを推奨するものではありません。また、最高のレーティング又はその他の評価を得たベンダーのみを選択するようテクノロジの利用者に助言するものではありません。ガートナー・リサーチの発行物は、ガートナー・リサーチの見解を表したものであり、事実を表現したものではありません。ガートナーは、明示または黙示を問わず、本リサーチの商品性や特定目的への適合性を含め、一切の保証を行うものではありません。

Gartner "Magic Quadrant for Mobile Application Development Platforms" Richard Marshall et al., 23 July 2015

“The mobile app development platform market continues to grow, evolve and mature in response to escalating customer requirements. We assess the major vendors to enable enterprise IT developers, architects and mobile development leaders to select the right platform partners. “

© 2016 IBM Corporation 8

IBM Mobile

This graphic was published by Gartner, Inc. as part of a larger research document and

should be evaluated in the context of the entire document. The Gartner document is

available upon request from IBM. Gartner does not endorse any vendor, product or service

depicted in its research publications, and does not advise technology users to select only

those vendors with the highest ratings or other designation. Gartner research publications

consist of the opinions of Gartner's research organization and should not be construed as

statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this

research, including any warranties of merchantability or fitness for a particular purpose.

*Source: Gartner “Magic Quadrant for Mobile App Development

Platforms”, Richard Marshall, Van L. Baker, Joachim Herschmann,

Jason Wong, Adrian Leow, 15 June, 2016

IBM is positioned as a Leader in the 2016

Gartner Magic Quadrant for Mobile App Development Platforms, for its ability to

execute and completeness of vision.

IBM is positioned highest in execution within the Leaders Quadrant*

This was the fourth consecutive year for IBM to be recognized as a leader in this report.

2016 Gartner Magic Quadrant for Mobile App Development Platforms

© 2016 IBM Corporation 9

MobileFirst Foundation V8.0 概要

© 2016 IBM Corporation10

モバイルアプリの課題– 表面化されていない部分も多い

運用

Back-end

Front-end

30% 表面に見える部分(mobile UI)

70% 表面下に存在

セキュリティ

ユーザー・エンゲージメント

バックエンド

プッシュ通知

オフライン

アプリ配布

位置情報

データ保護強制更新 改竄防止認証

利用分析

クラッシュ・ログ

アプリケーション管理

UI/UX設計

Web? Hybrid?

Native?

チームワーク開発

アプリ開発標準化

ライフサイクル

開発・テスト

© 2016 IBM Corporation11

Mobile Enterprise Application Platform必要性

MEAPは、企業向けアプリケーションが必要とするセキュリティ、アプリケーション管理、ログ、オフライン・データの暗号化やバックエンド・サーバーとの連携などの機能を提供し、開発・保守の生産性を向上させる基盤

業務アプリA

業務アプリB

業務アプリCAPI

業務アプリA

業務アプリB

業務アプリCAPI

iOS Android Windows

Online/offline ログ管理etc.

ダイレクトアップデート

iOS Android Windows

APS

SAPERP

バックエンドアプリ DB

HTTP (REST, SOAP), JMS

SQL SAP

HTTP, CAST IRON

CloudServiceSAP

ERP

バックエンドアプリ DB

CloudService

業務アプリB

業務アプリC

業務アプリA業務アプリA

業務アプリB

業務アプリCAPI

セキュリティ

セキュリティー

アップデート機能

ログ管理

MobileFirst Foundation では、ハイブリッド開発を採用

© 2016 IBM Corporation12

モバイル・アプリ開発の領域

• HTML5, JS, and CSS3

• 限定的なユーザー体験

• 安価なコスト

• HTML5, JS,CSS• Cordova利用• ストア経由でのインストール

• プッシュ通知• ネイティブAPI使用可

• 左記の機能

• 高速な応答• オフライン可能

• Web + ネイティブ

• 起動時と実行時の制御とナビにネイティブ画面を使用してユーザー体験を最適化

• ネイティブ開発

• 適宜、いくつかの画面はWebによるマルチOS対応

• ネイティブ開発

• 最高のユーザー体験

• OS毎の開発とメンテナンス発生によるコスト増

ハイブリッド

Web

モバイルWeb

(ブラウザーアクセス)

ネイティブシェル

(外部サイトを完全に覆って

表示)

事前にHTML5

リソースをパッケージ

HTML5 +

ネイティブUI 拡張

大部分ネイティブ

+一部HTML5

画面

完全なネイティブ

開発

Web(HTML5/JavaScript) ー ネイティブ(Obj-C,Swift,Java,C#)の比重

Pure native

MobileFirst Foundationは、全ての開発の仕方をサポート

© 2016 IBM Corporation

DB

2つのWebアプリのアーキテクチャー

フォームWebページボタン

サーバー

サーブレット/アクショ

ビジネス・デリゲート

セッション・データ

セッションBean

ドメイン ドメイン

データベース

業務ロジック[Model]

サーブレット[コントローラー]

JSP

[View]JSP

[View]

データベース

JavaEEサーバー

[業務ロジック]

RESTハンドラ

war

JavaEEサーバー MobileFirstサーバー

(アプリ管理,フォーマット変換,プロトコル変換, 認証, 他)

HTML

JavaScript

(コントローラー)

PAGE[View]

PAGE[View]

HTML5対応ブラウザー(モダンなWebアプリ)

HTML

JavaScript

(コントローラー)

PAGE[View]

PAGE[View]

MobileFirst ランタイム

モバイル(ハイブリッド)

業務ロジックを移行

war分析

サーバー

war

war

モバイル(ネイティブ)

MobileFirst ランタイム

Objective-C

Swift

Java

C#

企業内アプリストア

従来のWebアプリ

war

SAP

CICS

z/OS

Cloud

13

App Connect -> Sales Force等

コグニティブなど他サービス

© 2016 IBM Corporation14

•HTTP (REST, SOAP), JMS

•SAP •SQL

•HTTP, Cast Iron

•クラウド•サービス

•バックエンド・サービス

ネイティブ・アプリに対するMEAP機能提供

MEAPの共通機能として提供していたサーバー・アクセス・ゲートウェイ機能モバイル・デバイス・アプリ上のセキュリティ、アプリ管理、ログ収集、ローカルDB機能、

ジオ・ロケーション機能を提供

業務アプリA

業務アプリB

業務アプリC

業務アプリA

業務アプリB

業務アプリC

業務アプリA

業務アプリB

業務アプリC

セキュリティ

アプリ管理

ログ管理

APS(認証・信憑性チェック・フォーマット変換・プロトコル変換)

iOS Android Windows

iOS/Android/Windowsネイティブで利用可能

セキュリティー

• 認証フレームワーク

• 暗号化可能なJSONデータベース

• アプリ信憑性テスト

• デバイスSSO

• 遠隔アクセス無効化

アプリ管理・ログ管理

• 遠隔操作クライアント・ログ収集

• 分析ダッシュボード

• (アダプター呼び出し)カスタム・ロギング

統合

• バックエンド統合(アダプター)

• 統合プッシュ通知

• ユーザー・プロファイルのサーバー保管

• オンライン・オフライン制御(ハートビート)

当機能は、ハイブリッド開発でも利用可能

© 2016 IBM Corporation 15

オープン標準と企業向け機能を提供

15

コードベースかツールかをユーザーの好みで選択し、 MobileFirst Foundation SDKを新規や、既存のアプリに簡単に追加可能

PlatformSDKs

IDE & Tools

MobileApp Builder

EclipsePlugin foreclipse

Bring-your-own

様々な開発フレームワークに対応して、・ネイティブアプリ・ハイブリッドアプリ・Webアプリを開発可能

アプリ開発は、標準のCordova CLI、eclipse に加え、Xcode, Android Studio,Visual Studio 等各種ツールに対応

API

モバイル分析

アプリライフ

サイクル管理

バックエンド

連携

Push &

オフライン同期セキュリティー

Hybrid Cloud (オンプレミス or クラウド )

MobileFirst Foundation V8は、オープン標準なアプリに企業が必要な機能を提供・よりオープン標準な開発、クラウド(Bluemix)に対応・バックエンド連携(API Connect, DataPowerとの連携強化) ・セキュアなアプリ (柔軟な認証シナリオに対応)・開発から運用管理・分析ライフサイクル支援

IBMは Apache Cordova をコミッターとして推進IBMとApple社は2014年7月に企業分野における広範な提携2013年にXamarin社とパートナーシップ

© 2016 IBM Corporation 16

2012年2月IBMがWorklight社を買収

2012年4月 V5.0• クロスプラットフォーム

開発 (OSS拡張)• 基幹システム連携• セキュリティ• スケーラビリティ

2012年10月 V5.0.5 • SMS通知• リッチページ・

エディター

2013年 2月 V5.0.6• デバイスSSO• セキュリティ機能拡張

モバイル・アプリ基盤を提供

2015年3月 V7.0•iOS8拡張機能対応•Cloudant支援•カスタム分析•Javaアダプター•OAuth2.0認証

iOS向けツール提供

2012年 2013年2014年

2013年6月 V6.0•テスト自動化•ログ収集/分析•位置情報サービス•開発加速化(スクリーンテンプレート)•オフラインキャッシュ

2013年12月 V6.1•セキュリティ強化FIPS140-2 準拠•国際化対応•ネイティブアプリ向けAPI

開発生産性 / 運用効率を向上

2014年6月 V6.2•ネイティブ起動と

遷移制御の柔軟性向上•CLI•ネイティブ+

HTML5混合UI•シングルサインオン•JSONStore拡張

2014年12月 V6.3•新iOSに対応•SAP対応強化•HTML5タグ拡張•CLI拡張•差分直接更新•直接更新信憑性

ネイティブ・アプリ対応強化

Worklight5.0, 5.0.5

Apple提携

買収

2006年Worklight

社 設立

2015年

MobileFirst Foundationライフサイクル

Worklight5.0.6

6.0, 6.1

MobileFirst 6.2MFPF 6.3

MFPF 7.0MFPF 7.1

Xamarin

提携オープン標準の推進(コミッター参加)

Apache CordovajQuery

Worklight4.2.1, 4.2.2

iOS 6.0, 6.1、Android 2.3.3, 4.0, 4.1 4.2BlackBerry 7.1/10、W8、RT、WP8対応

iOS 7.0, 7.1、Android 4.3、4.4BlackBerry 10.2

iOS 8.0, 8.1、Android 5BlacBerry 10.3WP 8.1

iOS 9 ……Android 5 …..BlacBerry …WP 8.x ……

Apple UIガイドライン変更

Apple タッチIDプッシュ通知改善

AppleStore審査基準変更32bit登録不可

16

より良いアプリの開発を支援

ionic

提携

2015年7月 V7.1•Bluemix対応•CLI Pure cordova対応•Odata,Azure対応•運用環境改善

オープン業界標準技術 をベースに一貫して製品を拡張

iOS 10 …Watch OS2 Android 6 …..WP 8.x , 10 UWP

2016年 6月 V8.0•クラウドと親和性向上•よりオープンな開発

cordova CLI利用•アダプターと

クライアント開発の独立•運用管理の柔軟性•WatchOS2, W 10 UWPサポート•APIc essential 同梱

2016年

SOASTA

提携

MFF 8.0

よりオープンでクラウド対応

© 2016 IBM Corporation 17

V8.0 新機能とメリット

セキュリティー

新機能 メリット

•OAuth 2.0ベースの認証フレームワーク

•ソーシャル・ログイン(Facebookなどへの対応)•ユーザー毎のアクティブ・ログイン数制限•アプリ側からの認証開始•ステップアップ認証と認証の依存関係•デバイスSSO制約の緩和•WebアプリのOAuth認証対応•トラステッド・デバイス認証

開発IDE & Tools

•最新Cordova へ完全対応•パッケージ管理システム対応•SOASTAパートナーシップ

•既存 Cordova アプリのMobileFirst 機能利用が容易•Apache the Hybrid Mobile (THyM)を利用可能•最新Cordova、プラグインを利用可能•WebViewの置き換え (CrossWalk,WKWebView)•Apple watchOS 2, Windows 10 native/UWP 対応•モバイル・ラピッド開発ツールを利用可能

アプリライフ

サイクル管理

•MobileFirst FoundationのBluemixのmBaaS化•サーバーコンポーネント再構築•ライブアップ・デート

•プロジェクトWARが無くなり運用が容易•開発&本番として Bluemixの利用が簡単に•DevOpsによる自動化が容易に•アダプター、セキュリティーの動的変更

モバイル分析

プッシュ通知

バックエンド連携

•サマリーデータ保管•操作コンソールからの通知•API Connect 同梱•API Connect 連携機能強化

•分析の性能向上•データの外部へのエクスポート•プッシュ通知機能の利便性向上•DataPowerによる認証、連携した構成のサポート

© 2016 IBM Corporation 18

MobileFirst Foundation V8.0 コンポーネント

Feedback Management

Reporting for Statistics

and Diagnostics

MobileFirst

アプリケーションセンター

開発チームのプロビジョニング

アプリケーション・フィードバックの管理

エンタープライズ・アプリケーションのプロビジョニングとガバナンス

デバイス・ランタイム

アプ

リケ

ーシ

ョン

・コー

MobileFirst コンソール

モバイル分析

開発 および 構成

アプリケーション・バージョン管理

エン

ター

プラ

イズ

・バ

ック

エン

ドシ

ステ

ムと

クラ

ウド

サー

ビス

MobileFirst サーバー

ユーザー認証とモバイルの信憑性

マッシュアップとサービス構成

JSON変換

バックエンド接続用のアダプター・ライブラリー

統計

とロ

グの

集計

統一プッシュ通知

クライアントサイドのアプリケーションリソース

ダイレクトアップデート

モバイルWebアプリケーション

ネイティブIDE

( Xcode, Android Studio

Visual Studio )

Eclipse Plugin

その他のIDE

コマンド・ライン・インターフェース

SDKs

Android

iOS

Windows Phone 8.1

Windows 10UWP

Webブラウザー

Windows 8.1

クロス・プラットフォーム互換レイヤー

暗号化された同期可能なストレージ

サーバー統合フレームワーク

拡張クラッシュとプラットフォームレベルの例外キャプチャー

モバイル分析用のイベントキャプチャー

5つのコンポーネントでセキュリティ、開発生産性向上、基幹連携、アプリ管理を実現

ビル

ド・エ

ンジ

シミュレーター

開発者サーバー

モバイル分析

統一プッシュ通知

© 2016 IBM Corporation19

MobileFirst Foundationセキュリティー機能概要

リスク⑥アプリ脆弱性

リスク⑤紛失・盗難

社内ネットワーク

データ

業務データ

MobileFirstサーバー

企業アプリ

リスク②アプリの改ざんマルウェア感染

企業App Store

アプリ配信

リスク③盗聴 バックエンド

システム

リスク①なりすまし・侵入

遠隔アクセス無効化

ダイレクト・アップデート

中間者攻撃対応

OAuthベースの認証フレームワーク

暗号化可能なローカルDB

(JSONStore)

実績のあるセキュリティー基盤を提供、スケーラビリティーも実証済み

改ざん防止アプリ信憑性

チェック

コード難読化

チャレンジ&レスポンス方式の認証

リスク④情報の流出

外部リソース

保護

デバイスSSO

オフライン認証

リスク⑦内部のサーバーアクセス

コンソール認証監査ログ

SQLインジェクションの防止紛失デバイス

からのアクセス制限

© 2016 IBM Corporation

Back-end system or database

Corp

ora

te S

OA

/

Ente

rprise

Bus

Mobile App

JSON Store

MobileFirst Server

MobileFirst Adapter

JSON

XML, JDBC, …

•デバイス上でモバイル・データベース・サポート- 組込みJSONモバイル・データベース- MongoDB のような保管、照会、更新 JavaScript

APIをオフラインでも利用可•センシティブなデータの暗号化

- 開発者によって提供、またはユーザー・パスワードとして受け入れられたキーを使用

- FIPS 140-2 準拠•スペースや性能情報の分析

•サーバーからクライアントへの同- アダプターを使用して、最新データの読み出し、保管

•クライアントからサーバーへの同期- アプリがオフラインの場合は単純に書出しアクション、サーバーへこれらのアクションを送信

•エンタープライズAPIベース- センシティブな企業データへのアクセスを企業APIやSOAで促進

JSONStore

20

オフライン暗号化可能データストアとサーバーのデータと同期を支援

© 2016 IBM Corporation

OAuthベース認証フレームワーク

21

セキュリティー検査

要求トークン

チャレンジハンドシェイク

受信トークン

セキュリティーAPI

チャレンジハンドラー

アクセス・トークンの取得

登録クライアントはクライアント自体を MobileFirst Server に登録します。 その時、クライアントは、そのID認証に使用される公開鍵を提供します。(アプリ・インスタンス存続期間で 1 回実行)アプリ信憑性検査がオンの時、この登録時に信憑性を検証します。

1.(アクセス・トークン要求)クライアントが特定のスコープをもつアクセス・トークンを要求

2.(許可) MobileFirst Server は、クライアントの要求のスコープがマップされたセキュリティー検査を実行

3.(トークン生成) 許可成功後、クライアントは、許可サーバーのトークン・エンドポイントにリダイレクトされ、クライアント登録の一部として提供された公開鍵を使用して認証 (登録を参照)。認証が成功すると許可サーバーは、クライアントID、要求されたスコープおよびトークンの有効期限時刻をカプセル化したデジタル署名済みアクセス・トークンをクライアントに発行

リソースの保護

1.クライアントは、取得したトークンを後続の要求にアタッチして保護リソースにアクセス

2.リソース・サーバーは許可サーバーのイントロスペクション・エンドポイントを使用してトークンを検証

3.デジタル署名を使用したクライアントID の検査、スコープが許可されている要求スコープに一致していることの検査、および有効期限が切れていないことの確認しアクセスを許可

柔軟な認証に対応し、関連した開発と保守の工数を削減

© 2016 IBM Corporation 22

バックエンド連携

MobileFirstサーバー・アダプターの場合

基幹システムへのアクセスをモバイル・フレンドリーに

• 開発者が処理しやすいようにJSONフォーマットに変換

• 遅いネットワークへ対応でリクエスト回数を減らすためにサーバー側のサービスを組み合わせ

• XSLTを利用し 大きなSOAPレスポンスを削減

セキュリティ

• 自動的にサーバー・サイドの認証制御と監査を可能に

分析

• ユーザー・アクション、デバイス、アプリ情報の自動的な収集

データ同期

• デバイス上の JSON Storeとの同期を容易に

モバイル・ユーザー・エンゲージメント

• プッシュ通知

サーバー開発者の利点

• サーバー・サイドJS 開発にシンプルなAPIを提供

• カスタム・アダプターのためにJava API を提供

クライアント開発者の利点

• どんなバックエンド・システム呼出しも一貫したAPI

MobileFirst Server

SQL / JDBC

Java アダプター

REST / SOAP

Enterprise back-ends and cloud servicesEnterprise back-ends and

cloud services基幹システムやクラウド・サービス

基幹システムへのアクセスをモバイル・フレンドリーに

App Connect -> Sales Force等

外部サーバー

Node.js

トークン喧噪

外部サーバ

ーJava

APサーバー

トークン検証

外部リソース保護(認証)

© 2016 IBM Corporation23

MobileFirst サーバー

MobileFirst SDK

パッケージされたリソース

1 ダウンロード

4

Webリソースを更新

App Store

Webリソース

キャッシュされたリソース

2 転送

3 更新を確認

MobileFirstの場合、サーバーから更新を直接配布

•アプリケーション(Webリソース)・セキュリティー Fixなどの更新

•MobileFirst

即日配布可

•ネイティブの場合

–App Store

–Google Play

–Windows ..

登録&審査

3~4週間

•差分アップデートをサポート

アプリ管理 ダイレクト・アップデート

ハイブリッド・アプリの配布を自動的に実施

© 2016 IBM Corporation

24

アプリ・ライフサイクル管理

環境、バージョン単位のアプリ管理画面

MobileFirst サーバーと管理コンソールの例

BYODやB2C などMDMが利用できない環境でも使える管理機能を提供

デバイス単位のステータスによる遠隔アクセス制御

© 2016 IBM Corporation25

通知を行いますか?

MobileFirst サーバーは、ユーザーおよびアプリにマップして、トークンを格納

はい いいえ

2. デバイス・トークンを取得

1. ベンダーのプッシュ・サービスへ問

い合わせ

ベンダー各社のプッシュ・サービス

(例: Apple APN, Google GCM,

Microsoft MPNS)

3. トークンをMobileFirst

Serverへ送信

ユーザー デバイス・トークン アプリケーション

ABC 239842983882993

MyApp

CCC 3248192 MyAppIBMApp

統一プッシュAPI

管理コンソール

バックエンドシステム

5.通知を管理コンソールの画面バックエンドからAPIから送信

6. 通知パッケージをデバイス・トークンと共にプッシュ・サービスへ

送信7. 通知をデバイスへ送信

4.

統合プッシュ通知の仕組み

iOSディスパチャー Android SMS Windows

ユーザー・デバイス DB

タグ・サブスクリプション

DB

通話状態DB

プッシュ通知アダプター

Apple, Google, Microsoft , SMS など異なるAPIを統合した仕掛けを提供

MobileFirstFoundation

SDK

© 2016 IBM Corporation

モバイル分析 ログ・統計データの活用

次の分析機能が即利用可能:

•アプリ 使用状況とデバイスアクティブ・ユーザー数新規デバイス

異常終了

•クライアント・ログ

•インフラストラクチャーサーバー、ネットワークアダプターPush Notification

•カスタム・グラフ

分析コンソールからデータ収集を有効・無効化

サーバーの分析コンソールでテキスト検索や分析が可能ロールベースのアクセス制御

特定の条件(アプリ異常終了など)でアラートを起動可能

26

© 2016 IBM Corporation

MobileFirstの一般的な高可用性構成例

DataCenter(DMZ) Backend

System 1

BackendSystem 2

LibertyProfile(同梱) orWAS or Tomcat

(Web)

負荷分散装置

(Proxy等)Internet

MobileFirst Server

MobileFirst Server

MobileDevice

ベンダーのプッシュ・サービス(Apple APN, Google GCM)

(Web)

Eclipse plugin

DB2

MobileFirstAPPL DB

DB2(同梱) or Oracle or MySQL

分析データ用サーバ

ApplicationCenter

企業内アプリ配布サーバー(iOS,Android)

•MobileFirstサーバーは、Web APサーバー同様 Active-Active構成•DBは、HA構成

27

MobileFirst CLIツール

Xcode, Android StudioVisual Studi

Cordova ツール

war

war

war

war

クラウド上での稼働も可能

API Connectprofessinal

(同梱)*

Maven

分析データ保管期間や対象によりクラスター化で対応

* 例 B2E Addresable deviceの場合 50,000APIコール/月

© 2016 IBM Corporation 28

Cordova*•端末情報(サイズ/カラー)•加速度(Acceleration)•オーディオ•カメラ•コンパス•GPS•コンタクト•Web SQL(Storage)•File•接続状態•その他 ……

•各 OS 開発環境

JSライブラリオープンソース

Eclipse plugin (THyM&MobileFirst) & CLIツール- Web・ハイブリッド・ネイティブ・アプリ基盤

jQueryMobile

MobileFirst SDKと機能•オンライン・オフライン管理•プッシュ/SMS通知•ネイティブ画面アクセス•サーバーとモバイル・データ整合性・同期•ローカル・ストレッジ利用と暗号化(JSON ストア)•接続アダプター呼出し(HTTP/SQL/他)•認証•改ざん防止•アクセス・レポート•ログ管理•Live Update

•各OS WebViewクラス •各OS提供 API

iOSAndroid

(CrossWalK 利用可)Win •iOS •Android •Win

•iOS XCode •Android SDK •Visual Studio

•打鍵テストSOASTA**(3デバイス)

UI ビルダー ***

•サンプルコードのダウンロード•開発ガイダンス•モバイル・ブラウザシミュレータ•アダプター・ビルド•アダプター・テスト

MobileFirst Server

アプリ配布

遠隔無効化

直接更新

クラッシュログ

images

CSS3

HTML5 アプリケーション Java Script

GUIビルドAntコマンドCLI

プッシュ通知

認証フレームワーク

分析サーバー

* 推奨バージョン・リリース、PAサポートでのQA受付 ** パートナーシップを締結 *** Bluemixツール

ionic**AngulerJS

オープン技術の活用で「クロスプラット・フォーム対応の最小公分母の落とし穴」とベンダー&テクノロジーロックインの回避

OSS に加え MobileFirst の提供機能

アプリ信憑性チェック

Cordova・環境の追加・ビルドとテスト実行呼出し

ベンダー提供APIへ対応

例) Facebook

Bootstrap

React.js

© 2016 IBM Corporation 29

UIビルダー

Bluemixツール Mobile Foundation V8.0 に対応

画面パターンから選択して、簡単にスマホ・アプリのプロトタイプを作成可能

© 2016 IBM Corporation 30

事例にみる効果

Rohde & Schwarz社様での営業支援端末システム• モバイルアプリ開発コスト: 60%の削減

OpenLogix社様でのB2Cアプリ開発• 新サービスのリリースまでの時間: 従来の方法より50%以上の削減

セイコーエプソン様 M-Tracer For Putter• ゴルフスイング解析アプリ開発にMFPFを活用。

• iOS/Androidのクロスプラットフォーム開発の作業工数を30%以上削減

国内外 金融機関・銀行・製造・流通での事例

• 実証されたセキュリティ機能

© 2016 IBM Corporation 31

まとめ

PlatformSDKs

IDE & Tools

MobileApp Builder

EclipsePlugin foreclipse

Bring-your-own

API

モバイル分析

アプリライフ

サイクル管理

バックエンド

連携

Push &

オフライン同期セキュリティー

Hybrid Cloud (オンプレミス or クラウド )

• 開発

ネイティブ、ハイブリッド、Webアプリのオープンな開発をサポート

• 環境

開発から本番まで、オンプレミスでもクラウド環境でも利用可能

• セキュリティー

インターネット・バンキング・アプリ~企業内まで世界中での実績

• ライフサイクル全体を支援

開発~運用管理、利用状況の分析まで

モバイル・アプリの開発と保守の生産性を高め、迅速なリリースを可能に

© 2016 IBM Corporation 32

Live Update概要と開発

© 2016 IBM Corporation 33

Live Updateアーキテクチャー

操作コンソールで設定したデータにアプリからアクセスできる仕掛け

モバイル・アプリ MobileFirst サーバー

操作コンソール

構成サービス

• Segment Resolver Adapter名• 有効期限

準備 Live Update アダプターを「ダウンロード・センター」からダウンロードして、デプロイ

• アプリの登録• アプリケーション・セキュリ

ティー設定(必須)スコープ・エレメントの追加

• スキーマの定義-フィーチャー (on/off 設定有)-プロパティー

• セグメントの定義- デフォルトでフィーチャーとプロパティーを設定

- 上書きしたデータを設定・インポートとエクスポートが可能

• Segment Resolverアダプターに引数を渡し、結果を受け取る(任意)

• セグメントにアクセスして、プロパティーを受け取る

• フィーチャーのon/offで処理を変更可能

iOSネイティブAndroidネイティブCordovaアプリ

Schema.json

Segment.json

© 2016 IBM Corporation 34

Live Update 動作例

© 2016 IBM Corporation 35

テスト用アプリケーションのコード(抜粋)

AndroidNativeアプリからの利用例

public void onClick(View v) {switch (v.getId()) {

case R.id.button:String month = monthView.getText().toString().trim();String day = dayView.getText().toString().trim();Map<String,String> segmentParams= new HashMap<>();

segmentParams.put("month",month);segmentParams.put("day",day);

LiveUpdateManager.getInstance().obtainConfiguration(segmentParams, new ConfigurationListener() {@Overridepublic void onSuccess(Configuration configuration) {

String zodiacSign = configuration.getProperty("zodiacSign");if(zodiacSign != null){

if(configuration.isFeatureEnabled("includeElement")) {zodiacSign += ":" + configuration.getProperty("element");

}final String fzodiacSign = nameView.getText().toString().isEmpty()

? "星座は"+zodiacSign+"です": nameView.getText().toString().trim()+"さんの星座は"+zodiacSign+"です";

runOnUiThread(new Runnable() {@Overridepublic void run() {

itemView.setText(fzodiacSign);}

});・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

}

セグメント取得用のデータをパラメータ(配列)

に格納

パラメータをLiveUpdateアダプターに送信

フィーチャーがOnの時の動作を実装

カスタムのSegment Resolver Adapterを利用せず、デフォルトものを利用する場合はセグメント名そのものをパラメータとして渡す

© 2016 IBM Corporation 36

Segment Resolver Adapter用アプリケーションのコード(抜粋)

Android Nativeアプリからの利用例

public String getSegment(String body) throws Exception {ISESegmentAdapterData data = gson.fromJson(body, ISESegmentAdapterData.class);String segmentName = "";Map<String, List<String>> arguments = data.getQueryArguments();

RegistrationData registrationData = data.getRegistrationData();ApplicationKey application = registrationData.getApplication();DeviceData deviceData = registrationData.getDevice();

logger.info("Application:"+application.getId()+":"+application.getVersion());logger.info("Device:"+deviceData.getHardware()+":"+deviceData.getDisplayName()

+":ID:"+deviceData.getId());

for(String key : arguments.keySet()){System.out.println(key+":"+arguments.get(key));

}

int month = Integer.parseInt(arguments.get("month").get(0).trim());int day = Integer.parseInt(arguments.get("day").get(0).trim());int holonumber = month*100+day;

segmentName = holonumber < 122 ? "Capricorn": holonumber < 220 ? "Aquarius": holonumber < 321 ? "Pisces": holonumber < 421 ? "Aries": holonumber < 521 ? "Taurus": holonumber < 622 ? "Gemini": holonumber < 724 ? "Cancer": holonumber < 824 ? "Leo": holonumber < 924 ? "Virgo": holonumber < 1024 ? "Libra": holonumber < 1123 ? "Scorpio": holonumber < 1223 ? "Sagittarius": "Capricorn";

return segmentName;}

セグメント名を返す

アプリケーションから送られたパラメータを取得

クライアントデバイス/アプリケーション情報を取得

アプリケーションから送られたパラメータを利用しなくても、例えばデバイスのタイプによってセグメントを解決させることも可能

※ISESegmentAdapterDataのコードは未掲載

© 2016 IBM Corporation 37

注意点

• Segment Resolver Adapter ランタイムに対して一つしかデプロイできない。 複数のアプリから利用する場合は、一つのSegment Resolver アダプ

ターで対応できるように開発する必要がある

• アプリのセキュリティーのスコープ・エレメント 「configuration-user-login」を必ず指定する必要がある

• キャッシュ デフォルトは、キャッシュがオン。更新はすぐに反映されません。 頻繁な更新が必要な場合は、キャッシュをオフにできます。

参考文献

Live Updatehttps://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/application-development/live-update/

© 2016 IBM Corporation 38

© Copyright IBM Corporation 2012. 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, Telelogic, the Telelogic 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.