KATUBLO
2019年05月06日

【webの仕組み】アプリケーションサーバーとは?解説

こんにちは。KATUOです。

今回はアプリケーションサーバーについて解説して行こうと思います。

 

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

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

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

引用:「アプリケーションサーバー」

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

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

 

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

 

Web3層構造

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

 

web3層構造のメリット

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

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

http://ossforum.jp/en/node/813

 

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

 

web3層構造の実例

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

 

 

 

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

 

動的処理とは

さりげなく動的処理という用語を使いましたが、動的処理というのはなんでしょうか?簡単にまとめておきます。

 

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

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

http://juen-cs.dl.juen.ac.jp/html/www/005/

 

まとめると動的コンテンツというのは、毎回一定で表示されるコンテンツとは異なり、ユーザーの意向によって送信されるパラメータをもった要求データを処理して、送信されるコンテンツのことを指します。

 

最後まで読んで頂き、ありがとうございました。
SNS等でのシェアが頂ければ幸いです!

プロフィール

@KATUO

現在都内私立大学に通う大学4年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習をスタート。この時期からプログラミングにどハマりし、現在までに「AIスタートアップ」「Webマーケティング会社」でエンジニアとしての業務に没頭してきた。

大学生必見就活イベント