【SCAG】スマートクライアントアーキテクチャ設計ガイド
[patterns & practices] Smart Client Architecture and Design Guide
http://msdn2.microsoft.com/en-us/library/ms998506.aspxの英語原文を管理者個人が日本語に訳し、見解や補足を加えたものです(追記は緑字)。訳の間違いや不適切な表現などが多いと思いますが、ご了承ください。訂正のご連絡など頂ければ幸いです。
対象読者
本ガイドはMicrosoft .NETフレームワーク上でWindows Formsを利用してスマートクライアントアプリケーションを開発するソフトウエアアーキテクトと開発者を対象としている。
What You Must Know:前提知識
本ガイドを最も効果的に利用するためには、.NET開発手法や技術を使った経験があると良い。一般的に知れ渡っているアプリケーションアーキテクチャの問題に精通していると良い。また、もし.NET Webアプリケーションを実装した経験があるならば、あなた自身のアプリケーションアーキテクチャとデプロイのパターンを知っておくと良い。
What Is in This Guide:目次
本ガイドはMircosoft .NETプログラムマネージャのMark Boulterによる前書きと以下の章で構成されている。各章はスマートクライアントに関する特定の問題を扱っている。すべて又は一部分において、あなたのニーズに照らし合わせて読むことができるように作られている。
本章はスマートクライアントアプリケーションの概要を提供する。また、スマートクライアントアプリケーションの基本的な特性と利点も説明している。アーキテクチャー上の問題の概要について論じ、あなたのアプリケーションにとってスマートクライアントアーキテクチャが適切かどうか決定するのに役立つガイダンスを提供している。
本章では、データのキャッシュ、データの同期、データセットの利用、Windowsフォームのデータバインディングを含むクライアント上のデータ処理に関する様々な考察を分析している。
本章は、アプリケーションの接続やネットワークリソースの利用方法、そしてクライアントコンピュータの処理能力の活用するための数多くの方法を説明している。また、それぞれの長所と短所についても論じている。
Chapter 4: 不定期に接続されるスマートクライアント
本章は不定期にネットワークに接続するスマートクライアントアプリケーションの設計・構築の際に直面するであろう問題について論じている。本章は接続のコンセプトを説明し、オフライン機能の実装に対する2つの主なアプローチについて解説し、オフライン時にあなたのアプリケーションを利用可能にするために考慮しなければならないことについて論じている。
本章はスマートクライアントのセキュリティ問題についてカバーしている。スマートクライアントはロジックやデータをクライアントコンピュータに配布する。それゆえ、データやロジックがよりサーバーに限定されたシンクライアントアプリケーションに関するセキュリティ上の問題とは異なる。本章はスマートクライアントアプリケーションのデータセキュリティ、認証、権限、コードアクセスセキュリティの役割について論じる。
本章はスマートクライアントアプリケーションのマルチスレッドの利用を取り巻く問題について論じる。スマートクライアントアプリケーションのレスポンスを最大化するために、どのように、いつマルチスレッドを利用するかについて慎重に検討する必要がある。
スレッドはアプリケーションのユーザビリティとパフォーマンスを大幅に向上させることができる。しかし、スレッドがどのようにユーザーインターフェースと情報をやりとりするのかを決定する際には、非常に注意深く検討する必要がある。
Chapter 7: スマートクライアントのデプロイとアップデート
本章はスマートクライアントで.NETフレームワークとWindowsプラットフォームのデプロイ機能を利用する最も良い方法について解説する。そして、利用可能なデプロイメントとアップデートメカニズムの中からどれを選択するかに関するガイダンスを提供する。
Chapter 8: スマートクライアントアプリケーションパフォーマンス
本章はスマートクライアントアプリケーションのパフォーマンスを最適化する方法について論じる。設計時に講じる対策について検証し、どのようにスマートクライアントアプリケーションをチューニングするかを考察し、パフォーマンスに関する問題を突き止める。