ミドルウェア
ソフトだよ
OSとアプリケーションの中間に位置するやつだよ
OSの機能じゃないけどアプリケーションに組み込むのも微妙なやつだよ
簡単に書くよ
ミドルウェア(英:middleware)とは
ソフトの分類のひとつ
であり
OSさん
(コンピュータの人格に相当するソフト)とアプリケーションさん
((OSやOSの子分以外の)ソフト)の中間くらいの立ち位置で いろいろな雑用をしてくれるやつ
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・ソフトウェア
・OS
・アプリケーション
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
ソフトウェアは「コンピュータのうち蹴っ飛ばせない部分」です。
コンピュータを構成する要素は2つに分けられます。
1.蹴っ飛ばせる部分
2.蹴っ飛ばせない部分
の2つです。
例えば、ハードディスクやディスプレイは蹴っ飛ばせます。
プログラムやファイルは蹴っ飛ばせません。
この2つの要素のうち「蹴っ飛ばせない部分」がソフトウェアです。
あと、ついでなので書いておくと「蹴っ飛ばせる部分」は「ハードウェア」と言います。
さて、コンピュータの蹴っ飛ばせない部分(ソフトウェア)ですが、さらに2つに分類できます。
それは
1.OS
2.OS以外
の2つです。
OSは「パソコンさんの人格に相当するソフトウェア」です。
パソコンさんは中にOSを入れることで、はじめてパソコンとしての お仕事が できます。
「これが無いとパソコンじゃねーよ」な基本ソフトウェアです。
※「OS」という用語が世間に広まった きっかけがパソコンなので「パソコン」と書きましたが、スマホや その他のコンピュータ類でも同じです。
OS以外のソフトウェアは「アプリケーション」と言います。
正式名称は「アプリケーションソフトウェア」ですけどね。
くそ長ったらしいので「アプリケーション」や「アプリ」と省略されるのが一般的です。
アプリケーションはOSと対比されるためにある用語です。
コンピュータの人格に相当するソフトウェアがOSです。
OS以外のソフトウェアがアプリケーションです。
世の中にある大部分のソフトウェアがアプリケーションに分類されます。
……というのが、ものすごい簡略化した説明です。
実際にはOSの子分みたいなソフトもいます。
例えば「デバイスドライバ」とか呼ばれているソフトなどです。
デバイスドライバのようなOSの子分はアプリケーションには含まれません。
……が、そこら辺の細かいところまで知りたい人は他のところで情報を補完してください。
身も蓋もない言い方をすると
みなさんが「ソフト」と言われてパッと思い浮かべるようなソフト
がアプリケーションです。
以上を踏まえて、本題に入ります。
OSさんはコンピュータを使う上で最低限必要な基本機能を提供してくれます。
アプリケーションさんはOSではできない特別なこと(応用)ができる機能を提供してくれます。
この「OS」さんと「アプリケーション」さんの間に入って
「特別なことをするときに使う基本機能」を提供してくれるやつ
がミドルウェアです。
例えば、そうですね。
元々 水道管を流れているのは水です。冷たい お水。
これがOSさんの提供してくれる機能だとしましょう。
あるとき、アプリケーション・ピヨ太はコーヒーを作りたくなりました。
おっと、アプリケーション・ピヨ子はカップラーメンを作りたいそうです。
どちらも お湯が必要ですね。
アプリケーション・ピヨ太は、水を温めて、お湯を沸かしました。
コーヒーを作るための お湯です。
アプリケーション・ピヨ子も、水を温めて、お湯を沸かしました。
カップラーメンを作るための お湯です。
それを見ていた賢い人は考えました。
「水道管の途中に水を温める機能を付けた方が便利じゃない?」と。
確かに、そうですね。
アプリケーション・ピヨ太が使う お湯も、アプリケーション・ピヨ子が使う お湯も、同じ お湯です。
それぞれが別で沸かすより、水道管から直接お湯が出た方が便利でしょう。
賢い人は早速、水道管の途中に「水を温める機能」を付けました。
これで、水だけではなく、お湯も出るようになりました。
それぞれのアプリケーションさんが個別に水を温める必要が なくなりましたね。
めでたし、めでたし。
この話における「水を温める機能」に相当するのがミドルウェアです。
OS(水を送る)とアプリケーション(コーヒーを入れる)の間にいて「特別なことをするときに使う基本機能」(お湯を沸かす)を やってくれるやつです。
もう少し実際のパソコンに近い例も見ておきましょう。
例えば、データベースを使うピヨ太ソフトとピヨ子ソフトがあったとします。
ピヨ太ソフトとピヨ子ソフトはアプリケーションです。
OSの入ったパソコン上で動きます。
このピヨ太ソフトとピヨ子ソフトが使うデータベースですが、実は同じ種類でした。
どちらも「PiyoSQL」という種類のデータベースだったのです。
この状態で、ピヨ太ソフトとピヨ子ソフトの中に それぞれ「PiyoSQL」が用意されていたら、どうでしょう?
ピヨ太ソフトとピヨ子ソフトを入れたパソコンさんの中には「PiyoSQL」が2つある状態になってしまいます。
これは、ちょっと鬱陶しいですよね。
そこで「PiyoSQL」を単独で用意して、ピヨ太ソフトとピヨ子ソフトは1つの「PiyoSQL」を共同で使うようにしました。
この話における「PiyoSQL」(データベース)がミドルウェアです。
ピヨ太ソフトとピヨ子ソフトが動くには、OSとデータベースが必要です。
ただし、データベースはOSの機能では ありません。
別に用意する必要があります。
とはいえ、アプリケーションの中にデータベースを組み込むと、同じものが いっぱいある状態に なりかねません。
できれば避けたいです。
仕方がありませんね。
データベースは独立させて別に用意しておきましょう。
そんな感じで「OSの機能では ないけど、アプリケーションに組み込むほど用途が限定されているわけでもないから、独立させて別に用意してあるよ」なソフトがミドルウェアです。
「汎用的っちゃ~汎用的だけど、OSでは ないんだよね~」なやつですね。
一言でまとめるよ
まぁ「ミドルウェア」って単語が出てきたら「OS
(コンピュータの人格に相当するソフト)とアプリケーション
((OSやOSの子分以外の)ソフト)の中間で頑張るソフトなんだな~」と お考えください。
おまけ
■訳してみるよ
「middle(ミドル)」の意味は「真ん中の」とか「中央の」とか「中心の」とか「中間の」とかです。
「ware(ウェア)」という接尾辞が付くと「製品」とか「商品」的な意味になります。
何となく くっつけると
中間の製品
となります。






