『Webシステムの仕組み』構成図と登場人物を理解して全体の流れをつかむ

Webシステムの仕組み≫構成図と登場人物を理解して全体の流れをつかむ Webシステム開発の知識

【本サイトではGoogleアドセンス、または、アフィリエイト広告を利用しています。】

Webシステムはどうやって動いているのか?

ネットショッピングとか、会社で仕事をする時に
Webシステムと呼ばれるものを使っていることになるのですが、
どんな仕組みで動いているかまで想像したことありますか?

 パソコンを使う家族

画面から登録したデータはとにかくどこかに飛んで行って
空中に浮かんでるような、そんなイメージさえあります。

これからプログラミングを習得して開発をするにあたって、
まずはWebシステムとは何かを理解しておきましょう!

Webシステム、フロントエンド、バックエンド、データベースについては、
以下で説明しています
ので、まずはこちらを読んでください。

Webシステムでは、ユーザーがブラウザを操作することで、
ネットワークを通した先にあるデータをやり取りします

では、今から、Webシステムの構成図を見ながら、
そこに登場してくる人物が何者なのかを見ていきましょう!

 名探偵

Webシステムの構成を理解しよう!

まず、これがWebシステムの構成図です。

イメージしやすいように、できるだけざっくりした形にしてみました。
今回、データベースはバックエンドの中の1つという扱いで説明します。

Webシステムの構成図

フロントエンド、バックエンドそれぞれに登場人物がいます。

掘り下げるともっと他にも登場人物はいるのですが、
主にこれらがみんなで連携してWebシステムが動いています。

では、今から1つ1つ中身を見ていきましょう!

ユーザーとは?

ユーザーとは、Webシステムを使う人のことです。

当然ながら、ユーザーはフロントエンドの部分しか見ることができません。

Webシステムを操作しても、バックエンドで何が起こっているかはわからないので、
処理が遅いとただただ待つだけになります。

 パソコンが動かず怒る人

実際のところ、そんなに気長に待ってくれるユーザーは少ないです。
なので、Webシステムでは、レスポンスの速度が重視されてきます。

クライアントPCとは?クライアントとは?

クライアントPCとは、ユーザーが使うパソコンのことです。

 ノートパソコン

また、クライアントとは、システムを使うユーザーのことです。

バックエンドにあるサーバーに対して、
クライアントPCのことをクライアントと呼ぶこともあります

バックエンドにあるサーバーに対して、クライアントPCは、
ユーザーが自分で用意して使うパソコンになるので、その性能は様々です。

また、ユーザーがパソコンを使う環境もいろいろです。
光回線でインターネットをする人、Wi-Fiルーターでインターネットをする人、
それぞれでネットの速度も変わってきます。

 WiFiモバイルルーター

なので、ハイスペックな性能を持ったパソコンでないと動かないような
複雑なプログラムでシステムを作ってしまうと、

あるユーザーの環境では問題なく使えても、
あるユーザーにとっては全く使えないということが出てきます。

システムを使うユーザーは1人ではないので、
このあたりも考慮しながらシステムを組んでいくことが重要になります。

ブラウザとは?

ブラウザとは、Webシステムの画面を表示、操作する為の
アプリケーション(ソフトウェア)
です。

みなさんインターネットで検索する時に使っているアプリですね。

 WEBで検索する人

詳細はこちらでも説明していますので
あわせて読んでもらえるとより理解が深まると思います!

サーバーとは?

サーバーとは、データやサービスを
クライアントに提供する為のコンピューターのことです。

簡単に言えば、インターネット上にあるパソコンというイメージです。

 クラウド

サーバーには、ネットワークを介して、クライアントPCからアクセスします。

提供するコンテンツによって様々な種類のサーバーがあって、
Webシステムにも複数のサーバーが登場します。

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

アプリケーションサーバー(APサーバー)とは、
開発したアプリケーションを実行して動作させる為のサーバーのことです。

この場合のアプリケーションとは、Webシステムの本体とも言える、
Javaなどのプログラム言語で開発したソフトウェアのことです。

 プログラマー

つまり、あなたがプログラミングをして作ったアプリを配備する場所です。

また、本来、アプリケーションサーバーは、ハードウェア本体のことではなく、
アプリケーションの実行環境を提供するソフトウェア
のことを指しますが、

アプリケーションサーバーをインストールし設定したハードウェア本体のことを、
総称してアプリケーションサーバーと呼んだりもします

これから説明する、Webサーバー、メールサーバー、FTPサーバーも
すべて同様に、実態はソフトウェアです。

Webサーバーとは?

まず、Webサーバーの説明の前に、
クライアントPC上にあるブラウザに表示する画面のお話をします。

Webシステムを操作した時にブラウザ上に出てくる画面ですが、
これらの画面はすべて、HTMLというプログラム言語で書かれています

そのHTMLの内容をブラウザは解析して、
テキストや画像、ボタンなどを指定通りに画面上に配置し、表示している
わけです。

 モニター、ディスプレイ

これを踏まえた上で本題です。

Webサーバーとは、ブラウザ上に画面として表示する
HTMLの情報をクライアントに提供する為のサーバーです。

例えば、画面上で、「次のページ」のようなリンクを押した時に、
ブラウザからWebサーバーへ依頼が飛びます。

Webサーバーはその依頼内容に従って、
対象となる画面の情報(HTML)をクライアントへ提供します。

アプリケーションサーバー(APサーバー)とWebサーバーの違いは?

ここまで、APサーバーとWebサーバーについて説明をしましたが、
この2つは混同されがちです。どう違うの?みたいに言う人もいます。

機能も役割もまったく別物なのになぜ混同してしまうでしょう?

 わからなくて困っている人

その原因は、APサーバーにあります。

APサーバーの中には、Webサーバーの機能を一部持ったものが存在します

実際、Webシステムを開発する時は、WebサーバーとAPサーバーを別で用意せずに、
Webサーバーの機能を持ったAPサーバーを使って環境構築してしまう場合も多くあります

ただし、スペックやセキュリティの問題から、
このAPサーバーは開発環境のみで利用されることが多く、

実際にリリースする本番環境と呼ばれる環境には、
しっかりAPサーバー、Webサーバーを両方用意することになります。

なので、開発環境主に使う現場のプログラマーなどは、
APサーバーとWebサーバーの切り分けを意識する必要がない
ので、
どう違うんだっけ?という疑問が起きてしまうのです。

改めて、WebサーバーとAPサーバーの役割の違いを整理しておくと、

  • APサーバーでは、プログラムを実行します。
  • Webサーバーでは、HTMLなどのデータを提供します。

Javaで書かれたプログラムがあって、ユーザーがブラウザから何か操作を行った場合、

  1. Webサーバーが、クライアントから受け取った指示をAPサーバーに連携。
  2. APサーバーが、Javaのプログラムを実行。
  3. APサーバーが、実行結果をWebサーバーへ連携。
  4. Webサーバーが、実行結果に従ったHTMLをクライアントに提供。

この一連の処理すべてを行ってくれるAPサーバーがあることを把握しておきましょう!

メールサーバーとは?

メールサーバーとは、メールを送受信する機能を持つサーバーのことです。

Webシステムに直接関連するものではないですが、
Appサーバーに配備したプログラムを使ってメールを送信する場合に使ったりします。

 パソコンでメールを送る人

また、メールアドレスを使ってメールを送信する際には、
DNSサーバーと呼ばれるIPアドレスと名前を紐づけする役割を持ったサーバーが
必要になるのですが、話が飛躍しすぎてしまうので、ここでは説明を省きます。

FTPサーバーとは?

まず、FTPとは、サーバーにファイルをアップロードしたり、
サーバーからファイルをダウンロードしたりする時に使う通信方式
のことです。

つまり、FTPサーバーとは、ファイルの送受信を行う為のサーバーのことです。

 テキストファイル

Webシステムと直接関連するわけではないですが、
開発したプログラムファイルをサーバーへ配備する時

ファイルをサーバーへアップロードする必要があるので、
Webシステムを構築する上ではやはり必要となるサーバーとなります。

似たような名前で、ファイルサーバーがありますが、
こちらはファイルを管理する為のサーバーなので間違えないようにしましょう!

データベースサーバーとは?(DBサーバー)

データベースとは、Webシステムなどで扱うデータの集まりのことですが、

データベースサーバーとは、データベースの管理を行う機能を提供するサーバーです。

データベースの管理とは、データの登録や更新、削除、
または、データベース全体のチューニングやバックアップなどを行うこと
です。

 データベース

似たような言葉ですが、意味合いが違うのでしっかり理解しておきましょう!

【データベース(DB)】
データの集まり。

【データベース管理(DBMS)】
データの登録や更新、削除、データベース全体のチューニングや
バックアップなど行う機能。

【データベースサーバー(DBサーバー)】
データベース、および、データベース管理の機能を持つサーバー。

まとめ

すべて読み終えたら最初の構成図に戻って、もう一度動きを確認してみましょう!

ユーザーがクライアントPCを操作することで依頼が飛び、
サーバーとデータベースが裏で動き結果を返す、
その結果を受けたクライアントPCのブラウザ上に画面が表示される。

会議などで関連する内容が出てきたらすぐに会話に入れるように、
この一連の流れをイメージとしてしっかり覚えておいてください

 自信のある人

次回は、MVCモデルについてお話をします!

タイトルとURLをコピーしました