エンタープライズ:特集 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アプリケーションに必要なミドルウェアがすべて揃い、開発者から管理運用者に統合環境が提供されるのです。

fig01.gif

図1■Sun ONE Application Server7のデザイン


HTTPセッションを高度に制御する高可用性追求

 Sun ONE Application Server 7は、それぞれのサーバインスタンスごとに監視プロセスを動作させています。そうすることで、万が一サーバインスタンスに障害が発生してプロセスダウンを起こした場合、自動的にインスタンスの再起動が行われます。また次の通り、処理中のHTTPセッションを徹底的に保持する仕組みも持っています。

 HTTPセッションフェイルオーバーの仕組みとして特徴なのは、他社の多くが採用するサーバインスタンス間でHTTPセッション共有を行なうインメモリセッションファイルオーバ方式ではなく、バックエンドにHTTPセッションレポジトリを配置する構成であることです。そのレポジトリとしては、Sun Microsystemsが2002年初冬に買収した「Clustra」が採用されています。

fig02.gif

図■Clustraのイメージ


 このClustraは、高速、高可用性インメモリデータベースであり、1つのインスタンスで高可用性が期待できます。Clustraで扱われる1つのインスタンスは複数のノードから構成され、それぞれのノードはネットワーク上でほかのハードウェア上へと配置することができます。また、Clustraは1つのレコード(SessionIDがプライマリキーでHTTPセッションオブジェクトが格納されている)を複数のフラグメントに分け、そのフラグメントを前述したノードに配備します。それぞれのノードは、アクティブフラグメントと、ほかのノードのためにバックアップフラグメントも持ちます。これにより、万が一いずれかのノードで障害が発生した場合でも、データ損失なく稼動し続けることができるのです。さらに、バックアップノードを配置することもでき、障害が発生した場合には、バックアップノードがアクティブノードに切り替わり、高可用性を保持したまま稼働し続けます。このようにサーバ障害に対し可用性を追求している点が特徴なのです。

fig03.gif

図2■Clustraのアーキテクチャ


 このような高可用性実現のデータベースをHTTPセッションのレポジトリとして採用し、Sun ONE Application Serve 7にパッケージング(Enterprise Edition)しました。従来までは、インメモリセッションフェイルオーバ方式を採用する場合にはインスタンス間でHTTPセッションをコピーする間の障害発生対策や、データベースをHTTPセッションのレポジトリとして採用する際、このデータベース自体の可用性対策を行う必要がありました。この手間はClustraを採用することで、問題を一掃したといえるでしょう。

fig04.gif

図3■Clustraのフェールオーバーの仕組み


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

[高山義泉,ITmedia]