《webの仕組み》アプリケーションサーバーとは何か?わかりやすく解説

インフラ

アプリケーションサーバーについて

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

アプリケーションサーバ(英: Application Server)は、ビジネスロジックなどを実装したアプリケーションソフトウェアを実行することを専門とするコンピュータネットワーク上のサーバコンピュータ、もしくはそのようなコンピュータ上でのアプリケーションの実行を管理補助するミドルウェアのこと。

ウェブアプリケーションサーバは、ウェブクライアントからのHTTPのレスポンス要求を処理するウェブサーバとバックエンドの関係データベース管理システム (RDBMS) を中心とするデータベース中核層への橋渡しを担い、データの加工などの処理を行う。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

https://ja.wikipedia.org/wiki/アプリケーションサーバ

webサーバから受け取ったリクエストを元にphp、Node.jsといったサーバーサイドの言語のプログラムを実行して、その結果をwebサーバーに返すという役割を担っています。

アプリケーションサーバーの種類

代表的なアプリケーションは以下の3つですね。この他にたくさんの種類のアプリケーションサーバーがあります。

名前

特徴

Puma

webサーバー機能も保有

Unicorn

Apache Tomcat

webサーバー機能も保有

Web3層構造

web3層というのは「webサーバ」「アプリケーションサーバ」「データベースサーバ」の3種類のサーバで構成されるwebシステムのことを指します。これらはミドルウエアと呼ばれます。

web3層構造のメリット

3層アーキテクチャを採用することにより、ユーザインタフェース、ビジネスロジック、データベースの相互依存を抑え、変更容易性、拡張性を高めることができる。

引用:「Ⅱ-3-5. OSSによるWeb3層アプリケーション」

Ⅱ-3-5. OSSによるWeb3層アプリケーション | 日本OSS推進フォーラム

これに加え、「処理速度の向上」「メンテナンス性の向上」が見込めます。やはりアーキテクチャーの設計において、相互依存を抑えるというのは基本のようですね。

web3層構造の実例

ではここでweb3層構造が実際のwebサイトを表示するまでの過程でどのように使われいるかを見てみましょう。このために以下の図を用意しました。

このようなフローでweb三層構造は活用されています。APサーバ(アプリケーションサーバ)は定義通りに動的処理の実行、DBサーバにデータの問い合わせをしていることがみて取れるかと思います。

動的処理とは

それに対し動的コンテンツとは、search.php?q=pentagon などのように、パスと共にクエリと呼ばれるパラメータが要求データとして送信され、これを受信したWebサーバは、スクリプトと呼ばれるプログラムに渡されたパラメータを指定して実行することで結果を生成し、それを応答のデータとしてブラウザに送信する方式のWebページのことです。例えば検索画面のように検索対象の文字列が利用者によって異なる場合(当然、結果も異なります)や問い合わせフォームの実装などにも使われます。

引用:「静的コンテンツと動的コンテンツ」

WWWの基本技術 - 静的コンテンツと動的コンテンツ

まとめるとユーザーの意向によって送信されるパラメータをもった要求データの処理のことです。逆に静的処理というのはユーザーの意向なしの処理ことを指します。具体例をあげるならばWebページを表示する、画像を表示するといった決まり切った処理などですね。

タイトルとURLをコピーしました