ミドルウェア
ミドルウェアには、関連する2つの異なる意味があります。1つは、2つの別々のプログラムが相互にやり取りできるようにするソフトウェアです。もう1つは、1つのアプリケーション内部にあるソフトウェア層で、プログラムの異なる部分が連携できるようにするものです。
最も一般的なミドルウェアは、2つの別々のプログラムが通信し、データを共有できるようにするソフトウェアです。たとえば、Webサーバー上のソフトウェアが、Webページのデータを処理する際に、HTTPサーバーとPHPやASPなどのスクリプトエンジンが連携できるようにします。ミドルウェアによって、WebサーバーはWebページのコンテンツを読み込む際に、データベースからデータにアクセスすることもできます。これらのいずれの場合も、ミドルウェアはバックグラウンドで静かに動作しますが、サーバーアプリケーション間の重要な「接着剤」の役割を果たします。
ミドルウェアは、コンピューターネットワークを介した異なるアプリケーション間の通信にも役立ちます。あるシステムから別のシステムへ渡される情報を変換することで、異なるプロトコルが連携できるようにします。このタイプのミドルウェアは、ネットワーク上の各システムに「サービス指向アーキテクチャ」(SOA)コンポーネントとしてインストールされる場合があります。これらのシステム間でデータが送信されると、まずミドルウェアコンポーネントによって処理され、その後、各システムが理解できる標準形式で出力されます。
ミドルウェアは、1つのアプリケーション内部に存在することもあります。たとえば、多くの3Dゲームでは、ゲーム内のポリゴン、テクスチャ、ライティング、シェーディング、特殊効果を処理する「3Dエンジン」が使われています。3Dエンジンは、ゲームの異なる部分をまとめるため、ミドルウェアと見なされます。たとえば、ゲームの人工知能は3Dエンジンと連携してゲームプレイを作り出します。
ゲームエンジンのミドルウェアには、開発者にゲーム内のオブジェクトを制御するための標準的な関数やコマンドを提供するカスタムAPIが含まれます。これにより、プログラマーは関数を最初から自分で作成するのではなく、あらかじめ作成された関数のライブラリを使用できるため、ゲーム開発が簡単になります。また、3Dエンジンを複数のゲームで使用できるという意味でもあります。
知識をテストする