ミドルウェア 【middleware】 MW / M/W
概要
ミドルウェア(middleware)とは、ソフトウェアの種類の一つで、オペレーティングシステム(OS)とアプリケーションソフトの中間に位置し、様々なソフトウェアから共通して利用される機能を提供するもの。OSが提供する機能よりも分野や用途が限定された、具体的・個別的な機能を提供する場合が多い。多くのアプリケーションで共通して利用される機能やハードウェアの基本的な制御機能などは、個別に開発するのは非効率であるため、通常はOSの機能として提供され、アプリケーションはOSの機能を利用するだけで済むようになっている。
ただ、そのようなOSの機能はほとんどのアプリケーションが必要とするような極めて基本的・汎用的なものに限られるため、特定の分野でしか使われないが、その分野では必ず必要とされるような機能がミドルウェアとして提供されることが多い。
また、ミドルウェアの中には複数のOSやハードウェアに対応し、OSや機種ごとの差異を吸収する設計となっているものもある。アプリケーション開発者はシステムごとの違いを気にせずに、効率的に開発を進めることができる。
ミドルウェアの種類
どのような機能がミドルウェアとして提供されるかは分野によって大きく異なる。インターネット上のサーバなどではWebサーバやデータベース管理システム(DBMS)、アプリケーションサーバ、データ連携ツールなどが該当する。
業務システムなどでは、こうしたアプリケーションの基盤となる機能だけでなく、自身がアプリケーションとして動作し、システムの運用や管理など行うものをミドルウェアと呼ぶことがある。例えば、バックアップソフト、クラスタソフト、システム監視ツール、運用管理ツールなどである。
組み込みシステムのミドルウェア
産業機械やデジタル家電といった、いわゆる組み込みシステムでは、機器の性能や記憶容量が乏しく、分野や用途によって必要なソフトウェアの機能が大きく異なるため、OS標準の機能が最小限に絞り込まれていることが多い。
このため、パソコンやサーバではOSが提供するような基本的な機能も必要な場合にのみミドルウェアとして組み入れる仕組みになっている場合もある。ファイルシステムやネットワーク通信、グラフィック表示の操作画面(GUI:Graphical User Interface)などの機能である。
ライブラリやモジュールとの違い
汎用的な機能をアプリケーションに提供するソフトウェアには「ライブラリ」(library)や「モジュール」(module)なども存在するが、これらは単体では動作しないプログラム部品として提供され、アプリケーションの一部に組み込まれて一体的に動作する。
一方、DBMSのようなミドルウェアは単体で動作するソフトウェアであり、システム上に常駐して外部から処理依頼を受け付け、結果を送り返す。アプリケーション本体とは独立しており、配布や導入・設定、起動や終了などもアプリケーションとは別に行われるのが一般的である。
関連用語
他の辞典による解説 (外部サイト)
この記事を参照している文書など (外部サイト)
- 横浜市「横浜市情報化の基本方針 用語解説」(PDFファイル)にて引用 (2011年2月)
- 横浜市総務局「横浜市中期4か年計画」(PDFファイル)にて引用 (2010年9月)
- 独立行政法人産業技術総合研究所(AIST) 研究成果記事「ロボット用ミドルウエア技術の国際標準化活動を本格化」にて引用 (2005年2月)