ビデオ: Configure session cache management with Liberty and WebSphere eXtreme Scale (Liberty および WebSphere eXtreme Scale でのセッション・キャッシュ管理の構成)
以下は、「Configure session cache management with Liberty and WebSphere eXtreme Scale (Liberty および WebSphere eXtreme Scale でのセッション・キャッシュ管理の構成)」ビデオのトランスクリプトです。ここでは、Liberty と WebSphere eXtreme Scale でセッション・キャッシュ管理を使用して、現在のアプリケーション・サーバーおよびデータ・アクセスのプロセスをメモリー内キャッシュにオフロードすることにより、アプリケーションのパフォーマンスを改善する方法について説明しています。このトランスクリプトは、ビデオのストーリーボードです。音声は、ナレーションとキャプションを記述しています。画面上のアクションは、ビデオに表示される内容を記述したものです。
場面 | 音声 | 画面上のアクション |
---|---|---|
1 | アプリケーションのセッションのキャッシングは、Web アプリケーションのパフォーマンスと可用性を向上させるための、最も有益で、実行が容易な構成の 1 つです。アプリケーション・サーバーを使用して、セッションの情報を保管している場合、現行プロセスをメモリー内キャッシュにオフロードすることにより、アプリケーションを超高速で実行することができます。このビデオでは、このようなキャッシングを行う際に役立つように、Liberty および WebSphere eXtreme Scale でセッション管理を素早く簡単にセットアップする方法を説明します。 Liberty は、高速、軽量、およびシンプルな Java 準拠の Web アプリケーション・コンテナーです。アプリケーション開発者はこれを使用して、アプリケーションを容易に開発、テスト、およびデプロイすることができます。 |
ビデオ・タイトル「HTTP Session Failover for WebSphere Liberty leveraging WebSphere eXtreme Scale」が表示されます。 |
2 | WebSphere eXtreme Scale は、さまざまなマシンにわたって複製される分散メモリー内データ・ストレージを提供します。 | IBM Corporation の特記事項と免責事項が表示されています。 |
3 | このビデオには、eXtreme Scale でのセッション・キャッシングの概要が含まれています。また、開発者が Liberty および WebSphere eXtreme Scale を素早くダウンロードできる手順も含まれています。さらに、Liberty での WebSphere eXtreme Scale の構成方法についても説明します。そして最後に、WebSphere eXtreme Scale によってホストされているメモリー内データ・グリッドへの HTTP セッションのフェイルオーバーを示すサンプル Web アプリケーションが含まれています。 | ビデオの内容がリストされます。
|
4 | HTTP セッション・パーシスタンスはなぜ重要なのでしょうか? HTTP セッション・パーシスタンスがなければ、アプリケーション・インスタンスで障害が発生した時、またはアプリケーション・インスタンスが応答しなくなった時にセッション・データを失うことになります。例えば、ユーザーがアイテムをショッピング・カートに追加する小売シナリオでは、アプリケーションで障害が発生した場合にセッション・フェイルオーバーが有効になっていなければ、おそらくそのユーザーは再度ログインし、ショッピング・リストを再作成しなければなりません。通常、そのような経験はお客様に不満をもたらします。 HTTP セッション・データを持続させるために、開発者には次の 3 つのオプションがあります。 1 番目のオプション: 開発者は、アプリケーション・サーバーのメモリー・スペースにセッションをローカルに保管できます。しかし、この場合、他のアプリケーション・サーバー・インスタンスは、Web アプリケーションで共通のユーザー・セッションを共有しません。インスタンスで障害が発生するとセッションが失われ、ユーザー・エクスペリエンスは望ましいものにはなりません。 2 番目のオプション: 開発者は、複数のインスタンス間で共有されているリレーショナル・データベース内にセッションを保持することができます。しかし、リレーショナル・データベースのアーキテクチャーにはスケーラビリティーに関して特有の問題があるため、ディスクに対する読み取りまたは書き込みは、メモリー内データ・グリッドに比べて遅くなります。 このビデオでは、3 番目となる最良のオプションに焦点を当てました。ここでは、Liberty は共有パーシスタンス・エンジンを使用して、WebSphere eXtreme Scale と呼ばれる、弾力性があり、スケーラブルなアーキテクチャーのメモリー内に HTTP セッション・データを保管します。Liberty を WebSphere eXtreme Scale と共に使用することにより、2 つ以上の独立した Liberty インスタンスが、Web アプリケーションで共通のユーザー・セッションを共有できます。あるインスタンスで障害が発生しても、残りのインスタンスは、障害が発生していないかのようにユーザー要求への対応を継続することができます。 HTTP セッションの高可用性を維持することが優先される場合は、WebSphere eXtreme Scale を使用してください。ランタイム・インスタンスで障害が発生しても、お客様のセッションは維持されます。お客様は障害または保守活動に気付かないため、中断またはデータ損失のない、一貫したカスタマー・エクスペリエンスを実現できます。 |
以下に示す、HTTP セッション・フェイルオーバーに関する情報が表示されます。
|
5 | WebSphere eXtreme Scale を Liberty と共に使用すると、以下のように開発者にとっていくつかの利点があります。
|
Liberty データ・キャッシングについての次の情報が表示されます。
|
場面 | 音声 | 画面上のアクション |
---|---|---|
6 | この機能を経験するために、以下の手順に従って Liberty と WebSphere eXtreme Scale for Developers Liberty を開発マシン上に素早くインストールできます。
|
以下の手順が表示されます。
|
7 | 共有されたリモート HTTP セッション・データ・グリッドとしての WebSphere eXtreme Scale の機能を示すために、Liberty Web インスタンスの dropin ディレクトリーにローカルにデプロイされているサンプル・アプリケーション (表示された URL からダウンロードしたもの) が示されます。このサンプル・アプリケーションは、セッション・オブジェクトをデータ・グリッドに配置したり、セッション・オブジェクトをデータ・グリッドから取得したりするいくつかの例を示します。 | WebSphere eXtreme Scale HTTP セッション・サンプルの図と http://ibm.co/1umQ7iy URL が表示されます。 |
8 | WebSphere eXtreme Scale データ・グリッドのクライアントである、2 つの Liberty Web インスタンスとして機能する Liberty インスタンスの構成方法について学習します。 WebSphere eXtreme Scale サーバーを、別の Liberty JVM で稼働している HTTP セッション・ストアとしてセットアップします。 そして最後に、WebSphere eXtreme Scale コンテナーのデータ・グリッド内に HTTP セッション・データを保管するように、2 つの Liberty Web インスタンスを構成します。 |
以下に示す、HTTP セッション・フェイルオーバーに関する情報が表示されます。
グラフィックは、セッション・キャッシュに接続された、Liberty 内の ServerA と ServerB を示しています。 |
場面 | 音声 | 画面上のアクション |
---|---|---|
9 | ここでは、データ・グリッドに接続するように Liberty を構成する方法について学習します。WebSphere eXtreme Scale を Liberty と共にインストールすることにより、Liberty にインストールされている HTTP セッション・アプリケーションの管理に使用できるフィーチャーにアクセスすることができます。 リモート WXS_Session_Server Liberty インスタンスの場合、サーバー・フィーチャーが設定されます。このサーバー・フィーチャーには、eXtreme Scale サーバーを実行するための機能が含まれています。つまり、eXtreme Scale のカタログとコンテナーの両方が実行されます。Liberty でカタログ・サーバーを実行する時、またはデータ・グリッド・アプリケーションを Liberty にデプロイする時に、このサーバー・フィーチャーを追加します。 webGrid フィーチャーは、WXS_Session_Server Liberty インスタンス内でセッション管理データ・グリッドをホストします。Liberty サーバーは、アプリケーションのフォールト・トレランスのために、HTTP セッション・データをキャッシュして複製するためのデータ・グリッドをホストできます。 webApp フィーチャーを使用して、ServerA および ServerB の Liberty インスタンスのセッション管理を有効にします。webApp フィーチャーには、Liberty アプリケーションを拡張する機能が含まれています。フォールト・トレランスのために HTTP セッション・データを複製したい場合は、webApp フィーチャーを追加します。catalogHostPort を、WXS_Session Server Liberty インスタンスのホストとポートに設定することを忘れないでください。 |
以下のように、WXS を実行するための Liberty の server.xml の構成に関する情報を表示します。 サーバー・フィーチャーには、カタログとコンテナーの両方の eXtreme Scale サーバーを実行するための機能が含まれています。
Liberty サーバーは、アプリケーションがフォールト・トレランスのために HTTP セッション・データを複製できるようにデータをキャッシュするデータ・グリッドをホストすることができます。
webApp フィーチャーには、Liberty Web アプリケーションを拡張する機能が含まれています。フォールト・トレランスのために HTTP セッション・データを複製したい場合は、webApp フィーチャーを追加します。
|
10 | ServerA と ServerB の両方のインスタンスで、セッション・サンプル・アプリケーションが起動されます。 ここで、Loc という名前の、ServerA 内のセッション属性が空であることを確認します。 また、ServerB でも、同じ属性が空であることを確認します。 |
localhost:9080/HttpSessionWAR/ を開いているブラウザーと localhost:9081/HttpSessionWAR/ を開いているブラウザーが表示されます。両方のブラウザーで、属性が設定されていない WebSphere eXtreme Scale HTTP セッション・サンプルが表示されています。 localhost:9080/HttpSessionWAR/ を開いているブラウザーで、「Getting an attribute」の「Attribute」に「Loc」が入力され、「Get Attribute」がクリックされる様子が表示されます。ブラウザーに、「Welcome back. Session attribute retrieved.」と表示され、Loc 属性が null に設定されています。次に、「Main Page」をクリックして前のページに戻るところが表示されます。 これらの同じ手順が、localhost:9081/HttpSessionWAR/ を開いているブラウザーで繰り返される様子が表示されます。 |
11 | 次に、Server A のアプリケーションを使用してデータ・グリッドに Loc セッション属性の値として NC を指定し、それが設定されたことを確認します。 次に、ServerB Session Application に移動し、データ・グリッドからセッション属性 Loc を取得します。 |
localhost:9080/HttpSessionWAR/ を開いているブラウザーで、「Setting an attribute」で「Attribute」に「Loc」と入力され、「Value」に「NC」と入力され、「Set Attribute」がクリックされているのが表示されます。ブラウザーには「Welcome back. Session attribute set.」と表示され、Loc 属性が NC に設定されています。次に、「Main Page」をクリックして前のページに戻るところが表示されます。最後に、「Get Attribute」がクリックされているところ、Loc 属性が NC に設定されているところ、および「Main Page」をクリックして前のページに戻るところが表示されます。 localhost:9081/HttpSessionWAR/ を開いているブラウザーで「Get Attribute」をクリックし、Loc 属性が NC に設定されているところが表示されます。次に、「Main Page」をクリックして前のページに戻るところが表示されます。 |
12 | 次に、ServerA の計画外の停止をシミュレートして、この構成をテストすることができます。これを行うには、ServerA の Liberty インスタンスを停止し、ServerB がデータ・グリッドのセッション・キャッシュから Loc セッション属性をまだ取得できることを確認します。 | 以下に示す、HTTP セッション・フェイルオーバーに関する情報が表示されます。
グラフィックは、Liberty 内の ServerA と ServerB を示しています。ServerA は線で消されており、ServerB はセッション・キャッシュに接続されています。 |
13 | ServerA はまだ稼働中です。しかし、Server A の Liberty インスタンスは、コマンド行を使用して手動で停止されます。 ServerA セッションをホストしていたブラウザーに移動し、最新表示して、使用不可の Liberty インスタンスを表示します。 |
localhost:9080/HttpSessionWAR/ を開いているブラウザーが表示されます。また、コマンド・ライン C:¥hands-in¥wlp¥bin に ServerA を停止するためのコマンドを入力しているところが表示されます。
localhost:9080/HttpSessionWAR/ を開いているブラウザーを最新表示しているところが表示されます。メッセージ「This webpage is not available」が表示されています。 |
14 | Server A は停止しているため、ServerB がまだデータ・グリッド内のセッション・データを検出できるかどうか確認することができます。そのためには、Loc セッション属性を MD の値に変更します。 | localhost:9081/HttpSessionWAR/ を開いているブラウザーで「Get Attribute」をクリックし、Loc 属性が NC に設定されている様子が表示されます。次に、「Main Page」をクリックして前のページに戻るところが表示されます。 「Attribute」に「Loc」と入力し、「Setting an attribute」の「Value」に「MD」と入力し、「Set Attribute」をクリックしているところが表示されます。ブラウザーに「Welcome back. Session attribute set.」と表示され、Loc 属性が MD に設定されています。次に、「Main Page」をクリックして前のページに戻るところが表示されます。最後に、「Get Attribute」をクリックしている様子、Loc 属性が MD に設定されている様子、および「Main Page」をクリックして前のページに戻る様子が表示されます。 |
15 | 次に、ServerA がオンラインに戻って、ServerB で属性 Loc に設定されたばかりの新規セッション値 MD を取得できることをシミュレートします。 ブラウザーが最新表示され、Server A を示しています。そこで、データ・グリッドから Loc 属性の値が取得されます。 |
localhost:9081/HttpSessionWAR/ を開いているブラウザーが表示されます。
コマンド・ライン C:¥hands-in¥wlp¥bin に ServerA を開始するためのコマンドが入力されているところも表示されます。
localhost:9080/HttpSessionWAR/ を開いているブラウザーを最新表示しているところが表示されます。ブラウザーは、属性値が設定されていない WebSphere eXtreme Scale HTTP セッション・サンプルを表示しています。 最後に、Loc 属性に対して「Get Attribute」をクリックして、それが MD に設定されているところが表示され、「Main Page」をクリックして前のページに戻るところが表示されます。 |
場面 | 音声 | 画面上のアクション |
---|---|---|
16 | おめでとうございます。HTTP セッション・ストレージとして、共有のメモリー内データ・グリッドを示す 2 つのインスタンスを持つ、最初の Liberty クラスターが作成されました。 | 以下に示す、HTTP セッション・フェイルオーバーに関する情報が表示されます。
グラフィックは、Liberty 内の ServerA と ServerB の両方のサーバーがセッション・キャッシュ接続されているのを示しています。 |
17 | このビデオでは、セッション・パーシスタンスにキャッシュを使用することの利点について学習しました。 WebSphere eXtreme Scale データ・グリッドを活用するために、アプリケーションに対するコード変更は必要ありません。 各セッションのデータは、サーバーが停止しても持続されます。 そして、WebSphere eXtreme Scale は、テラバイト単位のデータまで拡張可能で、フォールト・トレランスと高可用性のために何千ものノードにデータを複製することができます。 |
以下に示す、Liberty セッション管理に関する情報が表示されます。
|
18 | これらのリソースにアクセスして、WebSpphere eXtreme Scale を Liberty にダウンロードおよびインストールし、このデモで使用されたサンプル・アプリケーションにアクセスします。 ご視聴ありがとうございました。これで、Liberty および WebSphere eXtreme Scale でセッション・キャッシュ管理を構成するためのビデオを終了します。 |
次のリソースが表示されます。 (WASdev) https://developer.ibm.com/wasdev (WXS を Liberty と共にインストールする方法) http://youtu.be/Zu4Z1GLjMlE (デモで使用されたサンプル・アプリケーション) http://ibm.co/1umQ7iy |