ミドルウェア

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

ミドルウェア: Middleware)は、ソフトウェアの(多分に恣意的な)分類のひとつで、オペレーティングシステムアプリケーションソフトウェアの間に入るシステムのようなもののうち、データベース管理システムトランザクションモニターのような、オペレーティングシステムの機能の拡張、あるいはアプリケーションソフトウェアの汎用的(共通的)な機能を集めたものを指すために作られた語である。アプリケーションソフトウェアはミドルウェアに要求を出すと、ミドルウェアがオペレーティングシステムに必要な要求を出し、結果をアプリケーションソフトウェアに返す。あるいはミドルウェア自体が各アプリケーションソフトウェアの起動・停止・監視などを含めた制御を行う。

概要[編集]

アプリケーションプログラムが動作するにあたり、ネットワーク上の他サーバデータベースとのやり取りなど、普遍的で面倒な手続きを要するものがある。これらとのやり取りの手順や管理をその種別単位にまとめた、ようはライブラリないし(広義の[1]フレームワーク、なのであるが、機能管理パッケージソフトウェアなどとして売る際にそれらしい名前として付けられた語が「ミドルウェア」である。

企業システムや社会インフラシステムなどのエンタープライズ領域のシステム構築では、分散されたソフトウェアやアプリケーションソフトウェア間のデータのやり取りなどを司る。ミドルウェアとしては、それぞれの管理分野の専用ソフトウェアが用いられる事が多い。

カスタマイズの幅も大きく、それぞれのシステム特性に合わせた最適化設定が必要となっている。

最近のシステム構築においては、オペレーティングシステムとこのミドルウェアをシステムプラットフォーム(またはシステム基盤と呼ぶ)としてひとつの管理単位として定義し、専用のエンジニア/ITコンサルタントに設計構築を依頼する事が多い。

なお、以上では全く説明していないが、個人レベルなどで使用されるようなミドルウェアも数多い。

歴史[編集]

1960年代後半にはIMSなどのデータベース管理システムトランザクションモニターが登場した。これらは主にメインフレームミニコンピュータを中心に発達し、特に重要な基幹業務の性能・信頼性確保などのために使用された。

1990年代ダウンサイジングの潮流により分散システムを中心としたシステムが普及すると、ミドルウェアの使用も一般化した。特にUNIXWindowsなどのOSは標準ではごく単純なファイルシステムや管理権限設定しか持っていないことや、標準化の潮流もあり、ミドルウェアを併用したシステム構築が普及した。

ミドルウェアの区分と代表的なパッケージソフトウェア製品[編集]

メッセージ通信基盤
サーバ間及びコンピュータ・クラスターのノード間の通信に使用され、アプリケーション側からはその手順の複雑さや制御が見えないようにラッピングするための共通機能を提供する。
統合運用管理
システム内のサーバやネットワークの監視、バッチ処理のスケジューリング、資源配布等を統合して行える機能を提供する。
高可用クラスタ
クラスターに参加しているノードの管理やサービスアプリケーション及びミドルウェアサービスを監視し、障害や異常停止が発生した場合に、他ノードに自動的に切り替え、サービスの継続を図る共通機能を提供する。
データベース管理システム
システムの固有データや管理情報などを統括的に管理し、検索サービスを提供する。
Webサーバ
クライアントからのHTTP要求を解釈し、HTMLコンテンツを応答したり、他のサーバーサイドスクリプトを呼び出したりする。
アプリケーションサーバ
アプリケーションが動作するサービスを管理し、提供する。
トランザクションモニター
TCP/IPやその上で動作するHTTPによる通信トランザクションと業務処理要求である処理トランザクションとの関係を把握し、管理する共通機能をサポートする。
データ連携, EAI, BPM

組込みシステムにおけるミドルウェア[編集]

以上のようないわゆるエンタープライズっぽい話の場合とは全く別であるが、リソースの制限が厳しいいわゆる組込みシステムでは、オペレーティングシステムのコア部分(「リアルタイムカーネル」などと呼ばれる)には、コアとして最低限必要な機能のみを持たせ(いわゆるマイクロカーネルの発想に近い)、対象ごとに必要性が異なる機能は任意の組合わせで追加できるオプションモジュールとするような構成のものがある。それらのモジュールを「ミドルウェア」と呼んでいることがある。

[編集]

  1. ^ 制御の反転」があるものがフレームワークである、とすることがあるため。

関連項目[編集]