トムキャット
Apache Tomcatのことだよ
ソフトだよ
Java Servletを動かすときに使うよ
(簡易的な)Webサーバの機能も付いているよ
簡単に書くよ
トムキャットとは
多分「Apache Tomcat」のこと。
用語の中身としては
Java Servlet
(Webサーバ上で動くJavaのプログラム)を動かすときに必要なソフト(サーブレットコンテナ)のひとつ
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・サーバ
・Webサーバ
・プログラミング言語
・Java
・Java Servlet
・サーブレットコンテナ
・Apache Tomcat
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
サーバは「サービスや機能を提供する側のコンピュータ」です。
Webサーバは、さっくり書くと「ホームページ関連の仕事をしているサーバ」です。
あなたがホームページを見るとき、まずWebブラウザさん(ホームページを見るときに使うソフト)からWebサーバさんに「このページをおくれ」と お願いが出されます。
そのお願いに対して、WebサーバさんはWebブラウザさんに「ほれ、そのページだよ」と お返事をします。
くれと言われたホームページのファイルをあげるのです。
Webブラウザさんは、Webサーバさんからもらったファイルを画面に表示します。
これが、あなたがホームページを見るときの流れです。
この流れにおいて、ホームページのファイルを「ほれ、そのページだよ」とくれたのがWebサーバさんです。
プログラミング言語は「プログラムの元ネタ(ソースコード)を書くときに使う言葉」です。
一般的なプログラムというのは、まず人間語で元ネタを書き、それをコンピュータさんが分かる言葉に翻訳することで完成します。
この「元ネタ」を書くときに使う言語がプログラミング言語です。
Javaは「一度書けば、どこでも動く」の理念で作られたプログラミング言語です。
プログラムの元ネタを書くときに使う言葉のひとつです。
Javaのプログラムは、どんな環境でも動くということに(建前上は)なっています。
ちなみに、Javaが「オブジェクト指向」という用語を世間一般に流行らせました。
Javaを生み出した人は、このプログラミング言語を使って、いろいろなプログラムを作れるようにしました。
その中のひとつに、Webサーバで動くJavaプログラムがあります。
この「Webサーバ上で動くJavaプログラム」を「Java Servlet(サーブレット、Servlet)」と言います。
さて、Java Servletさんですが、実は単独ではお仕事ができません。
とあるソフトのお世話になって、はじめてお仕事ができます。
その「とあるソフト」を「サーブレットコンテナ」と言います。
サーブレットコンテナさんが、Java Servletさんを、ちまちま動かしてくれるのです。
例えば、そうですね。
パソコンさんからJava Servletさんにお仕事の依頼が来たとしましょう。
小難しい言い方をすると「HTTPリクエストが来た」というやつです。
このお仕事の依頼を、まずはサーブレットコンテナさんが受け取ります。
直接Java Servletの元には届きません。
サーブレットコンテナさんが受け取るのです。
そして、サーブレットコンテナさんがJava Servletさんにお仕事をさせます。
「こんな依頼が来たぞ~。働け、働け~」とJava Servletさんの尻を叩くのです。
これがサーブレットコンテナさんのお仕事です。
実際には、お仕事をさせるJava Servletをメモリ上に展開したり、JSPをJava Servletに変換したり、必要に応じてなんかいろいろとやります。
Apache Tomcatは「サーブレットコンテナのひとつ」です。
一般的には「Apache」を付けずに、単に「Tomcat」と表現されることが多いはずです。
※本ページでも、以降は「Tomcat」と表記します。
大前提として、TomcatはJava Servletを動かすときに必要なソフトです。
本職はサーブレットコンテナです。
ただし、作ったJava Servletの動作確認ができるように(簡易的な)Webサーバとしての機能も持っています。
そのため、Apache(全世界的に普及しているWebサーバのソフト)との違いで悩む人もいるようです。
確かに、Tomcatだけ(Apacheなし)でも動くといえば動きますからね。
これはApacheさんとTomcatさんの本来のお仕事を考えれば区別できます。
Tomcatさんは、あくまでサーブレットコンテナとしてのスペシャリストです。
Webサーバとしては「まぁ、やれないことはないよ」レベルです。
それに対してApacheさんは「Webサーバとしては俺の右に出るものはねーぞ!」なスペシャリストです。
それぞれの本来のお仕事は
Tomcat:サーブレットコンテナ
Apache:Webサーバ
に なります。
これがApacheとTomcatの違いです。
以上を踏まえて
多分「Apache Tomcat」のことを言っているんだと思うよ
な表現が「トムキャット」です。
個人的にはカタカナで「トムキャット」と表現するのには馴染みがありません。
専門家ぶりたいのであればアルファベットで「Tomcat」と表現した方が無難だと思います。
一言でまとめるよ
まぁ「トムキャット」って単語が出てきたら「Apache Tomcat
(Java Servletを動かすソフトのひとつ)のことなんだろうな~」と お考えください。






