エンタープライズ:特集 2003/05/23 16:00:00 更新


特集:第1回:「WebSphere」を知ろう (3/4)

J2EE完全準拠の「WebSphereアプリケーションサーバ」

 前述したサーバは、WebSphereアプリケーションサーバが正式名であるが、WAS(ワズと発音)と呼ばれることが多い。J2EE 1.3準拠のアプリケーションサーバだ。J2EEサーバだけであると、付加価値を作りにくいものだが、負荷分散と運用機能で強化されているのが特徴の1つである。

 WebSphereの負荷分散機能は、前述したように長野オリンピックで実証されており、当時はPerformance Packと呼ばれていた別製品であったが、「Edgeサーバー」と名称を変え、現在はアプリケーションサーバの一部として提供されている。

 負荷分散は一般的に「クラスタリング」と呼ばれるものだ。負荷分散機能にはさまざまなものがある。まず最初に、HTTPサーバアクセスを分散する機能として「Edgeコンポーネント」が挙げられる。Edgeコンポーネントには、ロードバランサと呼ばれるプログラムがあり、ランダム、ラウンドロビン(順次割りつけ)、重みづけラウンドロビンなどによって、後段に複数台起動されているHTTPサーバへとアクセスリクエストを分散させることが可能だ。負荷状態を監視する機能もある。また、Edgeコンポーネントには、コンテンツをキャッシュする機能なども搭載されている。

 次にWebコンテナ(サーブレット)の分散機能が挙げられる。これは、HTTPサーバに組み込まれる「プラグイン」が行う負荷分散であり、複数台起動されたWebコンテナへの割振りを、ランダムやラウンドロビン、重みづけラウンドロビンで分散することができるものだ。また、サーブレットやJSPの実行結果(ダイナミックコンテンツ)をキャッシュを行う「DYNAキャッシュ」と呼ばれる機能もあり、サーブレットの実行結果の返送速度を数百倍向上させることができる。

 さらに後段に移ると、EJBも同様にランダム、ラウンドロビン、重みづけラウンドロビンで負荷分散が可能なため、EJBコンテナのクラスタ化も可能だ。

 このようにEdge、HTTP、Webコンテナ、EJBコンテナの、最大4層に分けることができ、負荷の大きなアプリケーション層を効率的にクラスタリングし、大規模運用に柔軟な対応ができるようになっている。また、最新のV5.0ではサーブレットセッションの保持中や、EJBのトランザクション処理中はできるだけ同じコンテナにリクエストが届くよう配慮される。アルゴリズムや、メモリー上でセッションを移動できる機能などが装備されており、より安定した性能を発揮する工夫が盛り込まれている。

Image4.gif

ネットワーク環境におけるプラグイン機能の位置づけ


tclスクリプトベースもサポートした豊富な管理機能

 次に管理機能について触れよう。IBMにはメインフレーム系のユーザーが多いせいか、サーバの管理機能が豊富である。V5.0では「管理コンソール」、「スクリプト」、「コマンド」、「プログラミング」の4種類の方法でシステム管理することができる。

 管理コンソールはブラウザベースのWebアプリケーションだ。起動しているサーバにWebブラウザでアクセスして利用する。サーバの停止、再始動はもちろん、アプリケーションのデプロイ、開始、一時停止、停止、サーバ上の各種オプションの設定、データソースの設定などが行える。

 スクリプトは、UNIXでおなじみのスクリプト言語「tcl」を使った管理機能だ。テキストファイルでtclスクリプトを準備し、wsadminプログラムを実行すると記述された内容が実行される。たとえば、日々の運用で「23時になったらいったんアプリケーションを停止し、バッチプログラムを実行したあとに再起動」といったスクリプトを容易に記述することが可能だ。

 コマンドはあらかじめ容易された管理コマンドであり、binディレクトリに収められているバッチファイルである。startServerといった、よく利用するコマンドが提供される。

 「プログラミング」は、Javaを使って管理プログラムを作る機能であり、独自のAPIと、Tivoliが提案して標準となったJMX(Java Management Extension)を利用してプログラムすることができる。これにより、サーバ内からアプリケーションの構成を変更するプログラムを実行することが可能だ。このため自作のサーバ管理用GUIアプリケーションを作成することもできる。

 また、JMXは業界標準であるため、管理製品ブランドのTivoliが提供する管理ツールを始め、さまざまな管理ツールで監視や管理が可能だ。

 どの管理機能を使ったとしても、クラスタリングを行っている場合、管理単位(セルという)を作成して統合管理ができる。たとえば、3台のノード(マシン)で稼働する複数のサーバプロセスを同時に起動したり、停止したりすることができる。このように多種の管理機能を提供している理由には、WebSphereの利用シーンが関係しているといってよいだろう。

 WebSphereの利用者には、古くからのIBMユーザー企業が多いのも特徴だ。システムの運用体制を考慮するのもシステム開発の1つであり、それを支えるための機能は必須なのである。

前のページ | 1 2 3 4 | 次のページ

[米持幸寿,ITmedia]