LoginSignup
24
27

More than 5 years have passed since last update.

TomcatとGlassFishって結局どっちを使うのがいーの?

Posted at

はじめに

はじめまして。ykusaです。
今日はTomcatとGlassFishの使い分けについて説明します。

JavaでWebアプリの開発をしたことがある方ならTomcatは使ったことがあるかと思います。一方で、美味しそうなお魚マークのGlassFishは使ったことがありますか?
どちらもWebアプリを運用できるという点では同じことができますが、それぞれに向き不向きがあります。

機能の○×を付けるだけであれば、その辺に落ちている表を見ればいいのですが、運用やサポートも含めた比較内容はなかなかまとまっていません。
実際にどちらを使うの?となった際に、機能の実現性の有無だけでなく、運用やサポート、それに加えて将来的な展望なども知っておくと、選定の際に役立ちます。

どっちを使うのがいい?となった際に、説明できるとかっこいいですよ!

基本情報

まずは、Tomcat、GlassFishについて、基本情報を簡単に整理します。

Tomcatとは

JSPやSevletを実行するWebコンテナ(Webアプリを動かす環境のこと)です。Apacheのコミュニティ内で開発がされています。
最新版はTomcat9.0.19で開発が継続されています。(2019年4月13日時点)

GlassFishとは

JavaEEの参照実装です。JavaEEの詳細については、他のサイトを見てほしいのですが、簡単にいうとJavaフレームワークの集合体でJavaEEの一部にJSP、Servletが含まれます。そのため、Tomcat同様のWebコンテナとしての機能も持っています。
紆余曲折あったのですが、今はEclipse Foundation内のコミュニティで開発がされており、最新版はEclipse GlassFish 5.1になります。(2019年1月末時点)

TomcatとGlassFishの違い

機能面

機能 Tomcat GlassFish
Webコンテナ(JSP、Servlet)
EJBコンテナ ×
フレームワーク(JSF、JPA、CDIなど) ×
アプリケーションの管理 ×
リソースの管理 ×

基本的に、TomcatはWebコンテナを動作させるための必要最低限の機能になります。一方でGlassFishは大規模な商用システムの運用も考慮し、アプリやリソースの管理機能もついています。

サポート面

ここでいうサポートは、電話やメールでの対応などではなく、開発が継続している(新機能の追加、セキュリティパッチの提供、障害修正の公開などが行われる)ことを指します。
サポート中であれば、障害を見つけた際にコミュニティに連絡をすれば、修正してもらえる可能性があります。
Tomcat、GlassFishで以下のような特長があります。

Tomcat

以下のような特長があります。

  • 1バージョン当たりのサポート期間が長い(一例として、Tomcat7系は2011年に安定板がリリースされた後、2019年4月時点でもサポート継続中)
  • 数多くのITベンダーが、QAサービスを提供(「Tomcat 電話 サポート」で検索すると結構出てきます)

GlassFish

以下のような特長があります。

  • コミュニティのスポンサーにIBM、Oracleなどが名を連ねており、安心感がある
  • GlassFishをベースにした商用製品があり、それを使うとベンダーからサポートを受けられる

まとめ

個人的には、GlassFishの方が上述したように機能が充実しているのでおススメです。
そうはいっても、Tomcatで事足りていると、なかなか移行する決断は難しいとも思います。
私の周りでTomcatからGlassFishへの移行を決断する際には、以下の様な点が契機になることが多いですので、ご参考まで。

  • 画面系のフレームワークに何を使おうか(Spring等)と悩んでいる (GlassFishのJSFを利用する)
  • O/Rマッピングのライブラリを持ってきて使おうとしている (GlassFishのJPAを利用する)
  • 運用管理のGUI画面を使いたい

最終的には、全体のコストも考えて、ご自身で選択ください。
間違っているところ、指摘などはコメントいただけると嬉しいです。なお、記事情報は2019年4月時点のものとなります。

24
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
27