2012-02-23 22 views
4

Entity Frameworkが緊密に結合されているため、疎結合WCFが必要な理由です。疎結合と言うと、データベースのコンテキストをインスタンス化したり、WCFのサービス参照を追加する必要はありません。開発者がサーバー、IPアドレス、サービスURLを変更する必要があるときにコンパイルする必要のないWeb設定や.iniファイルに依存しているだけです。Loosely-Coupled WCF Webサービスを使用しているASP.NET MVC

代わりに、MVC(コントローラなど)はリクエストメッセージを送信し、WCFサービスから応答データを取得します。しかし、WCFがデータを取得するデータベース(ビューマークアップのためにインテリセンスで必要とするため)をベースにしたモデルを持たなければ余裕がありません。 WCFデータをMVCモデルにバインドするリポジトリをいくつか作成します。

WCF Webサービスの意味は、新しいSOA定義のため、メッセージにオブジェクト参照が渡されないということだけです。オブジェクトの代わりにメッセージを渡す方が理にかなっています。

これはより良いアプローチですか?スケーラビリティとパフォーマンスに関して、私はEntity Framework Fansを怒らせるわけではありません。

答えて

1

基本的な型だけを使用するメッセージスキーマに関してWCF Webサービスを定義することは完全に有効なアプローチであるため、クライアントはサービスを使用するためにWCFについて何も知らなくてもかまいません。それ以外のプラットフォーム(Javaなど)との相互運用にはWCFは役に立たないでしょう。

WCFは、さまざまなトランスポートプロトコルで通信を実装するための一般的で強力なフレームワークであることを理解しています。これは、オブジェクトのプログラミングの場合と同じように、生のXMLメッセージングにも同様に効果的に使用できます。オブジェクトのシリアライゼーションとデシリアライゼーションは、オプションではなく、フレームワークの余分なものです。 Entity Frameworkは、WCFの一部ではなく、WCFで使用できる独自のORMフレームワークです(「オブジェクト参照の受け渡し」などは実際にはありません)

スケーラビリティとパフォーマンスは、データと運用契約の点でサービスの設計と完全に直交しています。あなたのサービスを定義するためのアプローチがアプリケーションに最適なものを自由に採用する必要があります。それがXMLメッセージなら、大丈夫です。だれかがあなたに別のことを伝えさせないでください。

+0

Chris、ありがとう、私が言っているのはXMLだ;) – GiantHornet

関連する問題