コンピュータシステム - 4.システム構成要素 - 1.システムの構成 - 4.クライアントサーバシステム

Last Update : January 02 2021 16:00:20

     

a. 2 層クライアントサーバシステム

クライアントでユーザインタフェイスと加工処理(SQLの発行等)を行い、サーバではデータベースのアクセスのみを行うシステム。
サービスを要求するクライアントと、依頼された処理を提供するサーバーとの組み合わせ。

  • システムの柔軟性、拡張性が高く、新技術の取り組みも比較的取り入れやすい。
  • 情報システム全体のコストを小さくし、かつ良好なコスト-性能比を実現できる。
  • オープン化が進んでいるため、メーカやベンダに制約される度合いが少なく、選択の自由度が高い。
  • アプリケーションの開発期間や保守性が向上するとともに、ソフトウェア資源の再利用がしやすくなり、開発期間も短縮される。
  • サーバーの負荷を考慮する必要がある。
  • サーバーダウン時の影響が大きい
  • 通信遅延や通信コストの増大傾向がある

b. 3 層クライアントサーバシステム

システムを「ユーザインタフェイス」「データの加工処理(SQLの発行)」「データベースのアクセス」に分けて、それぞれをクライアント、アプリケーションサーバ、データベース管理システム(DBMS)で実行させるシステム。この場合、クライアントにブラウザを使用する場合が多い。

  • データベースアクセス層(サーバ側)・・・データを管理する。データベースアクセス処理
  • ファンクション層(サーバ側)・・・データの加工。
  • プレゼンテーション層(クライアント側)・・・ユーザからの入力、検索結果の出力

● サーバの種類

  • データベースサーバ
    データベースとデータベース管理システム(DBMS)を保有し、クライアントから検索や更新などの要求を受けたときに処理を行い、結果をアプリケーションに返すサーバ
  • アプリケーションサーバ
    プログラムの実行環境やデータベースへの接続機能、複数の処理を連結するトランザクション管理機能などを持ち、業務の処理の流れを制御するビジネスロジックを実装しているサーバである。
    クライアントにWebブラウザを用い、HTTPで通信する「Webアプリケーションサーバ」が主流で、単にアプリケーションサーバと言ったら普通はWebアプリケーションサーバである。
  • ファイルサーバ
    自身の管理している記憶装置をネットワーク上の他のコンピュータと共有し、外部から利用できるようにするコンピュータ。ファイルサーバ上にあるファイルは(許可されていれば)誰でも他のコンピュータから読みこんだり書きこんだりできるため、データの一括管理が可能になる。
  • プリントサーバ
    自身に接続されたプリンタを、ネットワーク上の他のコンピュータと共有し、外部から利用できるようにするコンピュータ。他のコンピュータからの印刷要求を受け付け、自分の管理するプリンタを使って順次印刷していく。印刷を行ないたいコンピュータは、プリントサーバに印刷データを送信した時点で印刷作業から解放され、後はプリントサーバがスプール(一時保管)したデータに従って処理を行なう。

c. ストアドプロシージャ

ストアドプロシージャは、データベースに対する一連の処理を一つのプログラムにまとめ (PROCEDURE)、データベース管理システム (DBMS) に保存 (STORE) したもの。複雑な SQL 文の呼び出しを、論理的に一つの処理単位にまとめて、簡単にその名前で呼び出せるようになっている。一つのプロシージャには、複数の SQL 文が含まれていたり、繰り返しや条件分岐などの制御構造をもつこともある。また、引数をとって処理をしたり、処理結果を返すこともできる。
ストアドプロシージャを利用することにより、ユーザは必要に応じてその名前と引数を指定して呼び出すだけでよく、データベースに対する複雑な処理は RDBMS に任せてしまうことができる。つまり、ストアドプロシージャを利用することにより、次のようなメリットがあるといえる。

  1. RDBMS に一つずつ SQL 文を発行する必要がなくなる
  2. ネットワーク上のトラフィックを削減できる
  3. あらかじめ処理内容が RDBMS に登録され、構文解析や機械語への変換が済んでいるため、処理時間が軽減される


d. RPC ( Remote Procedure Call :遠隔手続呼出し)

遠隔地にある端末の手続きを呼び出すための手段。自身の端末にない情報を取得することができる。 自身のプログラムから別のアドレス空間(通常、共有ネットワーク上の別のコンピュータ上)にあるサブルーチンや手続きを実行することを可能にする技術。その際に遠隔相互作用の詳細を明示的にコーディングする必要がない。つまり、プログラマはローカルなサブルーチン呼び出しと基本的に同じコードをリモート呼び出しについて行う。RPCを行うソフトウェアがオブジェクト指向プログラミングに基づく場合、RPC のことを Remote Invocation あるいは Remote Method Invocation と呼ぶこともある(Java RMIなど)。


e. シンクライアント(Thin client)

ユーザーが使うクライアント端末に必要最小限の処理をさせ、ほとんどの処理をサーバ側に集中させたシステムアーキテクチャ全般のことを言う(広義のシンクライアント)。または、そのようなシステムアーキテクチャで使われるように機能を絞り込んだ専用のクライアント端末のことを言う場合もある(狭義のシンクライアント)。

シンクライアントの方式には大きく分けて2つの種類がある。ネットワークブート方式と画面転送方式の2つ。ネットワークブート方式はサーバーに置いたOSイメージから起動する。この方式ではアプリケーションはローカルで動作する。もう1つの画面転送方式には、サーバベース方式、ブレードPC方式、仮想PC方式の3つがあって、それぞれ利点があるが、共通しているのは全ての処理をサーバー側で行いその画面だけをクライアント側に転送しているということ。

シンクライアントのメリットは、クライアント側にデータを置けないので情報漏えいの対策になるだけでなく、アプリケーションの管理が一元的に行えたり、データの一元管理が可能になったりする。また、ソフトやハードも共通化しているため、故障や機器のメンテナンスも楽になる。

シンクライアントのデメリットは実際に使って見て初めて分かるという面がある。端末にデータを持たずネットワークでサーバーに接続して処理を行うということは、ネットワークに接続出来ない環境では全く役に立たない事を意味する。外回りの仕事の方は実感があると思いますが、いくらモバイル通信環境が整ってきたとは言え、どんな場所でもネットに接続できるわけではありません。特に客先など奥まったところや地下など、意外と電波が通じない場合があります。せっかくPCでデモを見せようと思っても、シンクライアント端末がネットワークにつながらなければ起動もしない状態ではマイナス点となり、大きなデメリットと言えるでしょう。 また、メール環境もシンクライアントに適したシステムに変更することが必要。結局のところ、全体での最適化を図らなければ、業務の効率が落ち、使われないシステムとなってしまいますから、デメリットの面もしっかり検討して導入することが重要。


  [ 例題 ] 
  1. 平成28年度春期 問45  漏えい対策
  2. 平成28年度秋期 問13  3層クライアントサーバシステム
  3. 平成27年度春期 問27  ストアドプロシージャ
  4. 平成27年度秋期 問13  3層クライアントサーバシステム
  5. 平成24年度秋期 問13  3層クライアントサーバシステム
  6. 平成23年度秋期 問16  シンクライアントシステム
  7. 平成22年度春期 問14  3層クライアントサーバシステム
  8. 平成21年度春期 問31  クライアントサーバシステム
  9. 平成19年度春期 問31  クライアントサーバ
  10. 平成19年度春期 問38  Web サイト


     

www.it-shikaku.jp