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

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

アプリケーション(AP)サーバーの役割

アプリケーションプログラム(JavaやPHPのような動的プログラム)を実行するためのサーバーです。

JavaやPHPなど動的プログラムを使うことで、条件に合わせて(※例:アクセスしたユーザーに合わせて)表示内容を
変えたり、データベース(MySql)と連携できるようになります。

WEBサーバーでは、HTMLを始めとした静的プログラムを扱うことはできますが、基本的にはJavaやPHPのような
動的プログラムを扱うことはできませんので、

主にWebサーバーとデータベースを仲介するために、アプリケーションサーバーを使用します。

JavaやPHPなどアプリケーションプログラムを使えることで、

  • 条件に合わせて(※例:アクセスしたユーザーに合わせて)表示内容を変える。
  • データベースと連携できるようになるので、より実践的なWebアプリケーションを作ることができる。

Webサーバ(HTML)だけの場合

APサーバ(JavaやPHP)を使用した場合

アプリケーション(AP)サーバーで使われるソフトウェア一覧

APサーバーのソフトウェア一覧

また、前章までと同様に、アプリケーション(AP)サーバーの環境を構築するためには、次で紹介するような専用のソフトウェアをインストールし、必要な設定を行った上で、ソフトウェアを起動する必要があります。

各言語のミドルウェア(※)の動作環境

前ページで紹介した通り、プログラミン言語の種類によって、アプリケーションサーバーで使用するソフトウェアの
種類(アプリケーションの開発環境)が異なります。

Javaのアプリ開発では、WebサーバーにApache、アプリケーションサーバーにTomcatを使用しますが、PHPのアプリ開発では
Webサーバー、アプリケーションサーバー共に、Apacheを使用します。

そのため「【第7章】Web サーバーの環境構築」、「【第8章】データベースサーバー構築」では、Apache、MySQL、PHP関連の
パッケージをインストールするだけで、アプリケーションサーバーを意識せずに演習を実施することができました。

Tomcatとは:JavaアプリのAPサーバー

Tomcatとは

再三の説明になりますが、 Tomcat(Apache Tomcatの略)は、 Javaのアプリケーションの開発環境を構築するためのアプリケーションサーバーであり、サーブレットコンテナの一種です。

サーブレットコンテナとは、 Java サーブレットが動作するために必要なソフトウェアであり、

Java サーブレット(Servlet) は、Webアプリ用のJavaプログラムです。

Tomcat

サーブレットコンテナの一種

サーブレットコンテナ

Java サーブレット(Servlet)が、動作するために必要なソフトウェア

Java サーブレット(Servlet)

Webアプリ用のJavaプログラム

Tomcatの動作の流れ

また、ユーザーからのアクセス(HTTPリクエスト)に対して、特定のJava Servlet(Web用のJavaプログラム)を実行するために、 Tomcatは、 Java Servlet(Web用のJavaプログラム)とWebサーバーの仲介をします。

このような動作をするため、Tomcatはアプリケーションに分類されますが、厳密には、アプリケーションサーバだけでなく、
(簡易的な)Webサーバーとしても機能します。

Tomcatを使ったWebアプリの動作環境について

APサーバとWebサーバが分かれている場合(一般的な動作環境)

ここまで説明した通り、一般的なTomcatの開発ではWebサーバーにApache、アプリケーションサーバーにTomcatを使用します。

また、ユーザーからWebサーバーに対してHTTP通信を行うため、ユーザーはHTTP通信に対応した80番ポート(※)で通信をします。

そしてWebサーバーから、アプリケーションサーバーへの通信では、8080番ポートが(デフォルトで)使用されます。

※ ポート番号やHTTP通信について「第3章 セキュリティ(SELinux・firewalld)の設定 >セキュリティの設定について」を参考ください。

APサーバとWebサーバが同じ場合(当講座の動作環境)

また、先ほど説明した通り、Tomcatは、簡易的なWebサーバーとしても機能するので、Tomcatをインストールするだけで、
Webサーバーからアプリケーションサーバーまでの役割を担うことができます。

この場合、Tomcatが直接、ユーザからのアクセス(HTTP通信)を受け付けることになりますが、(デフォルトでは)元々の
8080番ポートで通信することになります。

そのためブラウザからアクセスする際には、「https://IPアドレス:8080/×××」といった具合に、 URLにポート番号の8080を指定する必要があります。


NEXT>> この章の作業内容