Web アプリケーションサーバ
電力事業部 技術部 システム開発課

牧は じ め に樹

１．Web アプリケーションサーバの利点

ここ数年，急速にさまざまな Web アプリケーションサーバ製品が登場してきています。初期の Web

正Web アプリケーションサーバ(以下 AS と略記)の利点として以下があげられる。

アプリケーションサーバは，単なるＷＷＷサーバにＣＧＩ機能が追加されたような簡単なものでありまし①パフォーマンスの向上

たが現在では，分散オブジェクト，ＪＡＶＡコンポー
ネント，ロードバランシング，フェールオバー等のＡＳはパフォーマンスを向上のために以下のような機能を提供している。

最新技術を搭載した最先端のプラットフォームへとＡ）コネクションプーリング機能進化しています。また各種 DB ベンダも簡易 Web

ＡＳは各種アプリケーションのコネクションをアプリケーションサーバをＤＢに同梱する事によりプーリングする事によりパフォーマンスの劣化をWeb アプリケーションサーバの復旧に力を入れて回避している。

1

きています 。それ故，最近の Web ブームの後押Ｂ）複数ノードシステムのサポート

しもあり Web アプリケーションサーバの関心がＡＳは各種アプリケーションを多数のマシーン年々増加してきております。

（ノード）に分散するシステムをサポートしている。

上記の現状を考慮して以下よりこの Web アプリ

これによりシステム設計時に予想していなかったケーションサーバを用いることの利点について考負荷が発生した場合でもマシーン増設による負察し，さらにその利点を支えているWeb アプリケー

荷分散が比較的容易である。

ションサーバの機能について考察していきたいと思います。

②高い信頼性なお，Web アプリケーションサーバは日本で扱わＡＳは高い信頼性を実現するためにフイルオーれているものだけでも大小合わせて１７０種類存在バのような障害対策機能を装備しています。これいたします。それ故これからの考察が一般的な機により突然の障害発生時にもスムーズに対応する能説明にとどまってしまうことを予めお許し頂きた事が可能である。

い。
1 IBM 社製のDB2 V7 では一代前の IBM Application
Server スタンダード版 V3.02 を標準で装備(最新バージョンは 3.5 2000 年 10 月現在)

③高い拡張性（開発効率の向上）
ＡＳはサーバサイドコンポーネント技術により各1/5

種アプリケーションをコンポーネント化する機能を２．アプリケーションサーバーの機能搭載している。この機能を利用する事によりアプリケーション資源の再利用，共有を可能である。これ

これより上記ＡＳの利点を支えております各種機能について考察していく。

により以下のようなメリットがある。
Ａ）ＷＷＷサーバをある程度自由に選択可能 1

2.1 スケーラビリティ対応機能

各社が販売しているＡＳはＷＷＷサーバを従

インターネット時代のシステムには，アクセス数来のものを使用することが可能である。故にＷが爆発的に増えた場合の対策が不可欠である。予

ＷＷサーバの設定方法を新規に学習せずに既想もしなかったアクセス量に対応するためには，存システムに導入することが可能である。

ハードウェアやネットワークの増強も大切であるが，Ｂ）ＷＷＷサーバとＡＳは別々のマシーンで動作

ＡＰサーバー自体が十分なスケーラビリティを発揮可能できることも大切である。

これによりアプリケーションの負荷が高ければＡＳを増設して負荷分散，逆にＷＷＷサーバに2.1.1 ロードバランシング

負荷が高ければＷＷＷサーバのみを増設など

ロードバランシングは，インターネットからの処理システム負荷に応じたシステム構成が可能であ

要求を，複数サーバに対して振り分けることによっる。て，負荷分散をはかる機能である。これは各 WebＣ）ＡＳとＷＷＷサーバは別のＯＳでも動作可能

クライアントが Web サーバを介してＡＳに対して接これによりたとえばＷＷＷサーバは UNIX，Ａ続を行うときに，ロードバランシングを行うプロセス

Ｓは WindowsNT で動作させることが可能になりが起動し，処理要求を複数ノードのＡＳに対して順ます。故に既存システムにＡＳを導入する際に番に振り分ける機能である。これにより Web クライ

2

有効な機能である 。
1 注意：Oracle 社製のＡＳである Oracle Application
Server の新規バージョンである Oracle Internet
Application Server 8i では Apatch を拡張したＷＷＷサーバを搭載しています。
このように特殊なＷＷＷサーバを使用するＡＳも存在します。

アントからの多数のアクセスがあっても対処できるようになる。
アプリケーションサーバ

Webクライアント

ノード１
Webクライアント

2 注意：ＡＳの中には PDF ファイルを用いた帳票処理のような特殊機能を備えたものがあります。このようなＡＳの場合は UNIX などの OS では動作しないものもあります。

Webサーバに対してアクセス

WWW
サーバ

ロードバランシング
プロセス

複数ノードのアプリケーション
サーバに負荷分散

Webクライアント

ノード２

Webクライアント
ノード３

Webクライアント

図１ ロードバランシングシステム

図 1 ロードバランシング

2/5

2.1.2 コネクションプーリング

Ａ）分散トランザクション

コネクションプーリングは，各種アプリケーション

ＡＳが，複数のノードにおいて一貫性のあるのコネクションを，ＡＰサーバー内部であらかじめ更新を実現するためには，分散トランザクションプールして利用する機能である。これにより各種アのサポートが必要となります。一昔前は分散トラ

プリケーションはあらかじめ起動状態で待機されてンザクションは金融系など高度な信頼性を必要いるので Web クライアントからの要求に対して迅とするシステムでの使用にほぼ限定されていま速に対処する事ができる。

した。しかし現在，ＡＳが分散トランザクション機

また各種アプリケーションは処理が終了能を実装することによって，Ｗｅｂにおいても高した後も待機状態として保存されます。また同じア信頼性システムの構築が可能になりました。多く

プリケーションに対して複数の要求が入ったとしての場合，ＪＴＳ(Java Transaction Service)等のＡＰもＡＳによりスレッドとして処理されるのでシステムＩを利用することによって，複数サーバーを跨いに対しての負荷も軽減されている。この機能はＤＢだ更新トランザクションが実現可能となる。

接続処理など負荷の高い処理を多数発生するシステムに対してかなり有効な機能となる。

Ｂ）フェールオーバ
フェールオーバーは，ＡＳのいずれかのノーＤＢコネクション
各種アプリケーション

ドが故障しても，他のノードが処理を継続する事によって，全系統のシステム稼働を保証する機起動能である。これはＡＳの稼働しているノードにおいて故障が発生した場合，その状態を他のノーデータベースドに複製することにより，それまでの処理を引き継いで実行することを可能にするシステムの総コネクションプール

称である。

アプリケーションサーバ

図 2 コネクションプーリングの概念図（DB コネクション）

このフェールサーバーが機能するＡＳ環境では，障害が起きても自動的に他のノードに対し2.2 信頼性向上対応機能

アプリケーションサーバ

アプリケーションサーバ

ノード１

ノード１

インターネットでの利用に対応するためには，２４時間×３６５日の無停電連続稼働が必要であり，
WWW
サーバ

従来のメインフレーム以上に信頼性・高稼働率を実現する必要があります。ＡＳは以下の技術を実装する事によりそれを実現する。

WWW
サーバ

状態を複製して他のノードが処理を引き継ぐ

ノード２

ノード２

異常発生

異常発生

ノード３

ノード３

図 3 フェールオーバシステム

3/5

て処理の引継が発生するため，システムのユー

3.1 J2EE(Java2 Enterprise Edition)及び EJB

ザは障害の発生を特に意識することなくシステ(EnterPrise JavaBeans)への対応

ムを使用することができる。

現在かなりの会社のＡＳにおいて J2EE 及びEJB の対応が進められてる。

Ｃ）障害監視今後さらに EJB コンポーネント技術をに対応しＡＰサーバーに障害が発生した場合，たＡＳの開発が進められると考えられる。

いち早く検知して対応を講じるための機能が必要となる。多くのＡＳでは，ＳＮＭＰによ

3.2 XML への対応

るメール送信や，ログを出力するといった対応を

XML への対応もJ2EE と同じく対応が進められとっているが，最近では，高機能な監視ソフトにると考えられる。特に XML は Java との親和性が対応したＡＳも現れている。

高いので Java の発展と共に対応したＡＳの開発が進められると考えられる。

２．３ コンポーネント技術
ＡＳは各種アプリケーションをコンポーネント化し3.3 携帯端末技術への対応て実装することにより各種アプリケーションの運用・最近では i モード及び WAP 等の携帯 Web 端管理を実現しています。これにより各種アプリケー末の普及により携帯端末をクライアントとしたシステションの運用管理が容易になっている。

ム開発の開発が重要になってきている。それ故，Ａな お 最 近 の Ａ Ｓ に お い て は J2EE(Java2EnterpriseEdition) 及 び

EJB2.0(EnterPrise

Ｓも携帯端末技術への対応が進められると考えられる 2 。

JavaBeans)への対応が進んでいますので EJB コンポーネントを用いての分散オブジェクトコンポーネ４．最ントとして開発及び実装が可能である 1 。

後に現在 Web アプリケーションサーバの開発は各社が競って作成しているので大小さまざまなもの

３．今 後 の 展 開が生産されています。それぞれにおいて特徴及びこれまで Web アプリケーションサーバの機能に最適なシステムがありますので，それぞれの特徴ついて考察していきました。しかしWeb アプリケーを十分に把握し，さらに導入するシステムを十分にションサーバは現状機能拡張が各社において急検討した上で適切な製品の選定選定することを推ピッチで進められています。そこでこれから追加さ奨します。

れると思われる機能について考察していく。
1 EJB(EnterPrise JavaBeans)は J2EE(Java2 EnterpriseEdition)が規定する Java コンポーネント技術である。
主にサーバ側で稼働するアプリケーションに使用する。

2 現に Oracle 社製の Oracle Intenet Application
Server では２００１年１月発売予定の R1.0.2 より自社製の携帯電話システムコンポーネントの「Portal-toGo」を最上位バージョンに搭載することを発表している。

4/5

参 考 文 献
１）月刊ＤＢマガジン１０月号
翔泳社，2000，10２）Software Design ９月号
技術評論社，2000，9３）JAVA PRESS Vol13
技術評論社，2000，8４）JAVA PRESS Vol14
技術評論社，2000，10５）Oracle Application Server 大規模 Web サイト構築技法
加藤正人 他 著
ソフト・リサーチ・センター，
1999，12６）アシスト社 セミナー資料
７）IBM 社 セミナー資料

5/5