プログラム言語によってはAPサーバを意識していない人もいると思います。
本記事では、アプリケーションを動かすのに必須なAPサーバについて図を交えながら解説していきます。
APサーバはシステム開発における基本的なものなので、よく知らない方はこの機に理解していきましょう!
APサーバとは
APサーバ(アプリケーションサーバ)とは、“アプリケーションを実行するサーバ”のことです。
アプリケーションとは、簡単に言うと“プログラマーが作ったプログラム”のことです。
つまり、プログラミングして作ったアプリケーションを動かすためにはAPサーバが必要ということです。
Web3層構造のシステムで各サーバの関係を見てみると、APサーバはWebサーバとDBサーバの間に位置しています。
図を見ると分かるようにAPサーバはWebサーバとDBサーバのデータの橋渡しのような役割も担っています。
基本的にAPサーバはWebサーバと一緒に使うことが多いです。
大きいシステムになり、それなりにたくさんのデータを扱うシステムになると必要に応じで、DBサーバを操作し、データの取得や更新などを行います。
APサーバとWebサーバの違い
APサーバとWebサーバの違いを知るためにまずは“静的コンテンツ”と“動的コンテンツ”について解説します。
静的コンテンツ…HTMLファイル、画像
動的コンテンツ…プログラマーが書いたプログラム
もう少し分かりやすく解説すると
静的コンテンツ…誰が見ても常に同じ内容
動的コンテンツ…見る人やタイミングによって内容が変わってくる
という感じです。
この2種類のコンテンツを提供するために使うサーバは、
静的コンテンツ…Webサーバ
動的コンテンツ…Webサーバ+APサーバ
になります。
静的コンテンツの提供ならWebサーバのみで完結しますが、動的コンテンツを提供する場合は基本的にWebサーバとAPサーバがセットになります。
言い換えると、Webサーバは単体で使用することができるのに対し、APサーバは単体ではほとんど使用しません。
これがAPサーバとWebサーバの違いです。
APサーバの種類
APサーバにも様々で、プログラミング言語によって種類が異なります。
代表的なものは以下です。
- Apache Tomcat(アパッチ トムキャット)…Java
- Unicorn(ユニコーン)…Ruby
プログラミング言語によっては、WebサーバがAPサーバの役割を持っていたりするので、APサーバが必要ないこともあります。
例えば、PHPの場合はWebサーバであるApacheのモジュール(機能)を使用することで、簡単にAPサーバのような仕組みを構築することができます。
このような仕組みがあると便利ですが、APサーバの理解を深めるという意味ではあまりおすすめできません。
APサーバを理解しておくことで、実際の現場でも慌てずに済むので、これからプログラミングを学ぶ人は、JavaかRubyがいいのではないかと思います。
それぞれの特徴についてはこちらで解説してるので参考にしてみてください。
APサーバの環境構築
APサーバもWebサーバと同様にLinuxで環境を構築することをおすすめします。
APサーバもWebサーバと同じようにLinuxで構築する現場が多いので、Linuxで勉強するほうがより実践的な知識を身につけることができるからです。
WindowsPCに“VirtualBox”というソフトを入れることで、簡単にLinux環境を作ることできます。
VirtualBoxでLinux環境を構築するやり方はこちらで解説しています。
APサーバとは:まとめ
- APサーバとは、アプリケーションを実行するためのサーバ
- APサーバは、WebサーバとDBサーバの間に位置し、橋渡し的な役割をしている
- APサーバ単体では使用しない
- APサーバの種類は、プログラミング言語によって異なる
- APサーバの環境構築はLinuxがおすすめ
APサーバは他のサーバに比べてあまり目立たないですが、Webシステムを開発する上でとても必要なものです。
そこまで深く学ぶ必要はありませんが、APサーバの概念は押さえときましょう。
最後まで読んでいただきありがとうございました。