1. ホーム
  2. tomcat

[解決済み] JBossとTomcatの比較 [終了しました]。

2022-05-29 11:51:17

質問

これは、TomcatとJBossのどちらが良いかという古くからの疑問のように見えますが(実際そうなのですが)、私の問題を解決するのに十分な答えがまだ見つかっていないのです。

Tomcat が単なるサーブレットエンジンであり、JBoss がより多くの機能を提供することは知っていますが、私が理解できないのは、なぜ Tomcat が jboss よりも状況によっては使用するのが良いのか、ということです。 JBossはプラグイン可能なアーキテクチャを採用しており、必要に応じてJBossから機能を取り外して、実質的にtomcatサーブレットコンテナにすることができると、どこかで読みました。もしそうなら、Tomcatを使う代わりにそうして、プラグインを戻す余地を残しておく方が良いのではないでしょうか。

Tomcat を支持するもうひとつの説明は、それが軽量であるということです。それは、より少ないメモリ要件、あるいは、より速いレスポンスを可能にするということでしょうか。もう一度、私は、jboss が要件に従ってコンポーネントをロードしないか、つまり、私がサーブレットだけを使用している場合、jboss は残りの機能をスキップして自動的に軽量にならないかどうかを知る必要があります。

基本的に、私のアプリケーションには Java EE 機能はありませんが、上記の理由により、Tomcat を支持する「軽量」の議論は十分に納得できるものではありません。

どうか助けてください。

編集: 私たちは当時、最終的に tomcat を使用することを決定し、現在では 6 か月以上使用していますが、非常に使いやすくなっています。実際、私たちは、異なる開発者のために、同じサーバー マシンで複数の tomcat インスタンスを非常に簡単に実行できる実用的な使用方法を見つけました。

tomcatは、私たちの仕事では手間がかからないので、Java EEの機能をあまり使わない場合には、正しい選択かもしれませんね。 追記: 私たちは今でもTomcatでSpringとHibernateを使用していることに留意してください。

どのように解決するのですか?

まず、事実として、どちらも より良い . すでに述べたように、Tomcat は Servlet 仕様をサポートするサーブレット コンテナを提供します (Tomcat 7 は Servlet 3.0 をサポートします)。完全な」アプリケーション サーバーである JBoss AS は、その現在のバージョンで Java EE 6 (Servlet 3.0 を含む) をサポートしています。

Tomcatはかなり軽量で、Servlet APIを超える特定のJava EE機能が必要な場合、アプリケーションの一部として必要なライブラリを提供することにより、簡単にTomcatを拡張することができます。例えば、JPAの機能が必要な場合は、HibernateやOpenEJBを含めることができ、JPAは ほぼ が動作します。

Tomcatを使うか、フルスタックを使うか、どう決めるか Java EE アプリケーションサーバを使用するかどうかを決定する方法です。

プロジェクトを開始するとき、それが何を必要とするかを考えておく必要があります。大規模な企業環境であれば、JBoss (または他のJava EEサーバー) は、たとえば、以下のような組み込みサポートを提供するので、正しい選択かもしれません。

  1. 非同期統合のための JMS メッセージング
  2. ウェブサービスエンジン (JAX-WSおよび/またはJAX-RS)
  3. JMX やスクリプトによる管理インターフェイスのような管理機能
  4. サードパーティディレクトリとのすぐに使える統合など、高度なセキュリティ。
  5. WAR ファイルのみのサポートから EAR ファイルのサポートに変更。
  6. その他、覚えきれないほどの素晴らしい Java EE 機能があります。)

私の意見では Tomcat は、Web 中心のユーザー向けアプリケーションであれば、非常によく合います。バックエンドの統合が必要な場合は、Java EE アプリケーション サーバーを (少なくとも) 検討する必要があります。最後になりましたが、Tomcat 用に開発された WAR を JBoss 用に移行するのは 1 日で完了するはずです。

第二に、あなたの環境内での使用状況も考慮に入れるべきです。あなたの組織がすでに 1,000 の JBoss インスタンスを実行している場合、具体的な要件 (運用やスキルアップのためのコストなどの側面を考慮) にかかわらず、常にそのインスタンスを使用する可能性があります。もちろん、これは逆にも当てはまります。

私の2セント