| エンタープライズ:特集 | 2003/08/29 18:00:00 更新 |

特集:第1回 Sun ONE Application Server 7概要とSun ONEを知る (2/5)
Webアプリケーションサーバに必要な機能をオールインワンしたパッケージ
Webアプリケーションを構築するために必要なものとして、J2EEエンジンに加えHTTPアクセスを受けるためのエンジンが必要です。サンでは、Sun ONE Application Servevr 7のパッケージ内に「Sun ONE Web Server」も用意しています。この製品は、旧Netscape Enterprise Serverとして親しまれていたものであり、その後、Sun Microsystemsがライセンスを保有しました(現在の最新バージョンは「Sun ONE Web Server 6」)。このHTTPサーバを利用することにより、別途HTTPサーバを用意することなく、パフォーマンス、可用性、管理性が配慮されたサービスが提供できます。バーチャルサーバ、SSLやLDAPサーバ連携認証など商用として利用するに相応しい機能がサポートされているのです。
さらに、J2EE 1.3から必須となったJMSブローカーとして「Sun ONE Message Queue3.0」、Webアプリケーション認証のためのユーザ管理基盤「Sun ONE Directory Server 5.1」(Standard Edition以上)もバンドルされています。このようにSun ONE Application Server 7(のパッケージ)を用意するだけで、Webアプリケーションに必要なミドルウェアがすべて揃い、開発者から管理運用者に統合環境が提供されるのです。

HTTPセッションを高度に制御する高可用性追求
Sun ONE Application Server 7は、それぞれのサーバインスタンスごとに監視プロセスを動作させています。そうすることで、万が一サーバインスタンスに障害が発生してプロセスダウンを起こした場合、自動的にインスタンスの再起動が行われます。また次の通り、処理中のHTTPセッションを徹底的に保持する仕組みも持っています。
HTTPセッションフェイルオーバーの仕組みとして特徴なのは、他社の多くが採用するサーバインスタンス間でHTTPセッション共有を行なうインメモリセッションファイルオーバ方式ではなく、バックエンドにHTTPセッションレポジトリを配置する構成であることです。そのレポジトリとしては、Sun Microsystemsが2002年初冬に買収した「Clustra」が採用されています。

このClustraは、高速、高可用性インメモリデータベースであり、1つのインスタンスで高可用性が期待できます。Clustraで扱われる1つのインスタンスは複数のノードから構成され、それぞれのノードはネットワーク上でほかのハードウェア上へと配置することができます。また、Clustraは1つのレコード(SessionIDがプライマリキーでHTTPセッションオブジェクトが格納されている)を複数のフラグメントに分け、そのフラグメントを前述したノードに配備します。それぞれのノードは、アクティブフラグメントと、ほかのノードのためにバックアップフラグメントも持ちます。これにより、万が一いずれかのノードで障害が発生した場合でも、データ損失なく稼動し続けることができるのです。さらに、バックアップノードを配置することもでき、障害が発生した場合には、バックアップノードがアクティブノードに切り替わり、高可用性を保持したまま稼働し続けます。このようにサーバ障害に対し可用性を追求している点が特徴なのです。
このような高可用性実現のデータベースをHTTPセッションのレポジトリとして採用し、Sun ONE Application Serve 7にパッケージング(Enterprise Edition)しました。従来までは、インメモリセッションフェイルオーバ方式を採用する場合にはインスタンス間でHTTPセッションをコピーする間の障害発生対策や、データベースをHTTPセッションのレポジトリとして採用する際、このデータベース自体の可用性対策を行う必要がありました。この手間はClustraを採用することで、問題を一掃したといえるでしょう。

[高山義泉,ITmedia]

