フリーのWebコンテナ/J2EEコンテナを整理する

Javaオープンソースセンターでは、Java開発に関連するさまざまなオープンソースを紹介してきます。また、開発者に便利なリンク集も今後充実させていく予定です。(編集局)

クロノス
米山学/奥清隆
2005/2/19



 Tomcat

ライセンス形態 Apache Software License
ダウンロード http://jakarta.apache.org/tomcat/index.html

 Tomcatは「The Apache Jakarta Project」(http://jakarta.apache.org/)で開発されているサーブレット・コンテナであり、JCPおよび米サン・マイクロシステムズによって策定されているServlet APIとJSP APIを実装する公式のRI(Reference Implementation)である。Tomcatの歴史をひもとくと、1999年6月にサンフランシスコで開催されたJavaOneにまでさかのぼる。当時Sunが開発していたJSWDK(Java Server Web Development Kit)とServlet/JSPのライセンスをApache Software Foundationが譲り受けJakarta Projectが誕生する。そしてその年の12月にTomcat 3.0がリリースされることとなった。

 Tomcatは無償であるにもかかわらず高い性能を誇る実績あるサーブレット・コンテナである。簡易HTTPサーバも同梱しているためServlet/JSPのみを使うWebアプリケーションであればTomcatとデータベースを用意するだけで十分構築可能だ。また、EJBコンテナであるJBossに標準でバンドルされており、サーブレット・コンテナのデファクト・スタンダードとしての地位を確保している。最新バージョンは5.5.7(2005年2月現在)である。

Tomcat 3系
 最初に一般公開されたのがこの「3.x」系である。HTTPサーバとのコネクタ機能やセキュリティ関連に問題はあったものの、当時としては画期的であった。バージョン3.3を最後に3系の開発は終了している。

Tomcat 4系
 3系のコードを大きく改変し「Catalina」と呼ばれるアーキテクチャをベースにCraig.R.McClanahan氏(StrutsやJSFの開発でも知られる米サン・マイクロシステムズの“J2EE Web Layer Architect”)をリーダーとして開発が行われ、2000年8月に4.0.1がリリースされた。Servlet 2.3とJSP 1.2をサポートする4系の発展とともにServlet/JSPによるWebアプリケーションの構築も一気に普及していくこととなる。

Tomcat 5系
 ガベージ・コレクションの軽減およびパフォーマンスにかかわるコードが大きく改善され、セッション・クラスタリングもサポートされたことによって商用アプリケーションや企業システムでの使用に十分耐え得るプロダクトとなった。サーバの監視機能にはJMXがフルに採用されている。2003年12月にリリースされたJ2EE 1.4に含まれるServlet 2.4とJSP 2.0をサポートする。また、5.5系もリリースされており、こちらはJ2SE 5.0対応版である。

 JBoss

ライセンス形態 Lesser General Public License
ダウンロード http://www.jboss.org/downloads/index

 JBossはJBoss Inc.(http://www.jboss.org/)によって開発されている100%Pure Javaの軽量なEJBコンテナであり、世界中で高い評価を得ている。

 JBoss単体ではEJBコンテナとしての機能しか持たないが、WebコンテナであるTomcatやJettyをバンドルしているためJ2EEアプリケーション・サーバとして利用することが可能である。また、HSQLDBという軽量なデータベースも含まれており、簡単な開発環境を手軽に構築することができる。これらはJMXをベースにしたマイクロ・カーネルと呼ばれるアーキテクチャを採用してコンポーネント化されている。

 JBoss 4.0ではJBoss AOPと呼ばれるAOP(Aspect Oriented Programming))フレームワークを提供しておりJCA 1.5やEJB Timer、J2SE 1.5 Beta1などにも対応している。

 JBossプロダクト自体は無償であるが、JBoss Inc.による有償のサポートを受けることができ、多くの企業での実績がある。日本国内でも代理店による日本語でのサポートを受けることが可能となっている。最新のバージョンは4.0.1(2005年2月現在)である。

 JOnAS

ライセンス形態 Lesser General Public License
ダウンロード http://jonas.objectweb.org/

 JOnASはオープンソース・ソフトウェアのコミュニティであるObjectWebが提供しているJ2EEアプリケーション・サーバである。100%Pure Javaで開発され、米サン・マイクロシステムズによるJ2EEのライセンスを受けている。現時点での最新バージョンである4.3.2ではJ2EE 1.4をサポートし、EJB 2.1やJCA 1.5などが利用可能である。EJBが使用可能な無償のJ2EEサーバが少ない中、その選択肢としてJOnASを加えることができるだろう。フロントのサーブレット・コンテナとしてはTomcat 5.0.30もしくはJetty 5.1.1をバンドルするビルドがリリースされており、好みに応じて使い分けることもできる。

 またRDBMSのHSQLDB、トランザクション・マネージャのJOTMが同梱されているため、J2EEアプリケーション開発のオールインワン・パッケージとして即座に活用することが可能となっている。JBossに比べてまだまだ情報が少ないが、今後発展が期待されるプロダクトの1つである。

 Seasar

ライセンス形態 The Seasar Software License, Version 1.1
ダウンロード http://sourceforge.jp/projects/seasar

 Seasar(シーサー「沖縄の狛犬」)はその名前からも分かるとおり純国産のオープンソースのアプリケーションサーバであり、Seasarプロジェクト(http://www.seasar.org/)によって開発されている。このアプリケーション・サーバは「軽量コンテナ」とも呼ばれており、AOP(Aspect-Oriented Programming)やDI(Dependency Injection)、IoC(Inversion of Control)といった最新のプログラミング・パラダイムを採用していることが大きな特徴だ(同様に軽量コンテナと呼ばれるプロダクトにPicoContainer(http://www.picocontainer.org/)やSpring Framework(http://www.springframework.org/)などがある)。また国内で日本人を中心に開発されているという点も注目すべきであろう。

 従来のアプリケーション・サーバでは、実装すべき仕様や機能が肥大化、複雑化する過程においてメンテナンス性や開発およびテストの容易性を犠牲にしてきた。軽量コンテナはそれらの問題点を解決すべく普通のJavaオブジェクトであるPOJOを利用し、多くの機能をプラグイン可能な個別モジュールとして実装している。

 現在はWebコンテナのJettyやRDBであるHSQLDBなどがバンドルされたSeasar 2(2005年2月現在)が公開されており、今後の発展が楽しみなプロダクトだ。



Java Solution全記事一覧



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間