※2024/5/15更新
※ 本記事では、基本情報技術者試験の対策として私が勉強したことを備忘録的にまとめておきたいと思います。
少しでも参考になれば嬉しいです。
はじめに
さて今回は、シンクライアントシステムと3層クライアントサーバシステムについてまとめます。
これらは、コンピュータの動作・処理形態を表したものになります。
複数のコンピュータ同士をどのように組み合わせて動作させるか、というお話ですね。
中でも今回取り上げるクライアントサーバシステムとは、現在主流となっている動作形態であり、これまで使われていた集中処理や分散処理の良いとこ取りをしたような形態になります。
そして、これらクライアントサーバシステムを理解するために必要な考え方が、シンクライアントになります。
ですのでまずは、シンクライアントとは何??というところからしっかりと理解していきましょう。
ちなみに私はこの参考書を使って勉強してました。
漫画形式で読みやすく、分かりやすい内容になっているため、無理なく学習を進められると思います。
過去問を解きまくり、不明点があれば参考書で知識を補う、このサイクルで試験対策するのが私のオススメです!
最新版はこちらです。
少し内容が異なる部分もあるかもしれませんが、大まかには変わらないはずですので、安心して下さい。
シンクライアントシステム
シンクライアントシステムの特徴
さて、まずはシンクライアントシステムって何??というところからお話していきます。
シンクライアントシステムとは、コンピューターシステムアーキテクチャの一種(クライアントサーバーアーキテクチャの一変種)で、データやアプリケーションの実行をサーバー側ではなくクライアント側で行うような設計方式です。
ここで言う「シン」とは、「Thin:薄い、希薄な」というような意味合いで用いられています。
クライアント側の担当する箇所が希薄であり、ほとんどのタスクをサーバ側に任せているというわけです。
ただ単純に、クライアント側は何もしませんよ〜ってことですね。
- 分散処理:
シンクライアントシステムでは、クライアント側で処理が行われるため、負荷が分散されます。
- ネットワーク依存:
クライアントとサーバーはネットワークで接続されており、通信の遅延が影響します。
- セキュリティ:
クライアント側でのデータ処理が行われるため、セキュリティ対策が重要です。
- リソース効率:
クライアント側のリソース(CPU、メモリ)を有効活用できます。
シンクライアントシステムの具体例
シンクライアントシステムの具体的な事例は以下の通りです。あくまでも参考までに!
- 教育機関の利用:
シンクライアントシステムは教育機関で広く利用されています。学生や教職員は、軽量なクライアントデバイスを使用して、中央のサーバーからアプリケーションや教育コンテンツを取得し、共有します。これにより、管理が簡素化され、セキュリティが向上します。
- ビジネス環境:
企業や組織では、シンクライアントシステムがリモートワークや遠隔地の支店との連携に活用されます。従業員はクライアントデバイスを使用し、中央のサーバーから業務アプリケーションにアクセスします。これにより、セキュリティが向上し、リモートでの作業が効率的に行えます。
- 美術館の事例:
国立新美術館などの文化機関では、シンクライアントシステムがアートギャラリーや展示スペースでの情報提供に使用されています。訪問者はシンクライアントデバイスを通じて展示物に関する情報を取得し、インタラクティブな体験を楽しむことができます。
- 汎用的な利用:
シンクライアントシステムは、さまざまな環境で利用されており、特にリソースの効率的な使用とセキュリティの確保が求められる場面で活躍しています。
シンクライアントシステムは、さまざまな分野で効果的に利用され、リソースの最適化とセキュリティの強化に貢献しています。
3層クライアントサーバシステム
そもそもクライアントサーバシステムって??
さて、ここから3層クライアントサーバシステムについてまとめていくわけですが、そもそもクライアントサーバシステムが何なのか分からないと、理解しにくいですよね。
クライアントサーバシステムとは、クライアント(サービスを利用する側のコンピュータ)とサーバ(サービスを提供する側のコンピュータ)が相互にやり取りをしながら動作するシステムです。
従来のクライアントサーバシステムは2層クライアントサーバシステムと呼ばれ、役割が2層に分割されています。
ひとまずは、
クライアントサーバシステム = 2層クライアントサーバシステム
と考えていいでしょう。
さて、2層クライアントサーバシステムは以下のような階層で特徴づけられます。
図の通り、「プレゼンテーション層」と「アプリケーション層」が2つ合わせて1層となって、クライアント側に存在し、「データ層」はサーバ側に存在します。
ところで、それぞれの階層が担う役割は以下の通りです。
★プレゼンテーション層
プレゼンテーション層は、ユーザーとの対話を担当する部分で、通常、ユーザーインターフェース(UI)やユーザー体験を制御します。
- ユーザーインターフェース(UI):
ユーザーがアプリケーションと対話するためのグラフィカルな要素やコントロールを提供します。これには、ウェブページの表示、ボタン、フォームなどが含まれます。
- ユーザー入力の受け入れ:
ユーザーからの入力を受け取り、アプリケーションに送信します。例えば、ユーザーがボタンをクリックしたり、テキストを入力したりする操作です。
★アプリケーション層
アプリケーション層は、ビジネスロジックやアプリケーションの中核部分を管理します。もう少し噛み砕くと、データの処理を担当する箇所ですね。
- ビジネスロジック:
アプリケーションの主要な機能や処理を実行します。例えば、オンラインショッピングアプリケーションでの注文処理や支払い処理などが含まれます。
- データ処理:
データの操作や変換を行い、データベースとの連携を担当します。データの取得、更新、保存などが含まれます。
★データ層
データ層は、アプリケーションで使用されるデータを管理し、永続化します。
- データベース管理:
データの保存と取得を行うデータベースシステムとのやり取りを管理します。データベースには、顧客情報、製品情報、注文履歴などが格納されます。
- データの永続化:
アプリケーションが終了してもデータを保持し、次回のアクセス時に利用できるようにします。データのセキュリティと効率的な管理が重要です。
すなわち、2層クライアントサーバシステムは、クライアント側でユーザーインターフェースとロジック等の処理を担い、サーバ側でデータ管理を担っているわけです。
いくつか問題点もピックアップしておきます。
例えば、何かしらの処理に変更をかける場合、アプリケーション層がクライアント側にあるため、全てのクライアントに修正をかける必要があります。
他にも、処理に必要なデータをサーバ側に流す必要があるため、その分データが大きくなり、ネットワーク上を圧迫する原因になります。
以上が2層クライアントサーバシステムの特徴になります。
では、今回の本題である3層クライアントサーバシステムはどのような特徴があるのでしょう。
3層クライアントサーバシステムの特徴
3層クライアントサーバシステムとは、2層クライアントサーバシステムのクライアント側、「プレゼンテーション層」と「アプリケーション層」を分割し、「アプリケーション層」をサーバ側に置いた状態での動作形態をさします。
念のためもう一度、それぞれの層が何を表しているのか記載しておきますね。重要なポイントだけでもおさえておきましょう。
★プレゼンテーション層
プレゼンテーション層は、ユーザーとの対話を担当する部分で、通常、ユーザーインターフェース(UI)やユーザー体験を制御します。
- ユーザーインターフェース(UI):
ユーザーがアプリケーションと対話するためのグラフィカルな要素やコントロールを提供します。これには、ウェブページの表示、ボタン、フォームなどが含まれます。
- ユーザー入力の受け入れ:
ユーザーからの入力を受け取り、アプリケーションに送信します。例えば、ユーザーがボタンをクリックしたり、テキストを入力したりする操作です。
★アプリケーション層
アプリケーション層は、ビジネスロジックやアプリケーションの中核部分を管理します。もう少し噛み砕くと、データの処理を担当する箇所ですね。
- ビジネスロジック:
アプリケーションの主要な機能や処理を実行します。例えば、オンラインショッピングアプリケーションでの注文処理や支払い処理などが含まれます。
- データ処理:
データの操作や変換を行い、データベースとの連携を担当します。データの取得、更新、保存などが含まれます。
★データ層
データ層は、アプリケーションで使用されるデータを管理し、永続化します。
- データベース管理:
データの保存と取得を行うデータベースシステムとのやり取りを管理します。データベースには、顧客情報、製品情報、注文履歴などが格納されます。
- データの永続化:
アプリケーションが終了してもデータを保持し、次回のアクセス時に利用できるようにします。データのセキュリティと効率的な管理が重要です。
クライアント側にあるのは「プレゼンテーション層」のみであるため、入出力の役割だけ担っていればOKです。
これがシンクライアントですね。
サーバ側には「アプリケーション層」と「データ層」がそれぞれあります。
ロジックに変更があった場合でも、サーバ側のアプリケーション層をいじるだけで済むので、クライアント側をいじる必要はいっさいありません。
また、ネットワーク上を流れるデータは入出力の結果のみなので、データがネットワーク上を圧迫することも減るわけです。
最後に・・・
さて、今回はシンクライアントシステム、そして3層クライアントサーバシステムについてまとめました。
シンクライアントはそこまで複雑ではないですね。
★シンクライアント
クライアント側はほとんどタスクを担わず、サーバ側に多くを任せている
3層クライアントサーバシステムも、シンクライアントがイメージできていれば難しくないと思います。
★3層クライアントサーバシステム
- プレゼンテーション層
- アプリケーション層
- データ層
以上がシンクライアントシステムと3層クライアントサーバシステムのまとめになります。
しっかり対策をして、皆さんも試験合格を目指しましょう!
前回まとめた記事も読んでもらえると嬉しいです!
基本情報以外の勉強記事も是非!
オススメ参考書 & Udemy講座
過去問編
兎にも角にも過去問を解かないことには始まりません。解いて解いて解きまくりましょう!
特に以下の参考書は問題数が多いのでオススメです。
この1冊だけ買って、とりあえず1周すれば合格がかなり近くなると思います!
科目A+B両方合わせて4セット収録されてるとかヤバすぎます・・・
知識網羅編
以下は知識網羅編として、講義系の参考書、動画をピックアップしています。
1からしっかりと学習し、知識を身に着けたい方はとてもオススメです。
過去問を解きまくり、不明点を参考書で補う。これが最高の勉強サイクルです~
私が勉強する際に使用していたオススメ参考書は以下です。
上記シリーズの最新版は以下です。(内容はそこまで変わらないはずですが・・・)
私がぜひオススメしたい、Udemyの講座もいくつかピックアップしておきます。
誰かに解説してもらった方が分かりやすい場合もありますからね~
画像でもボタンでも、どちらを押下しても講座へ飛べるようにしてありますので是非!
コメント