Webアプリケーションサーバーについて
皆さんが普段よく見ているWebサイト。そのサイトを構成するWebシステムの多くはWebサーバー、Webアプリケーションサーバー、データベースサーバーの3層構造になっています。この構想をWeb3層構造といい、Webアプリケーションサーバーはその中間で、大量のリクエストを日々高速で処理するWebサイトにおいて、重要な役割を担っています。
Web3層構造について
Web3層構造は以下の3階層となっています。
1.Webサーバー
フロントエンドでユーザーと直接やりとりを行うサーバーです。
※フロントエンド・・・ユーザーが見ているWebサイトの見た目の部分
ユーザーがWebブラウザー(chromeやIE等)からリクエストした内容を受け付けて処理をします。
2.Webアプリケーションサーバー
WebサーバーからのリクエストをJavaやPHPなどのサーバサイド言語などで作成されたアプリケーションを実行して動的なコンテンツの生成をします。場合によってはデータベースにアクセスしてデータを要求する役割を持つ
サーバーです。
Webアプリケーションサーバーは、WebブラウザーとWebサーバーとの接続管理、データベースへの接続制御、セキュリティ管理、ユーザー認証などの機能を利用しWebベースのシステムを効率的に開発・運用します。
3.データベースサーバー
Webアプリケーションサーバーの要求に基づいて、データを検索、更新等の処理をおこなうサーバーです。データベースの機能を提供するソフトウェアをDBMS(データベースマネジメントシステム)といいますが、このあたりは前回の記事(https://note.com/kotoharu8/n/n48e217ba9465)で説明していますので見てみてください。
WebサーバーとWebアプリケーションサーバーの違い
WebサーバーとWebアプリケーションサーバーはよく混同されがちですが、
WebサーバーはHTMLなどで表記されたものをブラウザ上に表示するといった「ユーザーに見せたい部分を見せる」、アプリケーションサーバーはログインやデータの保存、書き込みなど「ユーザーからの要求を具体的に実行する」と言ったイメージで、役割は大きく異なります。
Webアプリケーションサーバーの種類について
Webアプリケーションサーバーにも種類があり、使用されるフレームワークが異なります。
Java アプリケーションサーバー
Java アプリケーションサーバーでは「Java EE」というフレームワークを使用します。Java EE(Java Platform, Enterprise Edition)とは,Javaで大規模な企業システムを構築する場合に使用される規格です。
Java EEは幾つかの標準仕様の集合として構成されているため,ユーザアプリケーションはServlet/JSP/EJB/jBatchなどを実装したJava EEアプリケーションとして作成します。
Java アプリケーションサービスを提供するサーバーソフトウェアにはWebLogic Server、Apache Tomcatなどがあります。
.NET アプリケーションサーバー
こちらは「.NET Framework」というフレームワークを使用します。
.NET Frameworkとはマイクロソフトが開発したアプリケーション開発・実行環境で、WindowsのPCであれば基本的にデフォルトで搭載されています。
Windowsとの相性の良さから、Windows系のシステム開発で用いられることが多いです。特に、業務の効率化や自動化をするシステム開発においては.NET Frameworkが使用されるケースも少なくありません。
.NET アプリケーションサービスを提供するサーバーソフトウェアにはIISがあります。IISはWebサーバーの機能が有名ですが、アプリケーションサーバーの機能も持っているので覚えておきましょう。
以上、Webアプリケーションサーバーについてでした!