Skip to content

一般企業のOLにApacheとTomcatとJavaとOracleの関係について、「ワンピース」に例えて教えてみる

前回までのあらすじ

一般企業に勤務するごく普通のOLが、突然100万人のEコマースサイトの担当者になった。
なぜか漫画にたとえてMySQLやOracleやPerlやRubyの関係を説明しろと迫られてほとほと困り果てたshi3zは、苦し紛れに持論を展開し、なんとか煙に巻くことに成功したのだった。しかし・・・

これは午前11時から12時に起きた出来事である。

 

「あーおなか空いたなー」

 

僕はよくそうつぶやく。もちろんお腹が空くのは普通のことだ。
しかしもはやこれは口癖になっていて、特にお腹がすいてなくても「おなかすいた」と言ってしまう。

ひどいときなどは、ご飯を食べ、「ごちそうさま」のかわりに「おなかすいた」と言ってしまうことすらあるのだ。
まあこれもなにかの病気とか、更年期障害の一種かもしれない。

それはともかく、このときは本当におなかが空いていた。
そして昼ご飯になにを食べるべきか悩むあの苦闘の時間がスタートするのである。

そもそも、なにを食べるか考えることほど難しい問題はない。

また、毎日なにをたべるか考える時間を他のことに使えば、もしかしたらもの凄い発明ができるかもしれない。

ところが実際問題として、毎日なにをいつ食べるか、というスケジューリングは非常に難しく、しかも健康のことまで配慮するとなると相当な苦痛を伴うのだ。

とりわけこの昼飯というのは難しい。

昼飯は、選択肢が多いようで少ない。酒が含まれないからだ。

たいていは、ファーストフード、コンビニ、牛丼、カレー、そば、うどん、和定食、ラーメンのどれかだ。

もちろんどれを食べても美味い。しかし家の近所や会社の近所の美味そうな店、というのはあらかた食い尽くしている。
また、これはうちの会社だけだと思うが、wise9編集部のある(株)UEIのコアタイムは午後2時から5時なので、そもそも正午に人が居ない。

常に孤独な昼食戦争を闘う必要が出てくるのだ。

ついラーメンやつけ麺に誘惑されてしまう。

しかしそんなものばかり食っていたら、美容と健康はおろか生命まで喪いかねない。
実際、昼ご飯にトンカツを毎日食べていたら膵臓がドロドロになって38歳の若さで死んだ人が居たらしい。僕とて他人事ではない。

どれだけトンカツを愛していても、それだけを毎日食べることは叶わないのだ。
さて、それで昼飯になにを食べるべきか、決めかねる時間というのがこの11時から12時の間である。

 

「食べるべきか、死ぬべきか」

 

ぶつぶつとそんなことを呟きながら、僕はMacの前に座った。
アイデアというのは、時に無関係な時間にフっと湧いてくるような性質を持っている。
アイデアに行き詰まったら、思い切ってその思考から離れてみるのもいい。

昼食とて同じだ。

昼食のメニューに行き詰まったら、まずそこから発想を離してみるといい。
Macで時間をつぶすのは、うってつけである。

そこでいつものようにGMailを開くと、こんなメールが来てた。

 

拝啓 shi3z様

先日は「いちご100%」に例えていろいろと教えていただき、ありがとうございました。

しかし、昨日また新しく「トムキャット」という単語が出て来て困っています。

いつもshi3zさんに頼るのも良くないと思い、ググって見ましたが、戦闘機の画像ばかりで混乱しています。

弊社のECサイトで扱っているのはあくまでも女性向けファッションなのですが、なぜ戦闘機が出てくるのかわかりません。
また、もしやと思ってアパッチも調べてみたのですが、これも戦争になにか関係があるようです。

実は私の知らないところでなにか恐ろしい陰謀でも起きているのでしょうか・・ 。まさかとは思いますが

どうか私にもわかるように教えて下さい。

敬具

 

なにかいろいろと間違っているようだが、件のOLからのメールだった。

トムキャットね。米海軍の汎用戦闘機だよ、と書いて返信しかけたのだけど、さすがにそれは可哀想だと思って「どうしようかなー」と思っていると、電話が鳴った。

 

「こんにちはー。起きてました?」

「え、いや。うん」

「メール送ったので読んで下さい!」

「いや、今読んだけど」

「うん、それで、12時までに返事が欲しいんだけど」

「えっ!?それって深夜の?」

「違います。今日のお昼」

 

時計を見た。

 

「あと30分後ってこと?」

「そうです!!!」

「あのね、メールってそういうもんじゃないから」

「え、メールってすぐ返してくれるものでしょ?」

「ケータイじゃないんだから・・・」

 

そこまで言ってハッとした。

GMailの詳細を開くと、ケータイから送信している。
絵文字がないから気づかなかった。

 

「どうしても!いますぐ!電話でもいいんで!」

「ええと、なにが解らないのかな?」

「だからトムキャット!」

「ああ」

「それとアパッチ!」

「ああ」

「なんで戦闘機とか会話に出てくるんですか?映画の話?」

「それ周りの人に聞けないの?」

「業者の人にそういう基本的な質問をすると舐められるから聞かないように言われてるんです」

「いやー、聞けばいいんじゃないの?」

「説明されてもわからないし!お願いします!また漫画に例えて教えて!」

「うーん・・・じゃあチェリーナイツかな・・・」

江藤がアパッチで田村がトムキャット、小林少年がMySQLというのはどうだろうか。
いや・・・わけがわからない・・・

「ワンピースで!ワンピースでお願いします!」

「ええっ」

 

ワンピースは説明の必要がないくらいにメジャーな漫画だ。
海賊王を目指すルフィーとその仲間達によるドタバタ冒険活劇。

ジャンプ漫画的な「強さのインフレ」と、心躍るような冒険がミックスされたエンターテインメント大作である。

海賊団が沢山でてきたり、キャラが立ってたりするのでわかりやすいかもしれない。

 

「解ったよ。とりあえずトムキャットもアパッチもWebサイトの話で出てくる時は戦争とは関係ない」

「あの写真は・・・?」

「たまたま同じ名前なだけだよ」

「じゃあトムキャットって?」

「松崎淳美だよ」

「誰です?」

「いや、いいんだ」

 

ジェネレーション・ギャップでショックを受けるのはこういう、ギャグが滑った時だ。
気を取り直して続ける。

 

「Tomcatは、Javaのサーブレットコンテナだ」

「???サーブレット????」

「鳩サブレじゃないぞ」

「それはわかるけど頭に浮かんだのはそれ」

「サーブレットっていうのは、まあ要するにサーバ側のプログラムのこと。ECサイトなら、実際にWebページを表示する部分のプログラムのこと」

「でもそれはWebサーバがやるんじゃないんですか?その、アパッチが」

「Apacheは確かにWebサーバだけど、Webサーバだけだと、固定したページしか表示できない。ユーザがログインしたり、買い物したり、決済したりといったことをするためには、サーバ側にスクリプトが必要になる」

「それはPHPとかPerlとかじゃダメなの?」

「もちろんそれでもいい。けれども、Oracleと組み合わせる時などは、Javaによるサーブレットが使われることが多いね。Javaは厳密にはスクリプト言語じゃないんだけど、ま、そんなことはどうでもいい」

「なんでJavaとかにするのよ」

「理由はいくつかあるけど、最終的には開発者の好みと実績、かな」

「好み!!・・・そんな理由で決められちゃうの!?」

「Oracleを選択するのも好みだもん。言ってしまえば」

「そんな!!!・・・何百万もするのよ!」

「そんなもんだよ。だって何百万もするクルマ買うのだって好みじゃないの」

「そ、それとこれとは・・・」

「サーバって家みたいなもんじゃない。土地があって、回線費用とかラック費用とかっていう賃貸物件があって、そこに建物(サーバ)を立てる。家を何千万も出して立てるってことは当然、好みもあるよね。そのへんの拾って来た段ボールで家立ててもいいけど、せっかく立派な土地があるならいい家立てたいよね。洋間とか和室とか用意したりとか、そういうの、ぜんぶ好みでしょ」

「うーん・・・」

「それにEコマースだったら、それは家というより店舗なわけで。店舗がへぼかったらお客さんも買いにこないじゃん」

「それは目に見えるところがヘボかったらね・・・」

「いや、目に見えるところだけじゃないよ。やっぱり机が安物でガタついてるとか、レジがなくて丼でお金計算してるとか、そういうところがさ、”この店大丈夫かなー”につながるわけよ」

「そういうものかなあ」

「そういうもの」

「で、それはいいとして、アパッチとトムキャットってどうなの?」

「どうって?」

「関係」

「ああ。Apacheだけだとさっきも言ったように静的なWebページしか作れないから、他にスクリプト言語が必要で、たとえばJavaはそのひとつだけど、Javaは汎用言語なので、それを動作させるにはサーブレットコンテナが必要ってことで、それがTomcat」

「んー、わかったようなわかんないような。コンテナってなに?」

「コンテナはcontainer、つまりcontain(包含)するモノ、ひらたくいえば”入れ物”。だからサーブレット置き場、とでも思っておけばいいよ」

「あー。Javaだとそこはなぜか専用の置き場所が必要なのね」

「その通り。だから無理野理ワンピースに例えるとすると、まあ船長のルフィが総ての入り口であるApacheとすると、航海士のナミやコックのサンジは特定の機能を提供するサーブレットということになるね。そして彼らが乗り込む海賊船が、サーブレットコンテナ、それがTomcat」

「え、ちょっと待って。アパッチもサーブレットコンテナに載ってるの?」

「いや、それは違う。だからワンピースでいえば、ルフィは命令を出すだけで実際には船には乗らずに陸上から命令だけ出してるイメージ。海賊船に乗ってる”麦わらの一味”の子分たちがサーブレットだと言えるね。実際、劇中でもルフィはあんまり海賊船に乗ってないし」

「するとオラクルはどうなるの?」

「え、Oracleもこれに絡めて説明するの?」

「でないとわかんないから!」

「データベースとしてのOracleをこの世界観に無理矢理当てはめるとすると、Oracleは、いわば海図だね。海図に書き込んだり、それを解釈したりするのは航海士であるナミの仕事」

「この場合だと、オラクルは人じゃないんだ」

「そうだね。データベースというのは、複数のサービスから参照されたりすることも一つの大きな特徴だからね。たとえるなら、ワンピースの世界には沢山の海賊団があって、沢山の海賊船(サーブレットコンテナ)が海図を読んだり、また、彼らが事件を起こして海図を書き換えたりする。書き変わった結果は、その世界の他の多くの人たちで共有されるわけで」

「つまり、データベースは世界なのね」

「そう!そうだよ」

「うん・・・・あ!やばい!ランチミーティングの時間だ!ありがとう!じゃまた!」

 

電話は一方的に切られた。

僕はワンピースのたとえがあまりうまく言ったような気がしなかったが、まずは良かったようだ。
それで、ふっとある考えが湧いた。

 

「そうだ。サブウェイのサンドイッチがあるじゃないか」

 

 

 

 

このエントリーをはてなブックマークに追加
はてなブックマーク - 一般企業のOLにApacheとTomcatとJavaとOracleの関係について、「ワンピース」に例えて教えてみる
Post to Google Buzz
Share on GREE

No related posts.

Facebook comments:

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*