ミドルウェアの概要や活用事例を紹介していきます。
ミドルウェアはアプリケーションエンジニア、インフラエンジニアにとって重要な要素となります。少しでも触れることがあるなら、この機会に覚えておきましょう。
ミドルウェアとは
ミドルウェアとは特定のアプリケーションの基盤となるソフトのことで、OSやハードが異なる環境でもアプリが動作する互換性を提供しています。
簡単に言うと、OSとアプリケーションの間で機能を提供したり、互換性を高めたりするソフトです。
例えば、アプリを開発して販売する場合、導入先の環境に依存しない設計であることが重要です。そこで開発するアプリにミドルウェアを組み込み、そういった違いを吸収できるようにします。
これだけでは理解しづらいと思うので、実際にミドルウェアがどのように活用されているか、以下で記載していきます。
ミドルウェアの例
ミドルウェアはアプリに機能を提供するだけでなく、環境に依存しない互換性も提供しています。ここでは、その事例を2つ紹介します。
※ミドルウェアはサーバーで動作させることがメインなので、〇〇サーバーと呼ばれます。
データベース管理サーバー
データベースに登録されたデータを管理し、アクセス要求に対する処理を実施するサーバーです。例えば、顧客や契約を管理するアプリケーションの場合、顧客情報を保管するためデータベースは必須となります。
データベースへの要求をAPI(Application Programming Interface)で実施することにより、異なる環境で動作する互換性、改修がしやすい保守性を高めることができます。
以下はデータベース管理サーバーで使用されるソフトの例です。
MySQL
世界でもシェア率の高いオープンソースのデータ管理システムです。
大量のデータを高速処理でき、非商用利用であれば無料で使用可能です。ライセンスについては以下の記事を参考にしてください。
https://josys-memo.com/mysql-license/
PostgreSQL
MySQLと並んで広く利用されているオープンソースのデータ管理システムです。MySQLと比較されることが多く、エンジニアによって好みが分かれるようです。
ウェブサーバー
WEBサイトやWEBアプリケーションを動作させ、クライアントのブラウザから要求されたリクエストに対し、対象のページを返すシステムです。
コーポレートサイトや申込フォーム等のWEBページで必ず必要となり、HTMLやPHPといったWEB系の言語で作られたアプリがどの環境でも動作するような仕組みを提供しています。
以下はウェブサーバーで使用されるソフトの例です。
Apache
Linux OSでよく使用され、世界的に普及しているウェブサーバーです。現在の一般公開されているほとんどのサーバーはLAMP(Linux × Apache × MySQL × PHP)で構成されています。
IIS
Windows OSで使用されるウェブサーバーです。一般公開用のサーバーとしてはあまり利用されませんが、社内システムでWindows認証等を利用する場合は、部分的に採用しているケースもあるようです。