JBoss Enterprise Application Platformの全貌 4

JBoss Web外部コネクタ

JBoss Web外部コネクタ

JBoss Webは外部コネクタとして3つのコネクタを持っています。これらはそれぞれ、前述設定ファイル、server.xml内で定義します。デフォルトではHTTPコネクタとWebサーバとの連携プロトコルであるAJP(Apache JServ Protocol)をハンドルするためのコネクタが有効となっています。なおこれらのコネクタを用途に合わせて有効/無効に設定することができます。


コネクタ名 プロトコル 説明
HTTPコネクタ HTTP HTTPリクエストをハンドリング
TCP デフォルト ポート:8080
HTTPSコネクタ HTTPS デフォルトでは無効
暗号化されたHTTPリクエストをハンドリング
AJPコネクタ AJP AJP(Apache JServ Protocol) 1.3
Webサーバとの連携プロトコル
TCP デフォルトポート:8009
表3:JBoss Webコネクタ一覧

ドキュメントルートページの設定

JBoss Webのドキュメントルートは「deploy/jboss-web.deployer」直下に配置された「ROOT.war」というディレクトリ内で定義 されています。オリジナルのデフォルトページを作成したい場合は、ROOT.war内のファイルを編集するか、もしくはルート("/")を独自アプリケー ションのコンテキストルートとして使用するようにしてください。

Apache HTTP Server連携時の注意点

HTMLドキュメントや画像ファイルで構成された静的なページとサーブレットなどを利用した動的なページが混在する場合、Apache HTTP ServerなどのWebサーバと連携させることが推奨されます。

静的なページの処理速度に関してはWebサーバの方が一般的に高速であり、かつ細かな機能設定などが可能です。あわせて役割分担をすることで、メンテナンス性が向上するという点もメリットとしてあげられます。なお、Apache HTTP ServerとJBoss Webを連携させる場合、連携モジュールとして「mod_jk」が必要となります。

ここで注意したいのが、mod_jk2やmod_webappは「非推奨」であるという点です。特にmod_jk2はネーミング上、mod_jkよりも新しいバージョンであるような錯覚に陥りがちですが、すでにメンテナンスが終了していますので、必ず最新のmod_jk1.2.xを使うようにしてく ださい。

JBoss Webの拡張

JBoss EAP 4.2.0には含まれませんが、Apache Portable Runtime(以下、APR)を利用して実装されたTomcat NativeライブラリおよびOpenSSLを利用することでJBoss Webを拡張することが可能です。


JBoss Webの拡張
図3:JBoss Webの拡張

APRはプラットフォーム非依存のWebサーバの機能を提供するApache HTTP Serverのライブラリです。このTomcat Nativeライブラリを利用することで、Webサーバ機能はApache HTTP Serverの性能に匹敵する性能を実現しています。また、PHPや.netなどの他のWebアプリケーションモジュールをJBoss Webで統合することが可能となります。

OpenSSLはオープンソースのSSL実装です。JBoss Webではセキュアなリクエストを高速で処理するために、SSL実装でOpenSSLを利用することができます。SSLを使用時のベンチマークではOpenSSLを利用していないTomcatとの性能差が数倍になることも報告されています。

最後に

JBoss EAPでは、今回紹介したJBoss WebをWebコンテナに採用することで、より安定した信頼性の高いサービスの提供を実現することができるようになります。またJBoss EAPで提供されているEJBやJMSなどのJ2EE/JavaEEサービスを削除し、Webコンテナ機能のみのJBoss EAP(つまりJBoss WEB)を運用している企業も存在します。

このようにJBoss WebはTomcatとの共通点も多く、既存のTomcatユーザであればシームレスにJBoss Webに移行することができるでしょう。またパッチ提供や障害時のサポートサービスを受けるのが難しいTomcatに対して、JBoss Webはパッチ提供を含むサポートをレッドハットから受けることができるメリットも見逃せません。

今後、Tomcatの導入を検討、もしくはすでにTomcatを運用しているが将来的にサポートが必要な場合、ぜひJBoss Webの利用を検討されてはいかがでしょうか。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る