アプリケーションサーバとは
アプリケーションサーバは, Webサーバから受けたリクエストをもとに,動的なコンテンツを生成するアプリケーション(プログラム)を実行するソフトウェアもしくはサーバコンピュータのこと.Web三層構造を構成するサーバの一つで.Webサーバとデータベースサーバの中間に位置する.
アプリケーションサーバの機能
アプリケーションサーバは,主に3つの機能がある.
1.コネクト機能
プログラムからデータベースに接続してデータの読書きを行う機能をコネクト機能と言います。事前にコネクション接続(データベース接続)を行う事で、接続を毎回行うのではなく、既存の接続を再利用して処理速度を向上させることができる。
2.トランザクション機能
データベースを管理する場合は何らかのエラーが発生したり、同時にアクセスするでも、整合性を保ち,不具合が起きないように制御するのがトランザクション機能です。
プログラム側で制御すると処理に時間がかかりますが、APサーバのトランザクション機能を利用することで、この処理をサーバー側に任せることができます。
3.ビジネスロジックの実行
ビジネスロジックは,アプリケーションシステムにおけるコアとなる処理を行う部分であり,アプリケーションソフトはこれを実行する機能を持つ.例えばデータベースから取り出したデータの計算はAPサーバで行う.
Webサーバとの違い
WebサーバとAPサーバの違いはそれぞれの役割である.
担当する位置 | 役割 | |
---|---|---|
Webサーバ | フロントエンド | ユーザと直接やり取りを行う |
APサーバ | バックエンド | プログラムとしての処理を行う |
Webサーバがリクエストを受け付け、APサーバが処理を行い、Webサーバがレスポンスを返すという流れとなる。イメージとしては,Webサーバは受付で,APサーバは実際の作業場という関係となる.
アプリケーションサーバの種類
Webサーバは動作するOSやシステムの内容で適切なものを選ぶ必要がある.一方,APサーバは基本的に開発するプログラミング言語で選ばれる.ここでは代表的なJavaとRubyで使用されるものをあげる.
○Apache Tomcat
オープンソースで開発された,Javaで開発されたWebアプリケーションで使用されるアプリケーションサーバ.略して“Tomcat”と呼ばれる.
○Unicorn
Ruby on Railsなどで開発されたRuby言語のWebアプリケーションで使用されるアプリケーションサーバ.WebサーバのNginxやApacheなどと組み合わせて使用することができる.