4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

予備知識

・OS(基本ソフトウェア) ・アプリケーション(応用ソフトウェア) OSとアプリの例はこんな感じです。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592457/30f5a742-1e4e-4985-f135-b48409db9135.png)

ミドルウェアとは

OS(基本ソフトウェア)とアプリケーション(応用ソフトウェア)の中間に位置し、統一的なインターフェイスや便利なコンピューター利用機能を応用ソフトウェアから利用できる様にするためのソフトウェアです。 OSはコンピューターで使う最低限必要な機能を提供してくれています。逆にアプリケーションはOSでできないことをやってくれます。このOSとアプリケーションの間に入って、「特別なことをするときに使う基本機能」を提供してくれます。

例えると、
漁師さんが取ってきてくれるのは魚です。これをOSさんが提供してくれている機能だとします。
ある時、アプリケーション・Aさんは焼き魚が食べたくなりました。また、アプリケーション・Bさんは煮付けが食べたくなりました。AさんBさんはそれぞれで魚を捌き始めました。ですが、捌くのにとても手間取っています。そこでCさんは考えました。「捌いてくれる場所があれば、便利なんじゃないか」と。そして、Cさんは魚を捌く魚屋さんを作りました。これにより、AさんBさんは捌く手間を省いて料理できる様になりました。この「魚を捌く」魚屋さんにあたる部分が「ミドルウェア」です。
image.png

Web3層構造

Webサーバー、アプリケーションサーバー、データベースの3つのサーバーから構成されているWebアプリケーションの構成のことをいいます。かつては、Webサーバーとデータベースのみの2層構造で成り立っていましたが、それだとWebサーバーに多大な負荷がかかってしまうので、Webサーバーとアプリケーションサーバーの2つに分割され、大量の処理が可能となりました。以下ではその3つのサーバーの役割と例になります。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592457/d6361734-5a79-a87d-aea5-c4786d54cdd8.png)

Webサーバー

必要に応じて、Webサーバー内の保管データを保護して、アクセス制限を行ったり、Webサイトの閲覧者によるリクエストに応じて、Webサーバーに保管中のデータを表示してくれます。
Webサーバー 説明
Apache フリーでありながら、高い信頼性と充実した機能を備えたWebサーバー。ただし、大量のアクセスがあった場合にレスポンスが遅くなる問題点あり。
Nginx Apacheの問題点である大量のアクセスがあった際にレスポンスが遅くなる点を解決するために作られた。
IIS Microsoft Windowsの標準Webサーバー

アプリケーションサーバー

Webサーバーからのリクエストを受け取り、そのリクエストに応じてアプリケーションを実行するためのサーバー。webサーバーとの大きな違いとしては、単体で使えるかどうかと言うところです。動的コンテンツ(RubyやPHPなどのプログラム)のない、静的コンテンツ(HTML,画像)だけのサイトを公開するのであれば、APサーバーを使わずWebサーバー単体で実現することができます。
アプリケーションサーバー 説明
JBoss プログラミング言語Javaより開発されたOSSの総称。40以上の様々なプロジェクトがあり、Webサイトより自由にダウンロードして使うことができる。
Tomcat OSSとして公開されているアプリケーションサーバー。JavaサーブレットやJSPを処理することが可能。単独でwebサーバーとして利用することも可能だが、Apache Web Serberのプラグインとして動作することも可能。

データベース管理サーバー

各種必要なデータを保存してくれます。共有データとしてのデータベースを管理して、このデータベースに対するアクセス要求を管理、リクエストされた要求に応じて処理を行うソフトウェアです。
データベース管理サーバー 説明
MySQL オープンソースとして公開されているリレーショナルデータベース管理システム。高速性と堅牢性に定評あり。世界的にも導入実績は多い。
PostgreSQL オープンソースとして公開されているリレーショナルデータベース管理システム。主にLinuxとApache Web Serverを連携させて使用されることが多い。
Firebird ボーランド株式会社のInterBase6.0ソースコードを流用したレリレーショナルデータベース。オープンソースとして公開されている。
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?