Tomcatの基本機能
Tomcat(トムキャット)は、世界中で広く使われているオープンソースのWEBコンテナであり、JSP/Servlet標準仕様であるため、機能は商用製品と同等といえます。
性能は商用と同等か、むしろ速いケースもあります。
- サーブレットコンテナ機能
- Webサーバ機能
- 他のWebサーバとの連携機能
Tomcatの性能
Tomcat(トムキャット)は、Linux、Red Hat Enterprise Linux、Sun Solaris、HP-UX、Microsoft Windows、AIX、Mac OS、OpenBSDなど、さまざまなOSプラットフォームに対応しています。
Tomcat(トムキャット)は、オープンソースでありながら、商用製品の「WebLogic Express」、「WebSphere Application Server Express」、「Sun Java System Application Server」に相当する機能を提供しています。
NRIが独自にオープンソースの性能を調査した、NRIオープンソースマップ(2008年4月版)でも、Tomcat(トムキャット)は「企業システムで安心して利用可能」と評価されています。(下記参照)
Webアプリケーションサーバの選択
Tomcatと商用製品
Tomcat(トムキャット)の機能面、性能面、費用において商用製品との比較をしてみましょう。
Tomcatと商用製品の機能面での比較
- JSP/Servlet標準仕様
- 軽快な動作、安定性
- マルチプラットフォーム
- デファクトスタンダード
JSP/Servlet標準仕様
Tomcat(トムキャット)は、JavaサーブレットとJSP(JavaServer Pages)の仕様に基づいた処理を行う、アプリケーションサーバです。JavaサーブレットとJSPの公式なリファレンス実装として開発・実装されてい ます。Tomcat(トムキャット)単体で、Webサーバ(httpd)としても動作しますが、通常はApacheやIISと組み合わせて利用します。
軽快な動作、安定性
Tomcat(トムキャット)は動作が安定していて軽快であるため、商用製品のようにハイスペックなハードウェアを要求することもなく、インストールも簡単です。Tomcat(トムキャット)をインストールするだけでWebアプリケーションの動作環境を構築できます。
マルチプラットフォーム
商用製品では、動作環境として自社製品のOS上でしか動作しないといった場合もありますが、Tomcat(トムキャット)はLinux、Red Hat Enterprise Linux、Sun Solaris、HP-UX、Microsoft Windows、AIX、Mac OS、OpenBSDなど、さまざまなOSプラットフォームに対応することが可能です。
デファクトスタンダード
Tomcat(トムキャット)は、WEBコンテナのデファクトスタンダードであり、Tomcat(トムキャット)を使ったシステムの開発経験を持つエンジニアは非常に多く存在します。した がって、国内、オフショア開発を問わず、環境構築や開発に余分な教育コストがかからない、知的資産を共有しやすいなどのメリットがあると言えます。
Tomcatと商用製品の性能面での比較
次に性能面についてみてみましょう。NRIで評価した結果をご紹介します。
Tomcat性能評価
APサーバ | テストページ | 実行環境 | テストパターン |
---|---|---|---|
Tomcat 4 | サーブレット | APサーバ Tomcat 4.1.29 + JDK1.4.1 |
以下の組み合わせでスループット、レスポンスタイムを取得。 ●サーブレット {1KB / 16KB / 32KB / 64KB / 128KB / 256KB / 512KB / 1024KB} × 多重度 {1 / 5 / 7 / 10 / 15 / 20} ●JSP {1KB / 16KB / 32KB / 64KB / 128KB / 256KB / 512KB / 1024KB} × 多重度 {1 / 5 / 7 / 10 / 15 / 20} |
JSP | |||
Tomcat 5 | サーブレット | APサーバ Tomcat 5.0.18 + JDK1.4.1 |
|
JSP | |||
商用製品 | サーブレット | APサーバ Webxxxxx Server 8.1 + JRxxxxx1.4.1 |
|
JSP |
これを見ると、Tomcat(トムキャット)の性能は商用製品と全く同等であることがわかります。
このようにTomcat(トムキャット)は、機能や性能で商用のアプリケーションサーバと比較してもまったく遜色ありません。事実、Tomcat(トムキャット)は、ミッションクリティカルなシステムでも多数の導入実績があります。
Tomcatと商用製品の費用面での比較
Tomcat(トムキャット)は、その一番の特徴として「オープンソースであること」があげられます。
アプリケーションサーバにかかる費用についてみてみましょう。この費用としては、以下のものが考えられます。
- 初期導入費用(環境構築)
- ライセンス費用
- 保守サポート費用
従来の商用のアプリケーションサーバ製品では、1CPUあたり数十万円から数百万円のライセンス費用がかかり、さらに保守サポート費用が別途かかっていました。
それに比べて、Tomcat(トムキャット)は、オープンソースであるためにライセンス費用がかかりません。サービスベンダーから提供される保守サポート費用のみが必要です。システムの重要度によっては、保守サポートを利用しないという選択肢もあります。
このように、費用面については、実際に比較してみるとかなりの費用削減効果があることがわかります。
Tomcat(トムキャット)はライセンス費用がかからないがゆえに、誰でも気軽にインストールでき、環境構築を試すことができます。これも商用製品にはない、Tomcat(トムキャット)の大きな魅力といえます。
商用製品 | Tomcat | 備考 | |
---|---|---|---|
シェア | △ | ◎ | Tomcat(トムキャット) は最も広く普及しているWebコンテナ |
実績 | ○ | ○ | 共に、業務システムにおける実績は豊富 |
機能 | ○ | ○ | JSP/Server標準仕様準拠のため、違いはない |
性能 | ○ | ◎ | Tomcat(トムキャット)は商用製品よりも、高い性能 |
オープン | △ | ◎ | Tomcat(トムキャット) は、ソースが開示、修正や追加も可能 |
サポート期間 | △ | ◎ ※ | 商用製品は通常3≠T年。Tomcat(トムキャット) は5≠V年 |
コスト | × | ◎ ※ | 商用製品は高額。Tomcat(トムキャット) は保守費だけでも安い |
※ NRIの有償サポートを利用した場合。
TomcatとJBoss
以前、お客様からのお問い合わせで、「アプリケーションサーバの選択で、Tomcat(トムキャット)とJBossのどちらを選択したらよいでしょうか?」というご質問をいただきました。ここで、Tomcat(トムキャット)とJBossの違いを簡単にご紹介します。
JBoss Application Server(以下、JBoss AS)及びJBoss Enterprise Application Platform(以下、JBoss EAP)とTomcat(トムキャット)の違いを簡単にいうと、Java EEの仕様に完全準拠しているかどうかということになります。
Tomcatは、Java EEの仕様のうち、Webアプリケーションの基本的な動作に必要な一部の仕様(サーブレット/JSPなど)のみを実装したサーブレットコンテナです。
これに対して、JBoss AS、及びJBoss EAPは、サーブレット/JSPの他にEJBやJTAなどのJava EEの全て仕様を実装したJava EEコンテナです。
したがって、JBoss AS、及びJBoss EAPの豊富な機能を有効に利用できれば、JBoss AS、及びJBoss EAPを選択し、そうでなければTomcatを選択するのが一般的です。
Tomcatは、付加的な機能を実装していない分、シンプルで扱いやすく、障害発生時も解析が容易であることがメリットといえます。
JBoss AS、及びJBoss EAPは、JSP/ServletコンテナとしてTomcat(トムキャット)を内包していますが、「エンタープライズ向けにTomcat(トムキャット)を拡張した」Webアプリケーションサーバという位置付けになります。
EJBやJTAを使わない場合でも、Tomcat(トムキャット)ではなくJBoss AS及びJBoss EAPを使ういくつかのメリットがあります。必要に応じてTomcat(トムキャット)とJBossを使い分けるとよいでしょう。Tomcat(トムキャット)とJBossの選択については、お気軽にお問い合わせください。
JBossのメリット
- JMXによる運用管理が容易に行える
- JMSなどのメッセージング機能が使える
- トランザクション制御機能が使える
- 将来、EJBなどの機能を使いたくなった場合でもスムーズに移行できる
- SOA対応ができる