トップ OSS紹介 Apache Tomcat

Apache Tomcat

サポート対象

NRIのOpenStandiaが提供するApache Tomcat最新情報

Apache Tomcat情報

Apache Tomcatとは

Tomcatは、世界中で広く使われているオープンソースのWEBコンテナです。

Tomcatの正式名称は「Apache Tomcat」ですが、単に「Tomcat」と言っても多くの人が認知できるほどで、今やWEBコンテナのデファクトスタンダートと言っても過言ではありません。Tomcatは、Java言語で書かれており、Javaが動作する多くのプラットフォームで利用可能、安定していて軽快である、性能が良い等の理由から、日本のエンタープライズシステムにおいても数多く採用されています。
Tomcatは、Java サーブレットおよびJSP(Java Server Page)のリファレンス実装としてサン・マイクロシステムズ社で開発が始まり、1999年にApache Software Foundation(Apacheソフトウェア財団、ASF)に寄贈された後、初期バージョンとして3.0が発表されました。

Tomcat「雄猫」という名前は単独で行動し戦えるというイメージから来たもので、開発者のジェームズ・ダンカン・デヴィッドソンにより名付けられました。

現在も積極的なバージョンアップが繰り返され、Apache Software Foundationが保有するトップレベルプロジェクトの1つとして現在でも進化し続けています。

最新バージョンの10.0.Xでは、Servlet 5.0、JSP 3.0、EL 4.0、Web Socket 2.0、HTTP/2などの機能が取り入れられています。現在開発中の次期バージョンの10.1.x では、Servlet 6.0、JSP 3.1、EL 5.0、Web Socket(バージョン未確定)、Authentication(JASPIC)(バージョン未確定) が実装されます。

日本においては、性能が安定しているゆえに、保守サポートに入らずに過去バージョンのTomcatを長期間に渡って利用し続けている企業も多いようです。しかし、システムトラブルが発生した際には、解決方法を聞く場所がないといった問題も発生していました。

しかし、近年では、Tomcatの普及に伴ってTomcatの保守・サポートサービスを提供するベンダーが登場し、エンタープライズシステムにおいてもこれまで以上に安心してTomcatを利用する環境が整ってきたと言えます。

野村総合研究所(NRI)では、過去バージョンや、Windows環境で利用するTomcatなどでもしっかりサポートいたします。7年間以上の長期間サポート、個別パッチの開発、周辺オープンソースとのワンストップサポートなど、ソースコードの修正まで行えるハイレベルなサポート専任エンジニアによるNRI独自の安心サポートサービスをご提供しています。

主な機能

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(トムキャット)は「企業システムで安心して利用可能」と評価されています。(下記参照)

主な特徴

Tomcatは、高性能や高い安定性だけではなく、次のような特徴があります。
機能や性能、実績などは、商用製品でもTomcatでもほとんど変わらないため、「よりオープンスタンダードである」「よりコストを削減できる」という点 が、Tomcat採用の決め手になっているようです。

JSP/Servlet標準仕様

Tomcatは、JavaサーブレットとJSPの公式なリファレンス実装として開発・実装されています。
Tomcat単体で、Webサーバ(httpd)としても動作しますが、通常はApacheやIISと組み合わせて利用します

軽快な動作、安定性

Tomcatは動作が安定していて軽快であるため、商用製品のようにハイスペックなハードウェアを要求することもなく、インストールも簡単です

マルチプラットフォーム

Tomcatは Red Hat Enterprise Linux、SUSE Linux、Sun Solaris、HP-UX、Microsoft Windows、AIXなど、さまざまなOSプラットフォームに対応しています

世界中で利用されている

世界中で広く利用されているWebコンテナのデファクトスタンダードであり、日本でも数多くの導入事例があります

高機能・高性能

TomcatはJSP/Servlet標準仕様で機能は商用製品と同等で、 性能は商用と同等か、むしろ速いです

技術者を集めやすい

Tomcatは世界中で利用されているデファクトスタンダードであるため、大人数で開発するプロジェクトやオフショア開発の際などにも技術者を集めやすいといえます。 また、環境構築や開発に余分な教育コストがかからない、知的資産を共有しやすいなどのメリットもあります

長期間に渡って利用可能

通常商用製品のサポートは3~5年間ですが、Tomcatは動作が安定しているためノンサポートでも長期間に渡って利用できるケースが多く見られます NRIでは過去バージョンを含め、Tomcatを最長7年間(以降も応相談)でサポートできます

コスト効果

Tomcatは高機能なWEBコンテナでありながら、ライセンスコストがかからない(無料である)ため、気軽に試すことが可能であり、また商用製品に比べコストを大幅に削減することができます

導入事例

NRIでは、これまでにオープンソースシステムの構築・運用・サポートを国内1000以上の企業(プロジェクト)に導入してまいりました。<br/>なかでもTomcat(トムキャット)は、数多くのミッションクリティカルなエンタープライズシステムへの導入実績とノウハウを持っています。
NRIでは、これまでにオープンソースシステムの構築・運用・サポートを国内1000以上の企業(プロジェクト)に導入してまいりました。
なかでもTomcat(トムキャット)は、数多くのミッションクリティカルなエンタープライズシステムへの導入実績とノウハウを持っています。

NRIでは、「オープンソース・ワンストップサービスOpenStandia(オープンスタンディア)」で、50種類以上のオープンソースをワンストップでサポートします。

Tomcat(トムキャット)を中心に、アプリケーション開発フレームワークやJava共通部品群など、オープンスタンダードなコンポーネントで構成される、JavaベースのWebアプリケーションサーバ、OpenStandia/ApplicationServerを活用した事例をご紹介します。さまざまなオープンソースのミドルウェアを組み合わせることによって、性能や信頼性などの要件を満たしながら、コスト削減効果を最大限に引き出した導入成功事例をご紹介しています。
ここでご紹介する事例は、金融業、流通業でのごく一部の導入事例です。他の業種、システムでの導入事例については、お気軽にお問い合わせください。

  • 高いピーク性能が求められるオンライントレードシステムを、オープンソースで実現
    (OpenStandia/ApplicationServer(以下のオープンソースを含んでいます。Tomcat、JBoss AS、Apache、Struts、Spring、Hibernate))
  • 資金管理や約定管理などを行う、金融機関のミッションクリティカルなシステム
    (OpenStandia/ApplicationServer(以下のオープンソースを含んでいます。Tomcat、JBoss AS、MySQL、Apache、Struts、Spring、Hibernate))
  • 秒間24,000にも及ぶ大量トランザクション
    (OpenStandia/ApplicationServer(Tomcat、JBoss ASほか))
  • お客様を待たせない、高性能コールセンター
    (OpenStandia/ApplicationServer(Tomcat、JBoss ASほか))
  • 店舗とインターネット、2つの経路から予約受付
    (OpenStandia/ApplicationServer(以下のオープンソースを含んでいます。Tomcat、JBoss AS、Apache、Struts))
  • 1日も早くサービスをスタートしたい
    (OpenStandia/ApplicationServer(以下のオープンソースを含んでいます。Tomcat、JBoss AS、Apache、Struts))
  • "止まらない"ECサイトを実現
    (OpenStandia/ApplicationServer(Tomcat、JBoss ASほか))

類似プロダクト

商用ソフトウェア製品では、WebLogic Express、WebSphere Application Server Expressが、Tomcatと同様の機能を提供しています。

商用製品との機能比較

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サーバ テストページ 実行環境 テストパターン

Tomcat4

サーブレット

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

Tomcat5

サーブレット

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対応ができる

Apache Tomcatのライセンス

Tomcat(トムキャット)のライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

ユースケース

お客様の要望

「Tomcat(トムキャット)を使ったWebシステムで、性能が遅い。原因を調べてほしい」

OpenStandiaの対応

Tomcat(トムキャット)のパラメータをチェックし、問題ないことを確認。
スレッドダンプを確認し、Tomcat(トムキャット)以外の箇所がボトルネックになっていることを確認。
Oracle処理の前後で、タイムスタンプを取得することを依頼。
Oracle処理がボトルネックになっていることを確認。

TomcatとServlet/JSPバージョン対応表

Apache Tomcatバージョン Servlet Spec JSP Spec EL Spec WebSocket Spec Authentication (JASPIC) Spec JDK
10.1x 6.0 3.1 5.0 2.1 3.0 11以上
10.0.x 5.0 3.0 4.0 2.0 2.0 8以上
9.0.x 4.0 2.3 3.0 1.1 1.1 8以上
8.5.x 3.1 2.3 3.0 1.1 1.1 7以上
8.0.x(EOL) 3.1 2.3 3.0 1.1 - 7以上
7.0.x(EOL) 3 2.2 2.2 1.1 - 6以上
6.0.x(EOL) 2.5 2.1 2.1 - - 5以上
5.5.x(EOL) 2.4 2 - - - 1.4以上

参照元

OSS基盤構築サービス

Webアプリケーションサーバ導入サービス

概要

Tomcat(トムキャット)の導入サービスです。パラメータ設計、及びインストール作業を行います。

作業内容

Tomcat(トムキャット)のパラメータ設計、及びインストール

アウトプット

  • パラメータシート
  • 導入手順書

価格

  • 25万円~/サーバ1台

※ご要望に応じて、サーバ(ハードウェア)、OSについてもワンストップでご提供させていただきます。

Webアプリケーションサーバ基盤構築サービス

概要

  • Tomcat(トムキャット)に加えて、ApacheやDBMS(Oracle、MySQL、PostgreSQL)との接続のための設計、設定作業を加えた、サーバ基盤の設計、構築サービスです
  • パラメータ設計、インストール作業、及び疎通確認テストを行います

作業内容

  • Apacheのパラメータ設計、及びインストール
  • mod_jkのパラメータ設計、及びインストール
  • Tomcat(トムキャット)のパラメータ設計、及びインストール
  • Tomcat(トムキャット)とDBMS(Oracle、MySQL、PostgreSQL)との接続設定
  • Apache→mod_jk→Tomcat(トムキャット)→DBMS(Oracle、MySQL、PostgreSQL)の疎通確認テスト

アウトプット

  • パラメータシート
  • 導入手順書

価格

  • 50万円~/サーバ1台

※ご要望に応じて、サーバ(ハードウェア)、OSについてもワンストップでご提供させていただきます。

オープンソース・システム基盤構築サービス

概要

  • Tomcat(トムキャット)とMySQL、又はPostgreSQLを活用した、Webシステムにおけるシステム基盤全体を設計、構築するサービスです
  • Webアプリケーションサーバを2台、データベースサーバを2台の合計4台構成で、冗長性を考慮した信頼性の高いシステム基盤を構築します
  • パラメータ設計、インストール作業、疎通確認テスト、及び障害テストを行います

作業内容

  • Apacheのパラメータ設計、及びインストール
  • mod_jkのパラメータ設計、及びインストール
  • Tomcat(トムキャット)のパラメータ設計、及びインストール
  • Tomcat(トムキャット)とDBMS(Oracle、MySQL、PostgreSQL)との接続設定
  • MySQL、又はPostgreSQL のパラメータ設計、及びインストール
  • クラスターソフトのパラメータ設計、及びインストール
  • Apache→mod_jk→Tomcat(トムキャット)→DBMS(MySQL、又はPostgreSQL)の疎通確認テスト
  • MySQL、又はPostgreSQL障害時の、待機系への切り替えテスト

アウトプット

  • パラメータシート
  • 導入手順書

価格

  • 250万円~/システム

※ご要望に応じて、サーバ(ハードウェア)、OSについてもワンストップでご提供させていただきます。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Red Hat JBoss Enterprise Application Platform

    Red Hat JBoss Enterprise Application Platform

    ジェイボス エンタープライズアプリケーションプラットフォーム(イーエイピー)。J2EE1.4準拠のJ2EEアプリケーションサーバです。

  • Spring Boot
    サポート対象

    Spring Boot

    スプリング ブート。Springフレームワークのアプリケーションを簡単に開発できるオープンソースのJavaフレームワークです。

  • GlassFish

    GlassFish

    グラスフィッシュ。オープンソースのアプリケーションサーバです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。