WEBアプリを支えるバックエンドをくわしく解説

目次 はじめに バックエンドとは バックエンドの構成 Webサーバーと

目次

  1. はじめに
  2. バックエンドとは
  3. バックエンドの構成
  4. Webサーバーとは
  5. アプリケーションサーバーとは
  6. データベース管理システム(DBMS)とは
  7. まとめ

1. はじめに

 こんにちは、オノ(ハ)です。

前回の記事では、Webアプリの基本的な仕組みや、フロントエンド・バックエンド・データベースの三つの要素について紹介しました。

今回はそこからもう一歩踏み込んで、Webアプリの裏側を支えている「バックエンド」についてより詳しく解説していこうと思います!

バックエンドはWebアプリを作る際に特に重要となってくる部分ですので、構成からよく使われるソフトまでしっかり解説していきますよ!

2. バックエンドとは

 それでは早速、今回のメインテーマであるバックエンドについて説明していきたいと思いますが、

まずは詳しく見ていく前に、改めてバックエンドについて簡単におさらいしておきましょう。

バックエンドとは、ユーザーからは見えない場所で、Webアプリの処理を担当する部分のことです。

フロントエンドがユーザーに見える「表側」だとすれば、バックエンドはその裏で動く「裏側」といえます。

例えば、ネットショップで商品を探す場合、

  • 画面に入力欄が表示される → フロントエンド
  • 商品があるか探す  → バックエンド
  • 商品情報を取得する  → バックエンド
  • 商品一覧画面を表示する → フロントエンド

というように、見える部分と見えない部分が連携して動いているんです。

このように、バックエンドはWebアプリを直接利用するユーザーからは見えにくいものですが、フロントエンドとデータベースをつなぐ重要な橋渡しの役割を担っているんです。

3. バックエンドの構成

 バックエンドの概要についておさらいできましたので、次はバックエンドの構成について説明していきます。

ここでは、バックエンドを理解するために「Webサーバー」「アプリケーションサーバー」「DBMS」の3つに分けて説明します。

例えば、ユーザーがショッピングサイトにログインする場合を考えてみましょう。

ユーザーが入力したログイン情報はフロントエンドを通してバックエンドに送られます。

すると、

①その情報がWebサーバーに送られ、Webサーバーがリクエストを受け取ります。

②その後、アプリケーションサーバーがプログラムを起動し、ログイン処理を行います。

③必要に応じてDBMSからユーザー情報を取得し、入力された情報が正しいか確認します。

そして処理結果がフロントエンドに返され、ユーザーはログインできたことを確認できます。

このように、Webサーバー・アプリケーションサーバー・DBMSがそれぞれの役割を分担して連携することで、Webアプリが動いているんです。

4. Webサーバーとは

 先ほどはバックエンドの構成について説明しましたので、次はその一つであるWebサーバーについて説明していきます。

Webサーバーは、ブラウザから送られてきたリクエストを受け取る役割を持っています。

例えば、ユーザーがWebサイトにアクセスすると、ブラウザから「このページをください」というリクエストがWebサーバーに送られます。

Webサーバーはこれに応じて、HTMLや画像、CSSなどのデータをブラウザに返し、動的処理が必要な場合は、アプリケーションサーバーにリクエストを渡した後、受け取ってブラウザに返します。

つまり、Webサーバーとはブラウザとアプリケーションをつなぐ窓口のような存在ということです。

まとめると、Webサーバーの主な役割は以下の四つになります。

  • ブラウザからのリクエストの受付
  • 静的ページのリクエストを処理
  • 動的ページのリクエストをアプリケーションサーバに依頼
  • HTMLや画像などをブラウザに返す

これらを通じて、Webサーバーはブラウザからの要求に応じて、適切なページを届ける役割を担っています。

そして、代表的なWebサーバーには、以下のようなものがあります。

  • Apache
  • Nginx
  • IIS

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

 次はアプリケーションサーバーについて説明していきます。

先ほど紹介したWebサーバーが「リクエストを受け付ける窓口」だとすると、アプリケーションサーバーは業務的な処理や計算処理といったWebアプリの動的な処理をプログラムを用いて実行する役割を持っています。

例えば、Webサイトでログインするときには、入力されたユーザー名やパスワードを確認する必要がありますし、ショッピングサイトで商品を購入するときには、商品の在庫を確認したり、注文情報を登録したりする必要があります。

このようなWebアプリ特有の処理をプログラムを用いて処理するのが、アプリケーションサーバーです。

アプリケーションサーバーの主な役割としては

  • プログラムを実行してWebサーバーから受け取ったリクエストを処理する
  • データが必要な場合はDBMSにリエストを送る
  • 処理結果をWebサーバーに返す

などがあります。

代表的なアプリケーションサーバーとしては、以下があります。

  • Tomcat
  • WildFly
  • Jetty

現在はTomcatが主流で、オープンソースで無料、かつ軽量で扱いやすいことから広く使われています。

ここでポイントなのが、Webサーバーとアプリケーションサーバーでは役割が違うということです。

Webサーバーは主にリクエストを受け取ってデータを返すという役割をもっていて、アプリケーションサーバーはプログラムを用いて動的な処理を実行するという役割を持っています。

ここの違いは大切ですので、皆さんもしっかり覚えていってくださいね。

6. データベース管理システム(DBMS)とは

 続いて、Webアプリに欠かせないデータベース管理システム、略してDBMSについて説明します。

DBMSとは、前回の記事で紹介したデータベースを管理するためのソフトウェアです。

Webアプリを運用していく際、さまざまなデータを扱う必要が出てきます。

例えば、ショッピングサイトであれば、

  • ユーザー情報
  • 商品情報
  • 注文履歴

などのデータを管理しています。

ユーザーがログインしたときにはユーザー情報を検索したり、商品を購入したときには注文履歴を保存したりします。

このように、アプリケーションサーバーの依頼に従ってデータベースを操作する役割をDBMSが担っています。

DBMSの主な役割は、データの保存や検索、追加、更新、削除です。

代表的なDBMSには、以下のようなものがあります。

  • MySQL
  • PostgreSQL
  • Oracle Database
  • MongoDB

例えばAmazonのようなショッピングサイトを考えてみると、商品の情報やユーザーの情報、注文履歴など、非常に多くのデータが存在します。

こうした大量のデータを効率よく管理するために、DBMSが使われています。

7. まとめ

 今回は、Webアプリを支える「バックエンド」について紹介しました。

まとめると、バックエンドは三つの層で構成されており、それぞれの役割は

  • Webサーバーがリクエストを受け付ける
  • アプリケーションサーバーはプログラムを用いて動的な処理を行う
  • DBMSはデータを保存・管理する

という風になっています。

普段から何気なく利用しているWebアプリも、このような複数の仕組みが連携することで動いているということが改めてわかりましたね。

前回の記事では「Webアプリとは何か」を紹介しましたが、今回の記事で、その裏側でどのようなシステムが動いているのかもより詳しく理解できるようになったのではないでしょうか?

この記事で紹介した以上にWebアプリの奥は深いです。さらに詳しく知りたいと思った方は、ぜひご自身でそれぞれの技術についても調べてみてください!

今後もこんな感じの記事を投稿していくかもしれませんので、その際はよろしくお願いします。

それではまた今度

コメントを残す

メールアドレスが公開されることはありません。