アプリケーションサーバーとは?APサーバー基礎知識〜種類まで解説

アプリケーションサーバーとは?APサーバー基礎知識〜種類まで解説
ハテオ君
アプリケーションサーバーってなんだろう?いまいちそどんな機能しているのか、どんな種類があるのか理解できないなぁ

そんな悩みを持っているIT未経験の方へ向けて、アプリケーションサーバーの基礎知識を解説していきます。

プログラマーなどを目指している方に関しては、アプリケーションサーバーの知識は必須になります。

またWebサービスが増えている現代では、アプリケーションサーバーが活躍する場面も非常に多くなってきました。

IT業界へ挑戦しようとしている方は、今回解説するアプリケーションサーバーの基礎知識をしっかり身につけておきましょう。

本記事の内容

  • そもそもアプリケーションとは何か
  • アプリケーションサーバーの基礎知識
  • Webの三層構造とWebサーバーとの違い
  • 基本機能はどんな機能があるのか
  • アプリケーションサーバーに使われるプログラミング言語とサーバーの種類

上記内容を中卒の私が誰でも理解ができるように解説していきます。

黄島 成
それでは行って参りましょう

 

そもそもアプリケーションとは?

アプリケーションの解説に入る前に、そもそもアプリケーションとは何かまず最初に解説していきます。

アプリケーションとは簡単に言うと、特定の目的の作業をするために作られた専用のソフトウェアになります。

もっと具体的に言うと、スマホなら『ゲーム』『SNS』など、PCなら『表計算』『ワープロ』といった、OSの上にインストールして使うソフトウェアとことです。

アプリケーションの正式名所は、『アプリケーションソフトウェア』になります。

パソコンでは『ソフト』と呼ばれ、スマホでは『アプリ』と呼ばれるのが一般的です。

 

アプリケーションとソフトウェアの違い

アプリケションとソフトウェアを同じ意味と捉える方も多いですが、この2つは別物になりますのでその違いを解説します。

この2つの違いは以下通りです。

アプリケーションは、OSを含まないソフトウェア

ソフトウェアは、OSを含むソフトウェア

もっと具体的に説明すると、ソフトウェアはコンピュータを動作させる『手順』『命令』をコンピュータが理解できるプログラムで作られものです。

コンピュータの物理的な機械を『ハードウェア』と呼び、形の持たないプログラムを『ソフトウェア』と呼びます。

OSはソフトウェアの部類になりますね。

それに対してアプリケーションは、ワードやエクセルなどOSの上で動作するソフトウェアのことを指します。

結論、この2つの違いは、OSの上で動作するかしないかとゆうことになります。

OSについては、以下の記事で詳しく解説しています。

 

アプリケーションサーバー(APサーバー)とは何か

それでは、アプリケーションについてある程度理解できたところで、アプリケーションサーバーについて解説していきます。

アプリケーションサーバーとは、アプリケーションを実行するためのサーバーで、アプリケーションを動かすために必要な役割を持っています。

別名、『APサーバー』と略されることが多いです。

アプリケーションサーバーのイメージとしては、『アプリケーションが実行される場所』とゆうイメージになります。

現代世の中に無数のアプリが存在し、アプリケーションサーバーが活躍する場面は非常に多く、無くてはならない存在となっています。

その中でも特に活躍する場面が『Webの三層構造』です。

 

Webの三層構造

Webの三層構造とは、Webサイト閲覧時に使われる3つのサーバーの事を指します。

以下3つ

  • Webサーバー
  • アプリケーションサーバー
  • データベースサーバー

Webでは、この3つからなる構造でシステムを管理する仕組みになっています。

各サーバーの主な役割

Webサーバー

クライアントとの通信のやり取り、Webコンテンツ全体の管理

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

入力に基づいたWebコンテンツの作成、アプリケーションの実行

データベースサーバー(DB)

データベースすべての管理

Web三層構造の流れは以下図の通りです。

 

①ユーザがページのリクエストをWebサーバーに送信

②WebサーバーがAPサーバーにページ作成のリクエスト

③APサーバーがDBサーバーへページに使うデータをリクエスト

④DBサーバーがAPサーバーへページに使うデータをレスポンス

⑤APサーバーがWebサーバーへ完成したページをレスポンス

⑥Webサーバーが利用者へ閲覧したいページのレスポンス

⑦利用者がページを閲覧

上記①~⑦までがWebの三層構造の役割ごとの流れになります。

現在のWebシステムでは、このWeb三層構造を主に利用しています。

Webサービスを利用する上では、アプリケーションサーバーが重要な役割を否っていますので欠かせない存在です。

 

WebサーバーとAPサーバーの違いは?

続いて、webサーバーとアプリケーションサーバーの違いを解説していきます。

この2つの大きな違いは、サーバー単体で使うことが出来るかどうかです。

静的コンテンツだけのサイトを公開するのであれば、APサーバーを使わずにWebサーバー単体で実現が出来ます。

静的コンテンツとは、『HTML』『画像』のみで構成されたWebサイトのことです。

俳優の阿部寛さんのHPはこの静的コンテンツになります。

阿部寛さんのHP

逆に、動的コンテンツも合わせたサイトを公開するのであれば、APサーバーとWebサーバーの2つを使うことで実現ができます。

動的コンテンツとは、『Ruby』『PHP』などのプログラムを使ったWebサイトのことです。

以下図が、アプリケーションサーバーとWebサーバーのデータ処理の流れです。

 

上記図のように、アプリケーションサーバーは、webサーバーとセットで使うことがほとんどです。

APサーバーは、アプリケーションを実行するためだけの機能しかないので、サーバー単体で使うことはほぼ無いです。

必要であれば、『DBサーバー』からデータを操作し、データの『取得』『検索』『削除』『更新』などを行います。

 

アプリーションサーバーの基本的な機能

アプリケーションサーバーの基本的な役割としては主に以下機能が挙げられます。

以下3つ

  • 動作できる環境構築
  • データベースとの接続
  • トランザクション

順番に解説していきます。

 

動作できる環境構築がされている

アプリケーションは条件無しにどこでも動作することは不可能です。

アプリケーションを動作させるためには必ず、動作させるための環境が必要になります。

例えば、アプリケーションを起動する為の専用ソフトや、専用のデータベースなどが必要になります。

つまり、この環境が整ったモノがサーバーであり、サーバーで動作しているのがアプリケーションである。

結果これはアプリケーションサーバーと言えます。

 

データベースとの接続出来る機能を持っている

サーバーにデータベースが入っている状態で、アプリケーションを使って接続していれなば、この時点でアプリケーションサーバーと言えます。

多くのシステムでデータベースは、サーバー上に置いてあるためアクセスするアプリケーションが必要不可欠になってきます。

それを置いておく場所とゆうことでアプリケーションサーバーになります。

 

トランザクション管理がされている

トランザクションとは、複数の処理を1つ処理として扱うことを指します。

わかりやすく勉強する人で例えると、『まず最初にペンを持つ』その後に『ペンで字を書く』とゆう流れだと思います。

この流れでは、2つの動作をアプリケーションサーバーでは2つの処理になります。

 

結論、上記のように複数の処理を1セットにして1つの処理として扱うことをトランザクションと呼びます。

このように複数の処理をセットで動かすようなアプリケーションがあれば、アプリケーションサーバーになります。

 

アプリケーションサーバーで使われるプログラミング言語とサーバーの種類

最後に代表的なアプリケーションサーサーバーの種類を紹介していきます。

アプリケーションサーバーでは様々なプログラミング言語で構成されています。その中でも代表的なのは以下3つです。

主に以下3つ

  • Java
  • PHP
  • Ruby

順番に特徴を解説していきます。

 

Java(ジャバ)

Javaは、世界中で使われるC言語を元に開発されたプログラミング言語になります。

1996年にリソースされ、教育から開発まで幅広く利用されています。

特徴としては

どんなコンピュータでも使える

オブジェクト指向

動作速度が早く安定している

セキュリティー面が優れ需要が高い

Javaを使った代表的なアプリケーションサーバーは、『Tomcat』『Glass Fish』が挙げられます。

 

PHP(ピーエイチピー)

PHPは、web開発に適した汎用スクリプト言語です。

初心者でも扱いやすいため、PHPを初めて数時間でソースコードを書くことができます。

特徴としては

多くのWebサービスで利用されている

初心者でも扱いやすい

動的コンテンツの作成ができる

テクストベースで開発が可能

PHPを使った代表的なアプリケーションサーバーは、今のところないです。

しかし、PHPで構成されたWebサーバーの『apache』の設定を編集するとアプリケーションサーバーとしての機能が利用できるようになります。

 

Ruby(ルビー)

Rubyとは、日本人のまつもとゆきひろ氏の手によって開発された日本初のオブジェクト指向型スクリプト言語です。

特徴としては

オブジェクト指向

スプリクト言語

記述量が少ないため覚えやすい

Webサービスやアプリの開発ができる

Rubyを使ったアプリケーションサーバーは、『Unicorn』『Thin』『Rainbows』『Puma』などが挙げられます。

上記内容が代表的なプログラミング言語とアプリケーションサーバーの種類になります。

 

まとめ

アプリケーションサーバーの基礎知識に関しては上記内容で以上になります。

アプリケーションサーバーは、動的コンテンツを開発する際には必ず必須になるとゆうことがわかりましたね。

プログラマーを目指している方に関しては、アプリケーションサーバーは相棒のような関係になりますのでもっと深掘りして勉強する必要がありますね。

それでは今回の内容をまとめていきましょう。

まとめ

  • アプリケーションとは、特定の目的のために作られたソフトウェア
  • APサーバーは、アプリケーションが実行される場所のこと
  • Webサーバーとの違いは、サーバー単体で使うことができるかどうか
  • 基本的な役割は、『環境構築』『データベースとの接続』『トランザクション』の3つ
  • APサーバーでは主に、『Java』『PHP』『Ruby』といった言語で構成される
黄島 成
アプリケーションサーバーの基礎知識コンプリートおめでとうございます!閲読ありがとうございました。

 

-基礎知識