無償のサーブレット・エンジン「Tomcat」を業務で利用するユーザーが増えてきた。コストの抑制が狙いだ。複雑化する商用APサーバーに対し,Tomcatはシンプルなサーバー・サイドJava環境を提供する。性能,安定性,拡張性――Tomcatでどこまで“いける”のか。先行ユーザーから探った。

図1●商用サイトでの利用実績も増えてきた
トレイダーズ証券では,主に構築コストを抑制する目的でTomcatを活用している。2002年5月には,インターネットで先物やオプション取引が可能な「ネットインデックス」を稼働開始。それ以前にも,相場情報などを提供する「E-Board225」でTomcatを利用するなど,着実に利用ノウハウを蓄積してきた
 オープンソースのJavaサーブレット・エンジン「Tomcat」を業務システムに適用するユーザーが増えている。Jakartaプロジェクト*が無償提供するTomcatでは,Javaサーブレット/JSPアプリケーションが構築可能だ。

 大塚商会では,Tomcatを使った勤怠管理システムを3年以上稼働させてきたが,「負荷が高くて落ちた,レスポンスが悪いといったトラブルは無い」(トータル情報システム室 SE主任 森厚憲氏)と,性能への評価は高い。伊勢丹がECサイトに,トレイダーズ証券が株取引に利用するなど,信頼感も上がってきた(図1[拡大表示])。

 「商用APサーバーを使うと,(保守料なども含め)構築コストが一けた跳ね上がる」(トレイダーズ証券 執行役員 奥山泰全氏)と,Tomcatの採用理由はコストの抑制に尽きる。ただ,採用に踏み切るには,“Tomcatで十分か”を判断する必要がある。商用APサーバーとの違いを押さえることで,判断材料が明らかになった。

 フレームワークや負荷分散装置などで補えば,Tomcatでも商用APサーバー並みの機能はそろう。性能については,「デフォルトでも十分に速い」(マリンロード Webアプリケーション事業部 開発セクション チーフデベロッパー 田中優位氏)と,満足するユーザーは多い。ただし,定期的に再起動する方が無難,といった注意点もある。先行ユーザーのノウハウを生かせば,Tomcatの適用範囲は大きく広がる。

足りなければ他製品で補う

 Tomcatと商用APサーバー,その主な違いを図2[拡大表示]にまとめた。機能面では,共通プログラム部品(図2の(1))や,独自のクラスタリング機能(同(2))などを提供することが,商用APサーバーの特徴。これらが必要な場合,Tomcatでは他製品で補うことになる。

 セッション管理やDBコネクション・プーリングといった共通部品は,フレームワークなどで調達できる。Javaによるシステム構築を手掛けるマリンロードでは,「セッション管理はサーブレットの機能を,DBコネクション・プーリングはPoolMan*を利用している。また,プロジェクトから部品を収集し,Tomcat上に独自のフレームワークを構築してきた」(Webアプリケーション事業部 開発セクション チーフデベロッパー 徳田啓氏)。

 商用APサーバーは,JavaVMなど細かな単位のクラスタリング機能を備える。しかも複数ノード間でセッション情報を共有することで,ノード障害時にもトランザクションの保証が可能だ。しかし,「障害時にトランザクションまで保証してくれというシステムは少ない。多くは,ログインし直して業務が継続できればよい」(テンアートニ Web Solution事業部 プロダクト開発グループ 次長 青木幸治氏)。このレベルなら,クラスタリング専用装置を使えば,Tomcatでも実現可能だ。

 Tomcatでは他製品に頼らざるを得ない面は多い。しかし,“餅は餅屋”と割り切れば,「シンプルなものから積み上げ,段階的に理想形に近付けていく」(伊勢丹データーセンター 流通システム部 ECシステム担当マネジャー 浅木麗子氏)という構築スタイルになじむ。伊勢丹のECサイトは,途中からフレームワークを追加することでプログラムの再利用性を高めた(図3[拡大表示])。トレイダーズ証券も「今後はフレームワークの適用を検討していく」(システム構築を担当するイ・システム 開発担当取締役 土橋雅之氏)考えだ。

 さらに,EJBは利用できないものの,TomcatはJ2EEのリファレンス実装となっている*1。つまり,「Tomcatでできることは,他のAPサーバーでもできる」(マリンロードの田中氏)。Tomcatで“不足”と感じたら,他製品に乗る換えれば済むのである。

図2●Tomcatはシンプルであることがメリット
Tomcatの実体はサーブレットおよびJSPのコンテナであり,商用APサーバーに比べると機能は少ない。ただし,共通プログラムをフレームワークで,クラスタリング機能を専用装置で加えるなど,他製品を組み合わせることでTomcatの拡張性や開発生産性は高められる。シンプルな構成から出発し,要件に応じて柔軟にシステムを成長させていく構築スタイルに向いている
 
図3●フレームワークを追加した伊勢丹のECサイト
2002年6月に,Tomcat上に構築した既存アプリケーションの一部にフレームワークを適用し,プログラム部品の再利用性を高めた。2002年9月にはサーバーを2台追加し,性能向上を図った
(森山 徹=tmoriyam@nikkeibp.co.jp)