【基本情報技術者試験】3層クライアントサーバの基礎を100%理解できる!
かるく自己紹介
みなさんはじめまして。
エンジニアみならいのものです。
これからエンジニアを目指す方や学生に向けて、私が日々学習したことを分かりやすくアウトプットできる場にしたいと思います。
解釈が間違っていたりすこともあると思いますが、現状の知識をフルに使って投稿しています。
間違いなどがございましたらどんどんご指摘していただけると幸いです。
この記事を読み終わったらできること
- 3層クライアントサーバシステムについての基礎が理解できる
- プレゼンテーション層 / アプリケーション層 / データ層の役割を把握し、応用について学習を進められる
- 試験の問題を容易に解くことができる
そもそもクライアントサーバシステムとは?
クライアントサーバシステムとは通信のやり取りにおいて、クライアント(サービスを利用する側)とサーバ(サービスを提供する側)に分けて通信を行うことです。
まず英語のクライアントとサーバーがしっくりこないという方もいると思います。クライアントはビジネス上でよく利用される単語の、「顧客」という意味になります。サーバは連想してもらえるのいいのですが、よく食べ放題などにあるソフトクリームサーバがありますよね。そのアイスクリームサーバという意味は、「ソフトクリームを提供(サーバ)するもの)という意味です。
単にクライアントとはサービスを利用する側のことで、サーバはサービスと提供する側と覚えてもらえば大丈夫です。
具体的な例を使って説明します。
普段私たちが利用しているLINEではどうでしょうか?
LINEを利用している私たちはLINEというサービスを「利用する側」ですので、私たちがクライアントとなります。
なんとなくイメージはつかめたでしょうか?
本題の「3層クライアントサーバシステムとは」
先ほど説明したクライアントサーバシステムの一連の流れを3つの層に分割したシステムのこと!!
1.プレゼンテーション層
ユーザーが直接操作する部分のことでWebブラウザやスマホアプリの画面のこと
役割:入力や結果を画面に表示する役割をしている
2.アプリケーション層
実際の処理を担当する部分でWebサーバやアプリケーションサーバが該当する
役割:入力されたデータなどをどう処理するかを決定すること
3.データ層
データの保存や管理をする層のことでデータベースサーバなどが該当する
役割:データを管理し、アプリケーション層にデータを渡すこと
実際の一連の流れ(とあるアプリのログイン)
1.プレゼンテーション層
まずユーザー(私たち)がWebやアプリでユーザー名とパスワードを入力して送信する。
↓
2.アプリケーション層
送られたIDとパスワードを受け取り、データベースにあるIDとパスワードのセットが正しいかを確認するために、データ層に問い合わせる。
↓
3.データ層
「問い合わせがあったユーザーのパスワードはこれだよ」とアプリケーション層に返信する。
↓
4.アプリケーション層
データ層から帰ってきた情報を元にパスワードが一致したらログイン成功と判定する。
さらにログイン後の画面を生成する。
↓
5.プレゼンテーション層
アプリケーション層から送られてきたログイン後の表示を画面に映す。
まとめ
ここでは大まかな概念だけ紹介させていただきました。
最近のレストランなどでよくあるセントラルキッチンのようなものだと考えてください。
プレゼンテーション層はレストランで食事をする(アプリを利用する)ところです。
アプリケーション層は中央の工場でほとんどの工程を調理(データの加工)するところです。
データ層は単に食材などがあつまる農協(データの保管・管理)のようなものです。
難しく考えずに工程が3つあるんだくらいでいいと思います!