経営情報システム
最優先システム構成(クライアントサーバシステム、Webシステム、仮想化、クラウド等)
クライアントサーバ、Web三層、仮想化、クラウド構成を最厚で扱う。
システム構成
この章で覚えておきたいこと
- クライアントサーバシステムは、利用者に近い側と処理やデータを持つ側で役割を分ける考え方です。
- 3層構成は、画面を扱う層、業務処理を行う層、データを管理する層に分けて考えます。3台の機器が必須という意味ではありません。
- Webシステムでは、HTMLはブラウザが表示し、JavaScriptは主にブラウザ側で動き、PHPは主にサーバ側で動きます。
- URL、ローカルパス、ホスト名は指している対象が違います。問題文では、どこにある資源を、どの経路で参照しているのかを分解して考えます。
- 仮想化は、物理資源を論理的に分けて使う技術です。クラウドそのものではありませんが、クラウドを支える重要な技術です。
- シンクライアントとVDIは、端末側に処理やデータを持たせにくくし、管理や情報漏えい対策をしやすくする構成です。
- クラウドの配備モデルは、誰のための基盤かと専用か共有かで見分けます。
基本知識
クライアントサーバシステムの考え方
クライアントサーバシステムは、利用者が操作するクライアントと、データやサービスを提供するサーバに役割を分ける構成です。クライアントは画面表示や入力受付を担い、サーバは業務処理やデータ管理を担うのが基本です。
この構成の利点は、役割分担を明確にしやすいことです。端末側の使いやすさを高めつつ、データや重要処理をサーバ側で集中管理しやすくなります。一方で、ネットワーク障害の影響を受けやすく、クライアント側の設定や更新をどう管理するかも課題になります。
2層構成と3層構成
2層構成では、クライアントとサーバの2つでシステムを考えます。クライアントが画面表示だけでなく一部の業務処理も担当し、サーバがデータベースを持つ形が典型です。
3層構成では、役割を次のように分けます。
- プレゼンテーション層: 画面表示、入力受付、ブラウザや操作画面を担当します。
- ファンクション層: 業務ルールの判定、計算、検索条件の組み立てなどを担当します。
- データ層: データの保存、検索、更新、整合性管理を担当します。
試験では、3層構成を「必ず3台のサーバで動かす構成」と誤解させる選択肢がよく出ます。3層とは論理的な役割分担であり、物理的な台数とは別です。1台に複数層を載せることもあれば、負荷分散や保守性向上のために複数台へ分けることもあります。
Webシステムと三層の役割分担
Webシステムでは、利用者はブラウザからHTTPやHTTPSでアクセスします。要求を受けるのがWebサーバで、必要に応じてアプリケーションサーバへ処理を渡し、その結果をデータベースサーバとやり取りしながら返します。
役割の見分け方は次のとおりです。
- ブラウザ: 利用者に見える画面を表示し、入力を受け取ります。
- Webサーバ: リクエストを受け付け、静的なファイルを返したり、後段へ処理を渡したりします。
- アプリケーションサーバ: 業務ロジックを実行します。
- データベースサーバ: データを保存し、検索や更新に応答します。
過去問では、Webサーバとアプリケーションサーバの役割、またはアプリケーションサーバとデータベースサーバの役割を入れ替えた選択肢がよく出ます。まず「画面」「業務処理」「データ管理」のどれを担当しているかで切り分けると判断しやすくなります。
HTML、JavaScript、PHPはどこで処理されるか
この論点は頻出です。似た用語でも、どこで解釈・実行されるかが違います。
- HTML: Webページの構造を記述するもので、ブラウザが受け取って解釈し、表示します。
- JavaScript: 主にブラウザ側で実行され、画面の動き、入力チェック、非同期通信などを担います。
- PHP: 主にサーバ側で実行され、検索処理、認証、画面生成、データベース連携などを担います。
試験では、HTMLを「サーバで実行されるプログラム」と誤って説明したり、JavaScriptを常にサーバ側処理として扱ったりする選択肢が出ます。HTMLは表示内容、JavaScriptは主にクライアント側の動き、PHPは主にサーバ側の処理という基本線を崩さないことが重要です。
URL、ローカルパス、ホスト名の違い
URLは、ネットワーク上の資源の場所を表す表記です。通常は、利用する通信方式、接続先、資源の位置を含みます。
一方、ローカルパスは、今使っているコンピュータの中でファイルがどこにあるかを示す表記です。たとえば Windows の C:\... のような表記はローカルパスです。
ホスト名は、ネットワーク上の接続先コンピュータやサーバを識別する名前です。URLの一部として現れることはありますが、URLそのものではありません。
問題文を読むときは、次の順で分解すると混同しにくくなります。
- 参照先は端末内のファイルか、ネットワーク先の資源か。
- ネットワーク先なら、接続先を表しているのはホスト名か。
- 資源全体の所在地を表しているのがURLか。
仮想化の基本
仮想化は、物理的なサーバ、CPU、メモリ、記憶装置などの資源を、論理的に分割または統合して使いやすくする技術です。代表例はサーバ仮想化で、1台の物理サーバ上に複数の仮想マシンを作り、それぞれ独立したOSやアプリケーションを動かします。
仮想化の利点は次のとおりです。
- 物理サーバの利用効率を高めやすいです。
- 新しい環境を短時間で用意しやすいです。
- 障害対応や移行を柔軟にしやすいです。
一方で、仮想化基盤に障害が起きると、その上の複数システムへ影響が広がる可能性があります。そのため、可用性設計やバックアップ設計も重要です。
シンクライアントとVDI
シンクライアントは、端末側にアプリケーションやデータをなるべく持たせず、サーバ側で管理や処理を行う考え方です。端末を軽くでき、情報漏えい対策や端末管理の簡素化に向きます。
VDIは、Virtual Desktop Infrastructure の略で、利用者ごとのデスクトップ環境をサーバ側の仮想マシンとして用意し、ネットワーク経由で利用させる仕組みです。各利用者は自分専用のデスクトップを遠隔利用している感覚で使えます。
両者の共通点は、端末側に重要なデータや処理を置きにくいことです。違いとしては、VDIは特に仮想デスクトップを提供する方式である点が重要です。試験では、シンクライアント、VDI、通常PCの違いを情報の所在と管理方式で比較させることがあります。
クラウドの配備モデル
クラウドは、計算資源やストレージ、アプリケーションなどをネットワーク経由で必要に応じて利用する形態です。試験ではサービスモデルよりも、まず配備モデルの違いが問われやすいです。
配備モデルは次のように整理します。
- パブリッククラウド: 広く一般の利用者に向けて提供される共有基盤です。
- プライベートクラウド: 単一組織のために専用的に使われる基盤です。
- コミュニティクラウド: 共通の要件を持つ複数組織の共同利用を想定した基盤です。
- ハイブリッドクラウド: 異なる配備モデルを組み合わせて使う形です。
ハイブリッドクラウドは、単に複数のクラウド事業者を使うことだけを意味しません。性質の異なる基盤を組み合わせることが本質です。また、仮想化はクラウドを支える技術の1つですが、仮想化とクラウドは同義ではありません。
この章のまとめ
- クライアントサーバシステムは、利用者側と処理・データ提供側で役割を分ける構成です。
- 3層構成は、プレゼンテーション層、ファンクション層、データ層の論理分割であり、物理台数とは一致しません。
- Webシステムでは、ブラウザ、Webサーバ、アプリケーションサーバ、データベースサーバの担当範囲を分けて考えます。
- HTMLはブラウザが表示し、JavaScriptは主にクライアント側、PHPは主にサーバ側で処理されます。
- URL、ローカルパス、ホスト名は別概念です。問題では、接続先と資源の場所を分けて読みます。
- 仮想化は物理資源を論理化する技術であり、シンクライアントやVDI、クラウド構成の基盤として使われます。
- シンクライアントとVDIは端末管理や情報漏えい対策に強みがありますが、ネットワークやサーバへの依存が高まります。
- クラウド配備モデルは、利用主体と専用性で見分けます。パブリック、プライベート、コミュニティ、ハイブリッドの定義を言い換えられるようにしておきます。
一次試験過去問での出方
2008年度第5問では、ローカルファイルの参照とWeb上の参照を対比させ、URL、ローカルパス、ホスト名の違いを判定させました。
2008年度第6問では、HTML、JavaScript、PHPなどがどこで処理されるかを問いました。処理場所を機械的に切り分けられるかが得点差になります。
2010年度第6問では、3層クライアントサーバシステムの役割分担が問われました。層の論理構造と物理台数を混同しないことが重要です。
2020年度第4問・第5問、2024年度第6問、2025年度第2問・第4問では、仮想化、クラウド、Web技術、配備モデルなどを横断して問う形が目立ちます。
近年は古典的なクライアントサーバの定義だけでなく、仮想化、VDI、クラウド配備モデルまで含めて「どこで何を処理し、誰が何を使う構成か」を判断させる出題が中心です。