WebSphere CloudBurst に Rational Automation Framework for WebSphere をプラスする

ミドルウェア・アプリケーション環境を単純化して、迅速かつ容易に再現できるようにする

IT 組織にとって、ミドルウェア・アプリケーション環境の構築、デプロイメント、構成、および再現は、いずれも重要なタスクです。けれども、この一連のタスクには非効率な部分が多々あることが多いため、ミドルウェア・アプリケーション環境を構築してデプロイするまでに相当な時間がかかってしまう可能性があります。また、環境を構成するのにもかなりの経験が必要になり、同じミドルウェア・アプリケーション環境を常に再現するのは極めて困難です。この記事では、WebSphere CloudBurst と Rational Automation Framework for WebSphere を組み合わせて、堅牢な動的 WebSphere クラウド・アプリケーション・インフラストラクチャーを実現する方法を紹介します。

Dustin Amrhein, Technical Evangelist, IBM

Author photoDustin Amrhein は、WebSphere Application Server 開発チームのメンバーとして IBM に入社しました。この開発チームに在籍している間は、主に Web サービス・インフラストラクチャーと Web サービス・プログラミング・モデルに取り組んでいました。また、Java ランタイム用の RESTful なサービスのフレームワーク開発も行いました。現在の役割は、WebSphere Client Technical Professional です。



2012年 8月 09日

このトピックに関するスキルを磨いてください

この記事は、皆さんのスキルを漸進的に磨いていくナレッジ・パスの一部となっています。「クラウド・コンピューティング: Platform as a Service の紹介」を参照してください。

WebSphere ミドルウェア・アプリケーション・インフラストラクチャーとそのインフラストラクチャーで実行するアプリケーションの構築、デプロイメント、構成は、多くのエンタープライズ IT 組織にとって中核的なタスクです。けれども、これらのタスクを実現する従来の手法には問題があり、それが非効率性と無駄を招いている可能性があります。こうした問題としては、以下のものが挙げられます。

  • 環境を構築して構成するまでに相当な時間がかかる。
  • 必要に応じていつでも同じ環境を再現することができない。
  • テストおよび開発のスタッフにあまりにも多くのインフラストラクチャーの専門知識が必要とされる。

このような非効率的な要素の数々に、仮想化および自動化されたデータ駆動型アプローチで対処するのが、IBM WebSphere CloudBurst Appliance と Rational Automation Framework for WebSphere を使用した統合ソリューションです。

WebSphere CloudBurst では、アプリケーション環境を WebSphere CloudBurst パターンという形で簡単にモデル化することができます。これらのパターンは、IBM Hypervisor Edition 仮想イメージをベースに、グラフィカル・インターフェースを使って作成することができます。IBM Hypervisor Edition 仮想イメージには、WebSphere ミドルウェア環境を構築するために必要なインフラストラクチャーに関する専門知識の多くが凝縮されているため、ものの数分で完全にエンタープライズに対応した環境をデプロイして初期化することが可能です。しかも、これらのパターンはアプライアンスに保存されます。これは、必要に応じていつでも同じ環境を簡単に再現できることを意味します。

WebSphere CloudBurst が WebSphere アプリケーション・インフラストラクチャーを迅速かつ一貫した形でデプロイするために必要な多くの要件に対処する一方、Rational Automation Framework for WebSphere は、このインフラストラクチャーをベースにアプリケーションとその依存関係を構成するにあたって WebSphere CloudBurst と同じようなメリットをもたらします。

Rational Automation Framework for WebSphere には、すぐに使用できる状態の 500 を超える WebSphere 構成アクションが同梱されています。これらのアクションには、例えば JDBC リソースの構成、JMS キューのセットアップ、アプリケーション・コンテナーのチューニング、アプリケーションのデプロイメントなど、ほぼ何でも揃っています。

Rational Automation Framework for WebSphere プロジェクトを作成し、任意の数の構成ステップを組み込み、そのプロジェクトがターゲット WebSphere セルに対して自動的に呼び出されるようにすることで、一切のスクリプトを用意することなく、アプリケーションとその依存関係を構成してデプロイすることが可能になります。

WebSphere CloudBurst とRational Automation Framework for WebSphere を統合すると、機能に重複する部分が出てくるかもしれませんが (Rational Automation Framework for WebSphere を使用して WebSphere 製品をインストールすることもできますが、その場合には、パターン・ベースの手法も、WebSphere CloudBurst が提供する迅速なデプロイメント機能も使用することができません)、この効果的な統合によって、それぞれの製品が持つ特徴と機能のもっとも優れたところが際立つことは確かです。これにより、アプリケーション環境を迅速かつ効率的に、自動化された再現可能なプロセスによって構築できるようになります。

図 1 に、それぞれのソフトウェアが受け持つ個々の役割を示します。

図 1. WebSphere CloudBurst と Rational Automation Framework for WebSphere (RAFW) の役割の概要
WebSphere CloudBurst と Rational Automation Framework for WebSphere (RAFW) の役割の概要

どのような場合にどのように統合するか

なぜ WebSphere CloudBurst と Rational Automation Framework for WebSphere を統合するのかを明らかにしたところで、この 2 つのソリューションをいつどのように統合するべきかを検討します。

WebSphere CloudBurst と Rational Automation Framework for WebSphere を統合するのは至って簡単です。基本的に、目的の WebSphere トポロジーを表す WebSphere CloudBurst パターンを作成して、そのパターンに Rational Automation Framework for WebSphere 製品に同梱されている特殊なスクリプト・パッケージを追加するだけで統合することができます。

特殊なスクリプト・パッケージは、WebSphere CloudBurst デプロイメントと Rational Automation Framework for WebSphere とを結び付けるものです。デプロイメント時に、WebSphere CloudBurst がこの統合スクリプト・パッケージを呼び出すと、CloudBurst によって作成された WebSphere セルに対し、Rational Automation Framework for WebSphere プロジェクトが実行されます。図 2 に、この 2 つのプログラム間の統合による相互作用を示します。

図 2. WebSphere CloudBurst と Rational Automation Framework for WebSphere (RAFW) の統合を示す図
WebSphere CloudBurst と Rational Automation Framework for WebSphere (RAFW) の統合を示す図

呼び出される Rational Automation Framework for WebSphere プロジェクトと、そのプロジェクトが使用する Rational Automation Framework for WebSphere 環境は、スクリプト・パッケージにパラメーターとして定義されます。つまり、これらの値をパターンに固定して設定することも、デプロイメントの直前に値を指定することもできます (スクリプトのパラメーター、およびその値をどのように指定しなければならないかについては、この記事で追って説明します)。

重要な注意事項:

WebSphere CloudBurst と Rational Automation Framework for WebSphere を統合するということは、独自のスクリプトを作成することなく、アプリケーション環境全体を 1 つのパターンにカプセル化できることを意味します。

あるいは、パターンにカプセル化する代わりに、Rational Automation Framework for WebSphere に付属している、すぐに使用できる 500 を超える WebSphere 構成アクションを利用することもできます。

WebSphere の専門知識をすぐに使用できるというメリットがあるだけでなく、この統合ソリューションは、他の重要なシナリオにも適用することができます。例えば、既存の WebSphere 環境に対応するパターンを作成して、WebSphere セルに加える変更を構成すれば、その構成を取り込んで再利用できるようになります。

既存の WebSphere 環境のパターンの作成

例えば、WebSphere CloudBurst Appliance にパターンとして「インポート」したい既存の WebSphere 環境があるとします。このアプライアンスには、ユーザーが既存の環境を指定して、その環境を新しいパターンとしてアプライアンスに取り込むために使用できる機能はありません。

けれども、Rational Automation Framework for WebSphere で既存の WebSphere セルを指し、その環境生成ツールを使用して既存の WebSphere セルから新しい Rational Automation Framework for WebSphere 環境を作成することは可能です。こうすれば、実質的に既存の WebSphere 環境の構成を保管することができます。

その後は、パターンを作成し、特殊なスクリプト・パッケージを使用して、インポートする際に作成した Rational Automation Framework for WebSphere 環境内の構成データを適用する Rational Automation Framework for WebSphere プロジェクトを指定します。これで、既存の WebSphere セルとまったく同じ WebSphere CloudBurst パターンを作成できるというわけです (図 3 を参照)。

図 3. ポイント・アンド・クリックによる既存の WebSphere 環境のパターンの作成
ポイント・アンド・クリックによる既存の WebSphere 環境のパターンの作成

構成、取り込み、再利用

場合によっては、構成の変更を手作業で WebSphere セルに適用してから、変更後の構成を取り込んで再利用することもできます。

例えば、アプリケーションのテスト中に、特定の構成を調整することによって動作を最適化できることに気付いたとします。このような発見を無駄にする手はありません。

別の例としては、あるアプリケーション環境を初めて構築するときに、まず WebSphere CloudBurst を使ってセルを迅速にデプロイした上で、アプリケーションとそのリソースを手作業で構成するのが好ましい場合もあります。

いずれの場合にしても、更新後の構成を取り込み、必要に応じてその構成を再利用することが推奨されます。そこでもまた Rational Automation Framework for WebSphere を使用して構成を取り込み、その構成を適用する Rational Automation Framework for WebSphere プロジェクトを WebSphere CloudBurst パターンのデプロイメントに統合することができます。これは最初のシナリオと同様ですが、この場合のターゲットは、レガシー環境ではないという点が異なります (図 4 を参照)。

図 4. 構成、取り込み、再利用
構成、取り込み、再利用

仮想ドメインと物理ドメインにまたがる環境のマイグレーション

アプリケーションのプロモーション・サイクルが仮想ドメインと物理ドメインの両方にまたがっている場合はよくあります。例えば、WebSphere CloudBurst を使用してテスト環境からプレ本番環境にすべてのものをデプロイできるとしても、本番環境に移行する時点で、それと同じ環境を物理ハードウェア上に構築しなければならなくなります。

WebSphere CloudBurst パターンを使用した仮想 WebSphere 環境から、ハードウェアに直接インストールされた従来の WebSphere 環境に直接移行するのは難しいところがあります。WebSphere CloudBurst パターンを物理サーバーに直接デプロイすることはできません。そのため、テストも検証も完了した環境をまったくそのまま確実に本番環境に取り込まれるようにするのは困難な場合があります。

ただし、WebSphere アプリケーション環境の構成を Rational Automation Framework for WebSphere 環境として保管すれば、同じ 1 つの Rational Automation Framework for WebSphere プロジェクトを使用して、その環境を仮想 WebSphere セルにも物理 WebSphere セルにも適用することができます。この方法を使用すれば、環境を取り込んだ後の本番環境が機能することは確実なので安心です (図 5 を参照)。

図 5. 仮想ドメインと物理ドメインにまたがる場合
仮想ドメインと物理ドメインにまたがる場合

実際の適用方法

WebSphere CloudBurst と Rational Automation Framework for WebSphere がどのように統合され、この統合がいつ使用されるかを理解できたところで、サンプル・シナリオを用いて統合手順を説明します。

ここでは、前のセクションで紹介した「構成、取り込み、再利用」スキームに従った事例を取り上げます。具体的には、手作業で Apache DayTrader J2EE アプリケーション環境を構築し、その環境を Rational Automation Framework for WebSphere のプロジェクトおよび環境として取り込んでから、WebSphere CloudBurst パターンとして再利用します。

パターンをデプロイすると、WebSphere Application Server セルが作成され、そのセルに対して Rational Automation Framework for WebSphere プロジェクトが呼び出されて Apache DayTrader アプリケーション環境が構築されます。この統合ソリューションでは、WebSphere Application Server セルをデプロイして構成するところから、Apache DayTrader アプリケーション環境をデプロイして構成するまでのプロセスを完全に自動化することができます。

この作業を行うためには、以下のステップに従う必要があります。

  1. Rational Automation Framework for WebSphere 統合スクリプト・パッケージを使用して、カスタム WebSphere CloudBurst パターンを作成します。
  2. WebSphere CloudBurst パターンをデプロイして WebSphere Application Server セルを作成します。
  3. 手作業で Apache DayTrader アプリケーションのインストール、構成、および検証を行います。
  4. Rational Automation Framework for WebSphere を使用して、WebSphere Application Server セルの構成を取り込みます。
  5. 取り込んだ構成を適用して Apache DayTrader アプリケーションをデプロイするように Rational Automation Framework for WebSphere をセットアップします。
  6. 新規の Rational Automation Framework for WebSphere のプロジェクトおよび環境を使用する WebSphere CloudBurst パターンをデプロイして、Apache DayTrader アプリケーションの作成を自動化します。

言い忘れるところでしたが、以上のステップはいずれも、カスタム・スクリプトを一切作成することなく実行することができます。

新しいパターンを作成する

最初のステップでは、Rational Automation Framework for WebSphere 統合スクリプト・パッケージを組み込んだ新しい WebSphere CloudBurst パターンを作成します。ただし、このステップに取り掛かる前に、Rational Automation Framework for WebSphere 統合スクリプト・パッケージを WebSphere CloudBurst Appliance のカタログにロードする必要があります。

統合スクリプト・パッケージは、Rational Automation Framework for WebSphere インストール済み環境 (Rational Automation Framework for WebSphere_HOME/framework/wca ディレクトリー) から取得することができます。アーカイブ (ZIP) ファイルを入手したら、WebSphere CloudBurst カタログの「Script Package (スクリプト・パッケージ)」セクションにナビゲートして、新しいコンテンツをアップロードします。アップロード・プロセスが完了したら、右上隅にあるツールバーの「Refresh (リフレッシュ)」ボタンをクリックします (図 6 に統合スクリプト・パッケージを示します)。

図 6. 統合スクリプト・パッケージ
統合スクリプト・パッケージ

「Refresh (リフレッシュ)」ボタンをクリックすると、アーカイブに含まれている cbscript.json ファイルにより、スクリプト・パッケージについて説明するデータが表示されます。このデータは、WebSphere CloudBurst に対して呼び出す対象 (この例の場合、スクリプト・パッケージに含まれるシェル・スクリプト) を指示するとともに、各種の環境変数を定義します。環境変数は、パターンの中に固定値を設定することも、デプロイメント・プロセス時に値を指定することもできます。これらの環境変数によって指定するのは、以下の重要な統合情報です。

  • RAFW_SERVER_HOST: Rational Automation Framework for WebSphere のホスト名。
  • RAFW_SERVER_USER: Rational Automation Framework for WebSphere サーバーにログインするために使用するユーザー名。
  • RAFW_SERVER_PASSWORD: Rational Automation Framework for WebSphere サーバーにログインするために使用するパスワード。
  • RAFW_AUTOMATION_PLAN: デプロイメント時に呼び出す Rational Automation Framework for WebSphere プロジェクトの名前。
  • RAFW_ENVIRONMENT: Rational Automation Framework for WebSphere プロジェクトが使用する Rational Automation Framework for WebSphere 環境の名前。この環境に、WebSphere Application Server セルの構成データが含まれています。
  • RAFW_HOME_PATH: Rational Automation Framework for WebSphere バイナリーの解凍先となる、仮想マシン上のファイルシステムの場所。この値は、Rational Automation Framework for WebSphere サーバー上の RAFW_HOME/configure.properties ファイルに含まれる LINUX_RAFW_HOME の値と一致していなければなりません。これらのライブラリーは、便宜を図るためにスクリプト・パッケージに含まれています。
  • RAFW_AUTOMATION_TIMEOUT: WebSphere CloudBurst が指定の Rational Automation Framework for WebSphere プロジェクトの完了を待機する最大の時間 (分)。Rational Automation Framework for WebSphere プロジェクトの完了前にタイムアウトが発生した場合、Rational Automation Framework for WebSphere プロジェクトはそのまま実行され続けますが、WebSphere CloudBurst は、仮想システムが起動済みの状態になったことをレポートします。

スクリプト・パッケージがカタログにロードされたら、新しいカスタム・パターンの作成を開始することができます。「Patterns (パターン)」ページにナビゲートして、既存のパターンを複製するか、まったく新しいパターンを作成します。このシナリオでは、デプロイメント・マネージャー、カスタム・ノード、および IBM HTTP Server の 3 つのパーツからなるパターンを構成します (図 7 を参照)。

図 7. カスタム DayTrader パターン
カスタム DayTrader パターン

パターン・エディターを終了する前に、「Advanced Options (拡張オプション)」リンクをクリックして、表示されたパネルで「Enable messaging (メッセージングを使用可能に設定)」オプションのチェック・マークを外してください。ただし、「Define clusters (クラスターを定義)」オプションにはチェック・マークが付けられたままにします。この設定により、デプロイメント時に WebSphere CloudBurst がこのパターンを更新して、WebSphere Application Server クラスターを作成するために必要な構成を組み込みます。

「Advanced Options (拡張オプション)」パネルで「OK」をクリックすると、デプロイメント・マネージャー・パーツの表示に、クラスター構成バッジが追加されます。このバッジの隣にある構成アイコンをクリックすることで、クラスターの構成データを表示することができます (図 8 を参照)。

図 8. クラスター構成データ
クラスター構成データ

WebSphere CloudBurst はこの構成データに従って、それぞれに 1 つのメンバーを含めたカスタム・ノードからなる WebSphere Application Server クラスターを自動的に作成します。クラスターの名前の接頭辞として TradeCluster を指定すると、WebSphere CloudBurst がそのクラスターを作成して調整します。ユーザーがスクリプトを提供する必要はありません。

初期デプロイメント

WebSphere CloudBurst パターンのデプロイメントと Rational Automation Framework for WebSphere を統合する前に、Rational Automation Framework for WebSphere サーバーをホストするマシンが、WebSphere CloudBurst によって作成された仮想マシンに正常にネットワーク接続できることを確認してください。さらに、これらの仮想マシンに SSH や SFTP で接続するために必要な鍵が Rational Automation Framework for WebSphere サーバーにあることを確認する必要があります。あるいは、SSH や SFTP の接続開始時に、Rational Automation Framework for WebSphere サーバーをホストするマシンが新しい鍵を自動的に受け入れるように構成することもできますが、そのように構成すると、セキュリティー上のリスクをもたらす可能性があることに注意してください。

パターンの作成が完了したら、初期デプロイメントに取り掛かることができます。デプロイメント・プロセスでデプロイメント・マネージャーを構成する際には、Rational Automation Framework for WebSphere の統合情報を提供します。

図 9 に、DayTrader パターンのデプロイメントの様子を示します。

図 9. DayTrader パターンのデプロイメント
DayTrader パターンのデプロイメント

eastgrand.austin.ibm.com の Rational Automation Framework for WebSphere サーバーをターゲットとする上記のデプロイメントは、このサーバーに、ユーザー名として「cloudburst」、パスワードとして「cloudburst」を使用してログインします。最初のデプロイメントでは、この環境を手作業で構成するので、Rational Automation Framework for WebSphere プロジェクトの名前 (RAFW_AUTOMATION_PLAN) は重要ではありません。Rational Automation Framework for WebSphere ランタイムは、再利用できるプロジェクトを自動的に作成します。この例での Rational Automation Framework for WebSphere 環境の名前は「DayTrader」です。タイムアウトには、デフォルトで指定される値をそのまま使用します。

RAFW_HOME_PATH には、/opt/IBM/WebSphere/Profiles/RAFW ディレクトリーを指定してください。デフォルトのパスを採用する代わりにこの場所を指定する理由は、Rational Automation Framework for WebSphere は virtuser オペレーティング・システム・ユーザーとして、仮想システム内の各仮想マシン上のディレクトリーとファイルの作成を試行するためです。

したがって、Rational Automation Framework for WebSphere がファイルおよびディレクトリーを作成する場所は、必ず virtuser がアクセスできる場所にしなければなりません。あるいは、適切なファイル・パーミッションを設定したカスタム・イメージを使用して、アクセスを確実にするという方法もあります。

いずれの方法を使用するにしても、Rational Automation Framework for WebSphere サーバー上の RAFW_HOME/configure.properties ファイルに含まれる LINUX_RAFW_HOME パラメーターの値を、デプロイメント時に使用した RAFW_HOME_PATH の値に変更する必要があります。

新しい仮想システムが起動済みの状態になったら、WebSphere Application Server 管理コンソールにアクセスして、Apache DayTrader アプリケーション環境の構築を開始することができます。

でもその前に、デプロイメント・プロセスの一環として生成された Rational Automation Framework for WebSphere の成果物を見てみましょう。まず、Rational Automation Framework for WebSphere コンソールにログインして (この例の場合、URL http://eastgrand.austin.ibm.com を開きます)、「Environments (環境)」リンクをクリックしてください。すると、RAFW_DayTrader_CloudBurstCell0 という名前の環境が見つかるはずです。この名前のリンクをクリックすれば、Rational Automation Framework for WebSphere によって自動的に作成された成果物を表示することができます (図 10 を参照)。

図 10. 自動的に作成された Rational Automation Framework for WebSphere 環境
自動的に作成された Rational Automation Framework for WebSphere 環境

統合スクリプト・パッケージは、WebSphere CloudBurst デプロイメント内のスクリプト・パッケージで使用可能なデータを使用して、この新しい環境を作成しました。この環境は、DayTrader アプリケーション環境をインストールして構成した後、更新情報を取り込んで更新されることになります。

Rational Automation Framework for WebSphere 環境に加え、新しく作成された Rational Automation Framework for WebSphere プロジェクトを確認するには、「Projects (プロジェクト)」リンクをクリックします。新規に作成されたプロジェクトの名前は、自動的に作成された Rational Automation Framework for WebSphere 環境の名前と同じです (図 11 を参照)。

図 11. 自動的に作成された Rational Automation Framework for WebSphere プロジェクト
自動的に作成された Rational Automation Framework for WebSphere プロジェクト

初期状態のプロジェクトには、1 つのステップしか含まれていません。それは、RAFW_WAS_70_ND_Configure ライブラリーの呼び出しです。Rational Automation Framework for WebSphere 製品に付属のこのライブラリーを使用すると、WebSphere Application Server 7.0 セル全体の構成を適用またはインポートすることができます。この後、DayTrader アプリケーション環境を構築してから、この初期状態のプロジェクトを使用して、セルの構成をインポートします。

構成をインポートした後は、全体的なデプロイメント時間を短縮するために、プロジェクトを多少変更して、必要な構成だけを適用するようにします。ただし、付属のライブラリーを使用することには変わりないので、カスタム・スクリプトを作成する必要は一切ありません。

DayTrader アプリケーションをセットアップして検証する

Apache DayTrader アプリケーションは、オンライン株取引システムをモデル化するパフォーマンス・ベンチマーク・アプリケーションです。このアプリケーションは、サーブレット、JSP、数種類の Enterprise JavaBean、バックエンド・データ・ソースなどで構成されています。図 12 は、Apache DayTrader Web サイトから引用した、このアプリケーション環境のアーキテクチャーを説明する図です。

図 12. Apache DayTrader のアーキテクチャー
Apache DayTrader のアーキテクチャー

ここでは DayTrader アプリケーションをデプロイするためのインストール手順は説明しないので、DayTrader アプリケーションのソースと、このアプリケーションのビルドおよびデプロイメントに関する説明が見つかる Apache DayTrader Web サイトにアクセスしてください (「参考文献」を参照)。

この記事の残りでは、DayTrader アプリケーション環境とこの環境が依存するインフラストラクチャーを、Rational Automation Framework for WebSphere プロジェクトに統合された WebSphere CloudBurst パターンにマッピングする作業を完了させます。WebSphere CloudBurst パターンで表すのは、上記の図の JavaEE Application Server の部分にマッピングする WebSphere Application Server セルです。現行の WebSphere CloudBurst パターンにはデータベースのセットアップが含まれていませんが、WebSphere CloudBurst 2.0 では、DB2 パーツもパターンに簡単に組み込めようになっているので、環境内にデータベース・サーバーをカプセル化することができます。

Rational Automation Framework for WebSphere 環境には、アプリケーションとそのリソースおよび依存関係の構成データを含めます。こうすることにより、アプリケーションとそのサーブレット、JSP、Enterprise JavaBean が正しくデプロイされることが確実になります。さらに、Rational Automation Framework for WebSphere 環境には、DayTrader アプリケーション、アプリケーション・クライアント、およびバックエンド・データ・ソースを統合するためのコンポーネントを適切に構成するために必要なデータも含めます。

記事の前半で構成してデプロイしたパターンをベースに、Apache DayTrader アプリケーションを WebSphere Application Server クラスター内で実行されるようにセットアップしてください。デプロイメントでは、このクラスターを構成するカスタム・ノードのそれぞれに、1 つのメンバーが含まれるようにします。図 13 にデプロイメントの結果として望ましい形を示します。

図 13. WebSphere Application Server セル内での DayTrader
WebSphere Application Server セル内での DayTrader

アプリケーションをインストールして、必要なリソースと依存関係を構成し、アプリケーションを正常に起動した後は、アプリケーションが機能していることを検証するために、http://<host>:9080/daytrader という URL にナビゲートします。ページが表示されたら、「Configuration (構成)」タブをクリックします。すると、以下のページが表示されます (図 14 を参照)。

図 14. DayTrader の構成ページ
DayTrader の構成ページ

検証を開始するには、「(Re)-create DayTrader Database Tables and Indexes (DayTrader データベース・テーブルおよび索引の (再) 作成)」をクリックします。表示されたページで必要なステップを完了したら、「(Re)-populate DayTrader Database (DayTrader データベースのデータ (再) 取り込み)」をクリックします。データベース・テーブルの作成とデータの取り込みが終わった時点で、アプリケーションのテストを開始することができます。それには、「DayTrader Scenario (DayTrader シナリオ)」リンクをクリックして、ページの手順に従います。

環境が適切に構成されていることに納得したら、次は、この新しい構成で Rational Automation Framework for WebSphere 環境を更新します。

DayTrader 構成を取り込む

Apache DayTrader 環境を手作業で構成して検証するプロセスをひと通り終えた今、このプロセスを始めから繰り返すことはしたくないはずです (新しいデプロイメントが必要になるたびに繰り返さなければならないとしたら、それは尚のことです)。それよりも、機能することがわかっているセットアップを必要に応じて取り込んで、その構成を使用したいと思うことでしょう。それがまさに、今から行おうとしていることです。まずは、Rational Automation Framework for WebSphere を使用して、既存の構成を取り込みます。

パターンを最初にデプロイしたときに、統合スクリプト・パッケージによって Rational Automation Framework for WebSphere プロジェクト (図 10 を参照) が自動的に作成されました。DayTrader 環境の既存の構成をインポートするには、このプロジェクトを使用することができます。その場合、プロジェクトをインポート・モードで実行する必要があります。

それには、Rational Automation Framework for WebSphere コンソールにログインして、「Projects (プロジェクト)」リンクをクリックし、次に「RAFW_DayTrader20_CloudBurstCell0」プロジェクトをクリックします。プロジェクトの詳細ページが表示されたら、上部のツールバーで「Start Project (プロジェクトの開始)」をクリックし、新しいジョブを作成します。そして、「Job Details (ジョブの詳細)」ページで「Mode (モード)」フィールドを「Import (インポート)」に変更します (図 15 を参照)。

図 15. プロジェクトをインポート・モードで開始する
プロジェクトをインポート・モードで開始する

この時点で「Execute (実行)」をクリックすれば、Rational Automation Framework for WebSphere のジョブが開始されます。このジョブはまず、DayTrader アプリケーションがデプロイされている WebSphere Application Server セルに対して、RAFW_WAS70_ND_CONFIGURE ライブラリーを実行します。

WebSphere Application Server 環境の場所と、その他の関連する詳細 (セル名やノード名など) が、プロジェクトの環境内にすでに設定されていることに注目してください。これも同じく、統合スクリプト・パッケージが最初のデプロイメントで DayTrader 環境を作成する際に、自動的にこれらの情報を設定するためです。

Execute (実行)」をクリックすると、開始したジョブの詳細ページが Rational Automation Framework for WebSphere に表示されます。このページでは、インポート・ジョブの進行状況をモニターすることができます。インポート・ジョブが完了すると、図 16 に示す画面と同じ状況になります。

図 16. 完了したインポート・ジョブ
完了したインポート・ジョブ

DayTrader アプリケーションを取り込む

Apache DayTrader アプリケーション環境から最新の構成情報を取り込んだことから、現在、DayTrader 環境は最新の状態になっています。取り込まれた情報には、JDBC リソース、JMS キュー、メッセージング・エンジンなどのさまざまな構成が含まれます。けれどもやはり、実際のアプリケーションをインポートして DayTrader 環境に保存しなければならないことに変わりありません。

アプリケーションをインポートするには、単純な Rational Automation Framework for WebSphere プロジェクトを作成し、そのプロジェクトでアプリケーション・バイナリーをインポートして、Rational Automation Framework for WebSphere がアプリケーションを後でインストールするために使用するプロパティー・ファイルを作成します。

左側のツールバーで「Projects (プロジェクト)」リンクをクリックしてください。プロジェクト・ページが表示されたら、最上部にある「Add Project (プロジェクトの追加)」をクリックします。画面の下部に、新規プロジェクトの詳細セクションが表示されるので、新規プロジェクトの名前として「Import DayTrader Application (DayTrader アプリケーションのインポート)」と入力し、新規プロジェクトの環境として「RAFW_DayTrader_CloudBurstCell0」を選択します。また、Rational Automation Framework for WebSphere の構成に応じた適切なセレクターが定義されていることも確認してください。この作業が完了したら、「Save (保存)」をクリックします (図 17 を参照)。

図 17. 新規アプリケーション・インポート・プロジェクトを追加する
新規アプリケーション・インポート・プロジェクトを追加する

この新しいプロジェクトは、以下を目的とする 3 つのステップで構成されます。

  1. DayTrader アプリケーションをデプロイするためのプロパティー・ファイルを作成します。
  2. プロパティー・ファイルをアプリケーション名のキーと値のペアで更新します。
  3. 既存の WebSphere Application Server セルからアプリケーション・バイナリーをインポートします。

新しいステップを作成するには、「Import DayTrader Application (DayTrader アプリケーションのインポート)」プロジェクトをクリックした後、上部のツールバーで「Add Step (ステップの追加)」をクリックします。画面の下部にステップの詳細パネルが表示されたら、最初のステップの名前として「Create properties file (プロパティー・ファイルの作成)」と入力します。図 18 に、このステップの完全なコマンドを示します。

図 18. DayTrader プロパティー・ファイルを作成する
DayTrader プロパティー・ファイルを作成する

2 番目のステップでは、最初のステップで作成したプロパティー・ファイルを、アプリケーション名を指定するキーと値のペアで更新します。Apache DayTrader アプリケーションを正常にデプロイするためには、この更新が必要です。「Add Step (ステップの追加)」をクリックして、「Add application name (アプリケーション名の追加)」という名前の新しいステップを作成してください。図 19 に、この新規ステップのコマンドを示します。

図 19. アプリケーション名を追加する
アプリケーション名を追加する

3 番目のステップでは、実際に DayTrader アプリケーション・バイナリーをインポートして、ローカルの Rational Automation Framework for WebSphere サーバー上に保管します。もう一度「Add Step (ステップの追加)」をクリックして、今度は「Get application binaries (アプリケーション・バイナリーの取得)」という名前の新しいステップを作成します。図 20 に、この新規ステップのコマンドを示します。

図 20. DayTrader アプリケーション・バイナリーを取得する
DayTrader アプリケーション・バイナリーを取得する

プロジェクトを実行する前に、Rational Automation Framework for WebSphere サーバーに適切なフォルダーが存在していることを確認する必要があります。使用している Rational Automation Framework for WebSphere サーバー・インスタンスをホストするマシン上には、<RAFW_HOME>/users/environments/DayTrader/cells/<CELL_NAME>/clusters/<CLUSTER_NAME>/apps/properties フォルダーが存在していなければなりません。このフォルダーがあることを確認するか、あるいは Rational Automation Framework for WebSphere にそのフォルダーを作成した後、「Start Project (プロジェクトの開始)」をクリックし、続いて「Execute (実行)」をクリックしてプロジェクトを開始します。この操作によって Rational Automation Framework for WebSphere に詳細ページが表示されます。このページで、プロジェクトの各ステップの状況をモニターすることができます。

プロジェクトが完了したら、以下の 2 つのファイルが存在していることを確認することで、意図した結果が得られたことを検証することができます。

  • <RAFW_HOME>/users/environments/DayTrader/cells/<CELL_NAME>/clusters/<CLUSTER_NAME>/apps/properties/DayTrader2-EE5.properties
  • <RAFW_HOME>/users/environments/DayTrader/cells/<CELL_NAME>/apps/media/DayTrader2-EE5.ear

プロパティーおよび EAR ファイルの名前は、このプロセスの前半で行った手作業によるインストールの際に使用したアプリケーション名によって異なることに注意してください。

Rational Automation Framework for WebSphere プロジェクトを更新する

以降は、既存の DayTrader Rational Automation Framework for WebSphere 環境と RAFW_DayTrader_CloudBurstCell0 プロジェクトを使用して、WebSphere CloudBurst パターンのデプロイメントに Apache DayTrader アプリケーションの構成を再び適用することができます。ただしその前に、既存のプロジェクトに 2 つの変更を加えます。

まず、インポートしたアプリケーションをデプロイするステップを追加します。それには、「Rational Automation Framework for WebSphere」コンソールの左側にあるツールバーで「Projects (プロジェクト)」リンクをクリックし、次に「RAFW_DayTrader_CloudBurstCell0」プロジェクトをクリックします。プロジェクトの詳細ページが表示されたら、「Add Step (ステップの追加)」をクリックし、追加するステップの名前として「Deploy DayTrader (DayTrader のデプロイ)」と入力します。図 21 には、アプリケーションをデプロイするためのコマンドが示してあります。

図 21. DayTrader アプリケーションをデプロイする
DayTrader アプリケーションをデプロイする

次は、プロジェクト内の複合 RAFW_WAS70_ND_CONFIGURE ライブラリーの呼び出しを、個々のライブラリーの呼び出しに置き換えます。1 つのステップで RAFW_WAS70_ND_CONFIGUE 複合ライブラリーを呼び出すままにしておいても構いませんが、この単一ステップを複数のステップに置き換えれば、Apache DayTrader アプリケーション環境に必要な構成アクションだけを実行することができます。それでも同じく付属の構成ライブラリーを使用するので、自分でスクリプトを作成する必要はありません。

プロジェクトを複数のステップに分割して、必要な構成アクションだけを実行すれば、アプリケーション環境のデプロイメントおよび構成にかかる全体の時間が大幅に短縮されるというメリットがあります。

具体的には、この Apache DayTrader アプリケーション環境の構築の場合、以下の事前定義された Rational Automation Framework for WebSphere ライブラリーを使用します。

  • RAFW_was_common_configure_environments
  • RAFW_was_common_configure_resources
  • RAFW_was_common_configure_security
  • RAFW_was_common_configure_servers
  • RAFW_was_common_configure_service_integration
  • RAFW_was_common_configure_users_and_groups

上記の 6 つのライブラリーを使用するための 6 つのステップを新たに作成します。各ステップでは、Inline プロパティーに、これらのライブラリーのいずれかにマッピングする値を設定します。図 22 に一例として、RAFW_was_common_configure_environments ライブラリーを使用する場合のステップの宣言を示します。

図 22. RAFW_was_common_configure_environments ライブラリーを使用する
RAFW_was_common_configure_environments ライブラリーを使用する

上記では Inline プロパティーが RAFW_was_common_configure_environments に設定されているため、このステップは確実に、このライブラリーを呼び出します。「Command (コマンド)」フィールドに示されている echo 文に注意してください。Rational Automation Framework for WebSphere では、各ステップに有効なコマンドを提供しなければなりません。プロジェクトのこのステップを実行するときに、Rational Automation Framework for WebSphere は最初にこのコマンドを実行してから、Inline プロパティーに指定されたライブラリーを呼び出します。

プロジェクトに追加しなければならないステップは、もう 1 つあります。プロジェクトでのその最終ステップとは、デプロイメント・マネージャー、ノード・エージェント、およびアプリケーション・サーバー・クラスターが含まれるセルで、すべてのプロセスを開始することです。それには、単純に RAFW_start_cell という名前の新規ステップを追加して、この新規ステップの Inline プロパティーで RAFW_start_cell ライブラリーを選択します。有効なコマンドを提供することも忘れないでください (このモデルに従うと、そのコマンドに該当するのは echo 'calling RAFW_start_cell' です)。Rational Automation Framework for WebSphere にセルのプロセスを開始させるために必要な作業はこれだけです。

すべてのステップの作成が完了した時点で、プロジェクトは図 23 のようになっているはずです。

図 23. 更新後の Rational Automation Framework for WebSphere プロジェクト
更新後の Rational Automation Framework for WebSphere プロジェクト

作成が完了したプロジェクトでは、RAFW_WAS_70_ND_Configure ライブラリーを呼び出す最初のステップが無効になっています。後で、複数のステップに分けて微調整する代わりに、前のように単純にすべての構成を適用することにした場合には、この最初のステップを有効にして、ステップ 2 から 6 を無効にするか削除するだけで、前の設定に戻すことができます。

お望みであれば、プロジェクトをさらに微調整して、使用するライブラリーのそれぞれに対してどの構成アクションを実行するかを選択することもできます。その場合には、Rational Automation Framework for WebSphere コンソールの左側にあるツールバーで「Libraries (ライブラリー)」リンクをクリックして、対象のライブラリーを選択します。すると、さまざまなスコープでの各種構成アクションのリストが表示されます。このリストで、ステップのそれぞれを選択的に有効または無効にすることができます。この例では、デフォルトの動作のままにして、すべてのアクションを有効な状態に維持します。

これで、Rational Automation Framework for WebSphere の環境およびプロジェクトに必要なセットアップはすべて完了しました。

新しいデプロイメントを開始する

前に作成した WebSphere CloudBurst パターンをデプロイする準備が整いました。今回のデプロイメントが初期デプロイメントと異なる点は、Rational Automation Framework for WebSphere プロジェクトと Rational Automation Framework for WebSphere 環境の両方が存在し、どちらも Apache DayTrader アプリケーション環境の構成を完全に自動化するために必要な情報および構成アクションを反映していることです。

今回は WebSphere CloudBurst パターンをデプロイすると、WebSphere Application Server セルが稼働状態になり、DayTrader アプリケーションのインストール、起動、構成が完了して使用できる状態になっていることがわかるはずです。

デプロイメントを開始するには、WebSphere CloudBurst コンソールに再びログインして、「Patterns (パターン)」ページにナビゲートします。このページで、前に作成したパターン (Rational Automation Framework for WebSphere 統合スクリプト・パッケージを使用したパターン) を選択してから、右上隅にあるツールバーで「Deploy (デプロイ)」アイコンをクリックします。前回と同じく、デプロイメントのために各パターンのパーツを構成するプロセスをひと通り行ってください。図 24 に、統合スクリプト・パッケージの構成データを示します。

図 24. スクリプト・パッケージの構成データ
スクリプト・パッケージの構成データ

前回のデプロイメントとの唯一の違いは、RAFW_AUTOMATION_PLAN (つまりプロジェクト名) が変更されていることだけです。このプロジェクトは、最初のデプロイメントを行う前は存在していませんでしたが、最初のデプロイメントを行った時点で、スクリプト・パッケージによって自動的に作成されています。その後、Rational Automation Framework for WebSphere のプロジェクト (および環境) を更新したので、このデプロイメントが必ず更新後のプロジェクトを呼び出すようにしなければなりません。この構成データの設定であれば、それが確実になります。

ここで注目に値する点として、統合スクリプト・パッケージの情報をパターンに固定することも可能です。それによって、デプロイメント時のデータ入力エラーを防ぎ、基本的に特定のパターンを指定の Rational Automation Framework for WebSphere のプロジェクトおよび環境に結合することになります。ただし、これらの値をパターンに固定し、さらにパターン自体を固定すると、そのパターンを複製しない限り、Rational Automation Framework for WebSphere のプロジェクトおよび環境への参照を変更することができなくなります。

各パーツを構成したら、「OK」をクリックしてデプロイメント・プロセスを開始させます。デプロイメントが完了すると、WebSphere CloudBurst インターフェースに、仮想システムが起動済みの状態であることが示されます (図 25 を参照)。

図 25. 起動された DayTrader 仮想システム
起動された DayTrader 仮想システム

Rational Automation Framework for WebSphere コンソールにログインすると、2 つのジョブが正常に完了したことを確認することができます。図 26 に一例を示します。

図 26. 正常に完了した Rational Automation Framework for WebSphere のジョブ
正常に完了した Rational Automation Framework for WebSphere のジョブ

最初のジョブ (この例では WCA_ENV_UPDATE_52) は、Rational Automation Framework for WebSphere DayTrader 環境を新しい WebSphere Application Server セルに関する情報で更新しました。これにより、情報 (ホスト名、セル名、ノード名など) がデプロイメントごとに変わる場合、Rational Automation Framework for WebSphere 環境に更新後の適切なデータが含まれることが確実になります。このジョブ (WCA_ENV_UPDATE) を作成するために使用されたプロジェクトは、Rational Automation Framework for WebSphere 製品に同梱されており、WebSphere CloudBurst パターンに組み込まれた Rational Automation Framework for WebSphere 統合スクリプト・パッケージによってデプロイメント時に自動的に呼び出されます。

この時点で、WebSphere Application Server 管理コンソールにログインすると、エンタープライズ・アプリケーションのリストで、DayTrader2-EE5 アプリケーションが起動済みの状態にあることを確認することができます。

図 27. 起動された DayTrader アプリケーション
起動された DayTrader アプリケーション

前と同じく、DayTrader 構成ページにアクセスして、データベースをセットアップしてデータを取り込み、アプリケーションが機能していることを検証することができます。


まとめ

Apache DayTrader アプリケーション環境用に WebSphere CloudBurst と Rational Automation Framework for WebSphere のセットアップを行いました。

  • まず、Rational Automation Framework for WebSphere の特殊な統合スクリプト・パッケージを組み込んだ WebSphere CloudBurst パターンをデプロイしました。
  • WebSphere Application Server セルを準備した後、手作業で Apache DayTrader アプリケーションとその依存関係をインストール、構成、検証しました。
  • 次に、セットアップの構成をインポートして、自動的に作成された Rational Automation Framework for WebSphere 環境を更新しました。
  • 必要な構成アクションだけを適用するように Rational Automation Framework for WebSphere プロジェクトを変更した後、DayTrader 環境をデプロイして、セル内のすべてのプロセスを開始しました。
  • 最後に、統合スクリプト・パッケージが組み込まれた WebSphere CloudBurst パターンをデプロイし、そのパターンの対象を前に構成した Rational Automation Framework for WebSphere の環境およびプロジェクトに設定して、セルと Apache DayTrader アプリケーション環境の両方の自動構成を確認しました。

これで、WebSphere CloudBurst パターンと Rational Automation Framework for WebSphere プロジェクトを使用して、必要なときにはいつでも確実かつ迅速に、Apache DayTrader 環境全体を再現することができます。

平凡ではない J2EE アプリケーション環境を構築するのは時間がかかり、常に同じように構築するのはほぼ不可能に近いほど複雑な作業です。けれども、WebSphere CloudBurst を利用して WebSphere Application Server セルを提供すれば、その作業がかつてないほど迅速化され、Rational Automation Framework for WebSphere に用意されている WebSphere 構成アクションをそのまま使って、セル内に複雑なアプリケーション環境を構成することができます。

なによりも素晴らしいことは、WebSphere CloudBurst パターンと Rational Automation Framework for WebSphere プロジェクトは、WebSphere Application Server セルをセットアップして、そのセル内にアプリケーション環境を構成するまでのすべてのプロセスを体系化することです。つまり、必要に応じて、確実に同じアプリケーション環境を繰り返し構築できることを意味します。

要するに、WebSphere CloudBurst と Rational Automation Framework for WebSphere を組み合わせることで、J2EE アプリケーション環境を今までよりも簡単かつ迅速で常に同じように構築できるようになります。

謝辞

この記事の執筆に貢献してくれた Ruth Willenborg 氏、David Brauneis 氏、Leigh Williamson 氏に感謝いたします。

参考文献

学ぶために

製品や技術を入手するために

  • Apache DayTrader について、このベンチマーク・サンプルで詳しく検討してください。
  • スマートな SOA アプリケーションおよびサービスをクラウドに拡張する WebSphere CloudBurst Appliance の詳細を調べてください。
  • Rational Automation Framework for WebSphere のデモをダウンロードして調べてください。これは、Rational Build Forge のオプション・フィーチャーです。
  • IBM SmarterCloud サイトは、クラウド向けアプリケーションを開発する際の出発点となります。
  • developerWorks から直接ダウンロードできる IBM ソフトウェアの試用版を使用して、クラウドで次の開発プロジェクトを構築してください。

議論するために

  • My developerWorks で Rational Automation Framework for WebSphere グループの一員になってください。
  • My developerWorks の Developer Cloud グループは、Smart Business Development and Test on the IBM Cloud のためのコミュニティーです。
  • My developerWorks は専門家のネットワークであるとともに、互いにつながりを持ち、共有、協力するためのコミュニティー・ツールが集められている場所です。My developerWorks から、developerWorks コミュニティー (開発者のブログ、グループ、フォーラム、ポッドキャスト、プロフィール、ニュースレター、ウィキ、コミュニティーのトピック) に参加してください。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing, WebSphere, Rational, Java technology
ArticleID=829137
ArticleTitle=WebSphere CloudBurst に Rational Automation Framework for WebSphere をプラスする
publish-date=08092012