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 |
ドキュメントルートページの設定
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を拡張することが可能です。

図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の利用を検討されてはいかがでしょうか。