「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

トムキャット

pointこの用語のポイント

pointApache Tomcatのことだよ

pointソフトだよ

pointJava Servletを動かすときに使うよ

point(簡易的な)Webサーバの機能も付いているよ

スポンサーリンク

簡単に書くよ

トムキャットとは

多分「Apache Tomcat」のこと。
用語の中身としては

Java Servlet(Webサーバ上で動くJavaのプログラム)を動かすときに必要なソフト(サーブレットコンテナ)のひとつ
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

サーバ
Webサーバ
プログラミング言語
Java
Java Servlet
サーブレットコンテナ
Apache Tomcat


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

サーバは「サービスや機能を提供する側のコンピュータ」です。

トムキャット

Webサーバは、さっくり書くと「ホームページ関連の仕事をしているサーバ」です。

トムキャット2

あなたがホームページを見るとき、まずWebブラウザさん(ホームページを見るときに使うソフトからWebサーバさんに「このページをおくれ」と お願いが出されます。

トムキャット3

そのお願いに対して、WebサーバさんはWebブラウザさんに「ほれ、そのページだよ」と お返事をします。
くれと言われたホームページのファイルをあげるのです。

トムキャット4

Webブラウザさんは、Webサーバさんからもらったファイルを画面に表示します。

トムキャット5

これが、あなたがホームページを見るときの流れです。

この流れにおいて、ホームページのファイルを「ほれ、そのページだよ」とくれたのがWebサーバさんです。

トムキャット6

プログラミング言語は「プログラムの元ネタソースコードを書くときに使う言葉」です。

一般的なプログラムというのは、まず人間語で元ネタを書き、それをコンピュータさんが分かる言葉に翻訳することで完成します。

トムキャット7

この「元ネタ」を書くときに使う言語がプログラミング言語です。

トムキャット8

Javaは「一度書けば、どこでも動く」の理念で作られたプログラミング言語です。
プログラムの元ネタを書くときに使う言葉のひとつです。

トムキャット9

Javaのプログラムは、どんな環境でも動くということに(建前上は)なっています。

トムキャット10

ちなみに、Javaが「オブジェクト指向」という用語を世間一般に流行らせました。

Javaを生み出した人は、このプログラミング言語を使って、いろいろなプログラムを作れるようにしました。

その中のひとつに、Webサーバで動くJavaプログラムがあります。
この「Webサーバ上で動くJavaプログラム」を「Java Servletサーブレット、Servlet」と言います。

トムキャット11

さて、Java Servletさんですが、実は単独ではお仕事ができません。
とあるソフトのお世話になって、はじめてお仕事ができます。

その「とあるソフト」を「サーブレットコンテナ」と言います。
サーブレットコンテナさんが、Java Servletさんを、ちまちま動かしてくれるのです。

例えば、そうですね。

パソコンさんからJava Servletさんにお仕事の依頼が来たとしましょう。
小難しい言い方をすると「HTTPリクエストが来た」というやつです。

トムキャット12

このお仕事の依頼を、まずはサーブレットコンテナさんが受け取ります。
直接Java Servletの元には届きません。
サーブレットコンテナさんが受け取るのです。

トムキャット13

そして、サーブレットコンテナさんがJava Servletさんにお仕事をさせます。
「こんな依頼が来たぞ~。働け、働け~」とJava Servletさんの尻を叩くのです。

トムキャット14

これがサーブレットコンテナさんのお仕事です。
実際には、お仕事をさせる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」のことを言っているんだと思うよ

な表現が「トムキャット」です。

トムキャット15

個人的にはカタカナで「トムキャット」と表現するのには馴染みがありません。
専門家ぶりたいのであればアルファベットで「Tomcat」と表現した方が無難だと思います。


image piyo2

一言でまとめるよ

まぁ「トムキャット」って単語が出てきたら「Apache Tomcat(Java Servletを動かすソフトのひとつ)のことなんだろうな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像026
書籍画像035


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニア育成現場の「失敗」集めてみた。 42の失敗事例で学ぶマネジメントのうまい進めかた
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング