Cordova クライアント・アプリケーションのダイレクト・アップデート

ダイレクト・アップデートでは、更新された Web リソースを、デプロイされたクライアント・アプリケーションに直接送信します。

ターゲット・プラットフォームの条件次第で、組織は、新しいアプリケーション・バージョンをアプリケーション・ストアやマーケットにアップロードする必要がありません。 ダイレクト・アップデート機能を使用すると、ベンダー (Apple/Google) のアプリケーション・ストアのレビュー・プロセスを介さずに、アプリケーション Web リソース (HTML、JavaScript、および CSS) を迅速に更新できます。

ダイレクト・アップデートは、Web リソースが MobileFirst Server にデプロイされる際に自動的にアクティブ化されます。アクティブ化されると、保護リソースへのすべての要求に適用されます。ダイレクト・アップデート機能を使用し、かつ Web リソース・チェックサム機能が使用可能になっていると、新規のチェックサム・ ベースが各ダイレクト・アップデートで確立されます。

ダイレクト・アップデートはネイティブ・コードの更新を目的とするものではありません。

サポートされているプラットフォーム

ダイレクト・アップデートは iOS および Android の Cordova アプリケーションに対してのみ使用可能です。

前提条件

MobileFirst Server は、フィックスパックを使用してアップグレードされた場合、引き続きダイレクト・アップデートを適切に配布します。ただし、最近ビルドされたダイレクト・アップデート・アーカイブ (.zip ファイル) がアップロードされた場合、古いクライアントへのアップデートを一時停止することがあります。その理由は、アーカイブに cordova-plugin-mfp プラグインのバージョンが含まれるためです。このアーカイブをモバイル・クライアントに提供する前に、 サーバーはクライアントのバージョンをプラグインのバージョンと比較します。2 つのバージョンが十分に近い (3 つの最上位桁が同じである) 場合、ダイレクト・アップデートが正常に行われます。それ以外の場合、MobileFirst Server は何もメッセージを出さずに更新をスキップします。バージョンの不一致の 1 つの解決策は、元の Cordova プロジェクトにあるものと同じバージョンの cordova-plugin-mfp をダウンロードし、ダイレクト・アップデート・アーカイブを再生成することです。

増分ダイレクト・アップデートおよび完全ダイレクト・アップデート

IBM MobileFirst™ Platform Foundation V8.0.0 でビルドされたクライアント・アプリケーションの場合:
  • アプリケーションの Web リソースのビルドが、現在デプロイされているアプリケーションのビルドの 1 つだけ前である場合、増分 アップデートを受け取ります。 最終デプロイメント以降に変更された Web リソースのみがダウンロードされて更新されます。
  • アプリケーションの Web リソースのビルドが、現在デプロイされているアプリケーションのビルドの 2 つ以上前である場合、完全 なアップデートを受け取ります。

セキュアなダイレクト・アップデートと非セキュアなダイレクト・アップデート

セキュアなダイレクト・アップデートが機能するためには、ユーザー定義の鍵ストア・ファイルを MobileFirst Server にデプロイし、マッチングする公開鍵のコピーをクライアント・アプリケーションに組み込みます。 クライアントが公開鍵を使用して構成されていない場合、 MobileFirst Server はダイレクト・アップデートの署名にデフォルトのサーバー鍵ストアを使用しますが、署名のマッチングは実施しません。

セキュアなダイレクト・アップデートが有効になっている場合にアーカイブの署名の暗号漏えいが発生した場合、 クライアントはアップデートを一時停止します。このような障害は、サーバー・ログにレポートされます。

注: このような障害は、正しいアダプターの起動の妨げになる場合もあります。

セキュアなダイレクト・アップデートの実装について詳しくは、 クライアント・サイドでのセキュア・ダイレクト・アップデートの実装を参照してください。

開発、テスト、実動でのダイレクト・アップデート

開発とテストの目的で、開発者は通常、単にアーカイブを開発サーバーにアップロードすることにより、ダイレクト・アップデートを使用します。 このプロセスは簡単に実装できる一方で、あまり安全ではありません。 このフェーズでは、組み込み MobileFirst 自己署名証明書から抽出された内部 RSA 鍵ペアが使用されます。

ただし、実際の実動または実動前テストのフェーズの場合、アプリケーションをアプリケーション・ストアに公開する前に、セキュア・ダイレクト・アップデートを実装することを強くお勧めします。セキュア・ダイレクト・アップデートでは、実際の CA 署名サーバー証明書から抽出される RSA 鍵ペアが必要です。

セキュア・ダイレクト・アップデートを実装するためには、ユーザー定義の鍵ストアを MobileFirst Server にデプロイし、マッチングする公開鍵をクライアント・アプリケーションにコピーします。セキュアなダイレクト・アップデートの実装について詳しくは、 クライアント・サイドでのセキュア・ダイレクト・アップデートの実装を参照してください。

注: アプリケーションがパブリッシュされた後に鍵ストア構成を変更しないように注意してください。 ダウンロードされたアップデートは、アプリケーションを新規の公開鍵で再構成して再パブリッシュしない限り、認証されなくなります。これらの 2 つのステップを実行しない場合、ダイレクト・アップデートはクライアントで失敗します。

詳しくは、ダイレクト・アップデートのライフサイクルを参照してください。

ダイレクト・アップデートのデータ転送速度

最適な状態で、1 つの MobileFirst Server は 1 秒あたり 250 MB の速度でデータをクライアントにプッシュできます。さらに高速なデータ・プッシュが必要な場合は、クラスターまたは CDN サービスを考慮してください。

詳しくは、CDN からのダイレクト・アップデート要求の処置を参照してください。