応用情報技術者 2014年 秋期 午前2 問11
問題文
3層クライアントサーバシステムの説明のうち、適切なものはどれか。
選択肢
ア:システムを機能的に、Webサーバ、ファイアウォール、クライアントの3階層に分けたシステムである。
イ:システムを機能的に、アプリケーション、通信、データベースの3階層に分けたシステムである。
ウ:システムを物理的に、メインフレーム、サーバ、クライアントの3階層に分けたシステムである。
エ:システムを論理的に、プレゼンテーション、ファンクション、データベースの3階層に分けたシステムである。(正解)
🔒 解説は解答すると表示されます
3層クライアントサーバ【午前2解説】
正解の理由
3層アーキテクチャは、ユーザインタフェース(プレゼンテーション層)、業務ロジック(ファンクション/アプリケーション層)、データ管理(データベース層)という機能的・論理的な分離を指します。選択肢のうちこの定義に合致するのは エ です。プレゼンテーション層が入力・表示を担当し、ファンクション層が処理・ビジネスルールを実行、データベース層が永続化を担当することで、役割の分離・再利用性・保守性が向上します。
解法ステップ
- 「3層」とあるとき、文脈が「機能(論理)」か「物理」かを確認する。試験用語としての3層は通常「論理的な層分け」を指す。
- 各選択肢の列挙されている要素が「プレゼンテーション/ロジック/データ」のいずれかに対応するか確認する。
- ネットワーク機器やファイアウォール、物理的な機器分類(メインフレーム等)は論理的な3層定義と合わないため除外する。
- 最終的に「プレゼンテーション・ファンクション・データベース」の組合せを含む選択肢を選ぶ。
選択肢別の誤答解説
- ア: Webサーバ、ファイアウォール、クライアントの3階層という記述は、機能的な層分けになっていません。ファイアウォールはセキュリティ装置であり、層(プレゼンテーション/ビジネス/データ)としての役割ではないため誤りです。
- イ: アプリケーション、通信、データベースは一見近いですが「通信」はネットワーク機能を指すことが多く、3層アーキテクチャの中核である「プレゼンテーション(表示)」と「業務ロジック(ファンクション)」の分離が表現されていません。よって正確な3層定義とは異なります。
- ウ: メインフレーム、サーバ、クライアントの分類は物理的な機器の構成を表しています。3層「クライアントサーバ」設計として語られることはありますが、標準的な3層アーキテクチャ(論理的層分離)を問う本問の趣旨には合致しません。
- エ: プレゼンテーション、ファンクション、データベースという論理的分離は、まさに3層クライアントサーバ(3-tier)の標準的定義であり正解です。
よくある誤解
- 3層=OSI参照モデルのLayer3(ネットワーク層)だと混同する。アプリケーションの3層は論理的役割分離であり、OSIの層とは別概念です。
- ファイアウォールやロードバランサを「層」と見なしてしまう。これらはインフラや機器の役割であり、プレゼンテーション/ビジネス/データの論理層とは区別する必要があります。
- 物理的にサーバを3台用意すれば自動的に3層になると考える。物理分散は可能ですが、重要なのは機能の分離(責務の分割)です。
補足コラム
- 3層アーキテクチャの利点:モジュール化による保守性向上、スケールアウトの容易さ(例:プレゼンテーション層を複数台に水平スケール)、テストの分離(ビジネスロジック単体の検証)など。
- 実装例:クライアント(ブラウザ)→アプリケーションサーバ(業務処理、API)→DBサーバ(RDBMS)。近年はファンクション層をマイクロサービス群で構成することも多いです。
- 2層(クライアント-DB)との違い:業務ロジックがクライアント側またはDB側に混在すると保守性やセキュリティが低下する場合があります。3層化でこれを回避します。
FAQ
Q1: プレゼンテーション層とは何ですか?
A1: ユーザとの入出力を扱う層です。UIや画面表示、ユーザ操作の受け渡しを行い、業務ロジックに要求を渡します。
A1: ユーザとの入出力を扱う層です。UIや画面表示、ユーザ操作の受け渡しを行い、業務ロジックに要求を渡します。
Q2: 3層とMVCは同じですか?
A2: 厳密には異なります。MVCは主にUI設計のパターン(Model, View, Controller)で、アプリケーション内部の構造を示すものです。3層はシステム全体を「表示/業務処理/データ保存」の3つの論理層に分けるアーキテクチャで、MVCはプレゼンテーション層やファンクション層の内部設計に使えます。
A2: 厳密には異なります。MVCは主にUI設計のパターン(Model, View, Controller)で、アプリケーション内部の構造を示すものです。3層はシステム全体を「表示/業務処理/データ保存」の3つの論理層に分けるアーキテクチャで、MVCはプレゼンテーション層やファンクション層の内部設計に使えます。
Q3: 「3層ネットワーク」とは同じ意味ですか?
A3: いいえ。用語「3層」は文脈依存です。アプリケーション設計における3層アーキテクチャは論理的な「プレゼンテーション/ファンクション/データベース」を指します。一方、ネットワーク関連で「3層」と言う場合は別概念(例:OSI参照モデルの第3層であるネットワーク層や、ネットワーク設計の「コア/ディストリビューション/アクセス」3層)を指すことがあるため混同しないようにしてください。
A3: いいえ。用語「3層」は文脈依存です。アプリケーション設計における3層アーキテクチャは論理的な「プレゼンテーション/ファンクション/データベース」を指します。一方、ネットワーク関連で「3層」と言う場合は別概念(例:OSI参照モデルの第3層であるネットワーク層や、ネットワーク設計の「コア/ディストリビューション/アクセス」3層)を指すことがあるため混同しないようにしてください。
関連キーワード: 3層アーキテクチャ、プレゼンテーション層、ファンクション層、データベース層、論理分離、クライアントサーバ、階層化設計、MVC、物理層との違い

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

