Webアプリケーションサーバーという言葉を聞いたことがあるけれど、どのような意味を持っているのか分からないという方はいないでしょうか?
また、サーバーと言っても様々な種類があり、役割が異なります。
今回はWebアプリケーションの「3層構造」という仕組みからWebサーバー、Webアプリケーションサーバー、データベースサーバーの違いをお話していきたいと思います。
最後まで読んで頂けたら、それぞれのサーバーの役割をしっかりと把握できるようになります。
目次
1.サーバーとは?
そもそもサーバーとはどのような意味を持っているかからお話していきたいと思います。
サーバーと聞くと、コンピューター等のハードウェアをイメージするかと思います。
このようなコンピューター等のハードウェアはサーバー機能を提供しているソフトウェアを搭載することで、サーバーとしての役割を果たせています。
サーバーはインターネットを通じて様々な利用者と繋がっており、Webサイトの閲覧、ECサイトでの商品購入、SNS等、様々なサービスで利用されています。
サーバーとはネットワーク上のコンピューター等から要求・指示を受け、サービス・データを提供するコンピューターやソフトウェアのことです。
サーバーからサービス・データを受け取る側をクライアントと呼びます。
クライアントはサーバーにリクエストを送ることで、サーバーに保管しているサービス・データをクライアントにレスポンスします。
このようなコンピューターシステムをクライアントサーバーシステムと呼びます。
普段私たちが閲覧しているWebサイトはWebブラウザがWebサーバーにリクエストし、WebサーバーがWebブラウザにデータがレスポンスされることで表示されています。
2.WebサーバーとWebアプリケーションサーバーの違い
WebサーバーとWebアプリケーションサーバーは機能が似ている所が多く、混同されることがありますが、WebサーバーとWebアプリケーションサーバーの機能は異なります。
Webサーバーの役割
Webサーバーはどのような役割を担っているのでしょうか。
WebサーバーはIE、Google Chrome、FirefoxなどのWebブラウザからのリクエストに対して、静的なデータをレスポンスするという役割を担っています。
例えば、企業や団体のサイト等、毎回同じ内容が表示される静的ページはWebサーバー内からデータを見つけ、Webクライアントにレスポンスします。
Webサーバーは通常、複数の台数で構成されており、1台故障しても別のサーバーで対応できる仕組みになっています。
また、業務処理が多くなるほど、アプリケーションサーバーにかかる負荷が高くなるので、高い容量や性能が求められます。
Webアプリケーションサーバーの役割
一方、Webアプリケーションサーバーはどのような役割を担っているのでしょうか。
WebアプリケーションサーバーはWebサーバーから送られてきたデータを受け取り、サーバーサイドプログラムを実行することでデータの加工やデータベースのデータ検索・加工を行い、Webサーバーに返答するという役割を担っています。
つまり、Webサーバーが静的な処理をするのに対して、Webアプリケーションサーバーでは動的な処理を行っています。
例えば、検索エンジンのように表示結果が毎回変わる動的ページはWebサーバーからWebアプリケーションサーバーにリクエストし、Webアプリケーションサーバーがデータベースサーバーからデータを見つけてWebクライアントにレスポンスすることで表示されています。
3.データベースサーバーとは?
上記で「データベースサーバー」という言葉が出てきたので簡単にデータベースサーバーとは何かお話していきたいと思います。
データベースサーバーとはアプリケーションで利用するデータを格納するサーバーのことです。
データベースサーバーはデータの箱でしかなく、データベースサーバー単体では何もできません。
そこでデータベース管理システムを使ってデータを操作することになります。
つまり、データベースサーバーとデータベース管理システムの2つがあることでデータ管理ができているのです。
なぜデータベース管理システムが必要なのでしょうか?
データベース単体ではデータを検索・更新・削除することができませんので、データベースを管理してくれるシステムが必要になります。
また、人間よりもシステムがデータを管理するほうが正確かつ効率的に管理することができます。
このようにデータベース管理システムはデータベースを扱うための機能が様々あり、大量のデータを保存したり、高速でデータを検索したりと便利になっています。
4.ポイント
- Webサーバーは静的なページをレスポンスし、Webアプリケーションサーバーは動的なページをレスポンスする役割を担っています
- データベースサーバーとはアプリケーションで利用するデータを格納するサーバーのことです
- データベースサーバーとデータベース管理システムの2つがセットになることでデータ管理ができています