システム構成関連


 システム設計の話になるのでしょうか?Web系のアプリケーションの開発ではよく聞く単語です。 アプリケーション設計の時に、サーバーとクライアントに、どの役割をもたせるかなどで設計すると思います。
 ネットワーク関連のファイアウォールとかは抜きで考えた方がいいと思います。

◆ 3層クライアントサーバー

 左の図の様に、役割を3つに分けて構成します。

 プレゼンテーション層 … クライアントのインターフェイス(入出力関係)のみを扱います。

 ファンクション層 … クライアントから受け取ったデータを加工してデータベースへ問い合わせ(または更新)など。 また逆にデータベースからの情報をクライアントに分かるように加工するという働きをします。 (いわゆる業務ロジックといわれるもの)

 データベース層 … データベースサーバーの事をいいます。

 過去問題で、3層のファンクション層の意味を問う問題がありましたが、注意しないといけないのは、 ファンクション層はデータの加工だけであって、入出力はしません。(2層の場合は違うので気をつけましょう)  3層に分けるメリットは以下の様にあります。
 ・各層依存度が低いため、開発作業が層毎に平行して行える。
 ・業務ロジック(ファンクション層)に変更があってもクライアントの修正は少なくて済む。
 ・OSが異なっていても対応できる
 ・負荷分散できる。障害の発見などが早い


◆ 2層クライアントサーバー

 右の図の様に2層で構成します。
 簡単に言えば、3層構成で言うプレゼンテーション層とファンクション層が1つにまとまった構成です。 (図ではプレゼンテーション層と記述していますが)
 過去問題としてありましたが、注意点としてクライアントが直接データベースにアクセスするという点です。




TOPページに戻る