ミドルウェア
OSとapplication(アプリケーション)の中間に位置するため、OSでもapplicationでもない存在である。オペレーションの機能を広げたソフトであったり、異なるアプリケーション同士が共通に利用する機能を備えたソフトであったするものがミドルウェアである。
また、各アプリケーションがミドルウェアに要求するタイプのものであったり、ミドルウェアそのものがアプリケーションの動作などをコントロールするタイプのものであったりする。ミドルウェアがOSに要求した場合、その結果をミドルウェアがアプリケーションに渡す。データベース管理システムや通信管理システムなどがその代表例。
ミドルウェアとしてのデータベース
各アプリケーションがそれぞれデータベースを組み込んで使われている場合、アプリケーションの数だけデータベースが幾つも存在することになる。これでは資源の無駄遣いであり、管理もややこしくなる。そこでデータベースという共通部分だけを取り出して一つにまとめてみんなで仲良く使えばいいじゃないか、的な発想から作られたソフトウェアがミドルウェアとなる。
これは一般的なプログラムを組む上でも同じことが言える。関数やクラスがその例。同じ機能を持つものを他の部分で何度も使うのであれば、一からソースコードを作るより、必要な時に短い命令文で呼び出したほうがスッキリするであろうし、ファイルの容量も少なくて済む。逆に、一度しか使わないソースコードならわざわざまとめる必要もない。
ミドルウェアの意味を簡潔に説明すると
OSとアプリケーションの間で働くソフトウェアのこと。