2012-02-14 11 views
0

私は新しいプロジェクトのためにいくつかのビジネスオブジェクトを構築していますが、データアクセスコードをアプリケーションの一部として持つか、サービスの背後に置くのが最善かどうかは疑問です。私はジェフアトウッドが何度も何度もWebサービスを使用するというアイデアを賞賛しているのを見ました...これはWebアプリケーション用ではありませんが、WCFを使用して同じことを達成できると思います。WCFと直接SQLアクセスのパフォーマンス

このような意思決定を行う際には、それぞれの賛否両論をする際にいくつかの領域があり、大部分は私たちが製品に関連するトレードオフを処理していると感じています。パフォーマンスの分野を除きます。

たとえば、オブジェクトをキャッシュするコードがあります。オブジェクトが個々のマシンにキャッシュされるため、直接SQLアクセスを実行すると効果的ですが、欠点はそれぞれデータベースに問い合せなければならないためです。一方、サービスはデータベースに一度照会してからオブジェクトを配布するだけですが、サービスがこれらのオブジェクトを配布するためにクライアントがデータベースにアクセスするよりも速く/遅くなります。

遅い場合は、サービスから取得したオブジェクトをキャッシュするなど、クライアントサイドにコードを追加する必要があります。 dbにかかる負荷は、各クライアントが直接アクセスする際に悪くないので、追加の努力をする価値があるかどうかはわかりません。しかし、超高速であれば、分散オブジェクトを持つことに関連する問題をより簡単に管理することができます。

ここでは一般的ではないと思いますが、必要に応じてこの質問を改善することができますが、これは私が尋ねようとしていることをほとんど伝えていると思います。

答えて

関連する問題