クライアントでユーザインタフェイスと加工処理(SQLの発行等)を行い、サーバではデータベースのアクセスのみを行うシステム。
サービスを要求するクライアントと、依頼された処理を提供するサーバーとの組み合わせ。
システムを「ユーザインタフェイス」「データの加工処理(SQLの発行)」「データベースのアクセス」に分けて、それぞれをクライアント、アプリケーションサーバ、データベース管理システム(DBMS)で実行させるシステム。この場合、クライアントにブラウザを使用する場合が多い。
● サーバの種類
ストアドプロシージャは、データベースに対する一連の処理を一つのプログラムにまとめ (PROCEDURE)、データベース管理システム (DBMS) に保存 (STORE) したもの。複雑な SQL 文の呼び出しを、論理的に一つの処理単位にまとめて、簡単にその名前で呼び出せるようになっている。一つのプロシージャには、複数の SQL 文が含まれていたり、繰り返しや条件分岐などの制御構造をもつこともある。また、引数をとって処理をしたり、処理結果を返すこともできる。
ストアドプロシージャを利用することにより、ユーザは必要に応じてその名前と引数を指定して呼び出すだけでよく、データベースに対する複雑な処理は RDBMS に任せてしまうことができる。つまり、ストアドプロシージャを利用することにより、次のようなメリットがあるといえる。
遠隔地にある端末の手続きを呼び出すための手段。自身の端末にない情報を取得することができる。 自身のプログラムから別のアドレス空間(通常、共有ネットワーク上の別のコンピュータ上)にあるサブルーチンや手続きを実行することを可能にする技術。その際に遠隔相互作用の詳細を明示的にコーディングする必要がない。つまり、プログラマはローカルなサブルーチン呼び出しと基本的に同じコードをリモート呼び出しについて行う。RPCを行うソフトウェアがオブジェクト指向プログラミングに基づく場合、RPC のことを Remote Invocation あるいは Remote Method Invocation と呼ぶこともある(Java RMIなど)。
ユーザーが使うクライアント端末に必要最小限の処理をさせ、ほとんどの処理をサーバ側に集中させたシステムアーキテクチャ全般のことを言う(広義のシンクライアント)。または、そのようなシステムアーキテクチャで使われるように機能を絞り込んだ専用のクライアント端末のことを言う場合もある(狭義のシンクライアント)。
シンクライアントの方式には大きく分けて2つの種類がある。ネットワークブート方式と画面転送方式の2つ。ネットワークブート方式はサーバーに置いたOSイメージから起動する。この方式ではアプリケーションはローカルで動作する。もう1つの画面転送方式には、サーバベース方式、ブレードPC方式、仮想PC方式の3つがあって、それぞれ利点があるが、共通しているのは全ての処理をサーバー側で行いその画面だけをクライアント側に転送しているということ。
シンクライアントのメリットは、クライアント側にデータを置けないので情報漏えいの対策になるだけでなく、アプリケーションの管理が一元的に行えたり、データの一元管理が可能になったりする。また、ソフトやハードも共通化しているため、故障や機器のメンテナンスも楽になる。
シンクライアントのデメリットは実際に使って見て初めて分かるという面がある。端末にデータを持たずネットワークでサーバーに接続して処理を行うということは、ネットワークに接続出来ない環境では全く役に立たない事を意味する。外回りの仕事の方は実感があると思いますが、いくらモバイル通信環境が整ってきたとは言え、どんな場所でもネットに接続できるわけではありません。特に客先など奥まったところや地下など、意外と電波が通じない場合があります。せっかくPCでデモを見せようと思っても、シンクライアント端末がネットワークにつながらなければ起動もしない状態ではマイナス点となり、大きなデメリットと言えるでしょう。 また、メール環境もシンクライアントに適したシステムに変更することが必要。結局のところ、全体での最適化を図らなければ、業務の効率が落ち、使われないシステムとなってしまいますから、デメリットの面もしっかり検討して導入することが重要。
www.it-shikaku.jp