3

WCF Data ServicesWCF RIA Servicesの間の SOA アーキテクチャを評価する必要があります。以下は私のパラメータの一部です:

  1. 複数のクライアント (HTML5/iOS/Android/Windows 8 Metro/Windows Phone 7)
  2. 切断されたオフライン操作
  3. 検証エンジン
  4. パフォーマンス
  5. ネットワークデータ圧縮
  6. クラウド環境への対応

評価のためにデータを収集するのを手伝ってくれませんか。また、SOAの実装に利用できる他の良いオプションはありますか?

私はDevForceを認識しています。

4

2 に答える 2

5

私は RIA サービスに精通しており、どこが足りないかを知っています。私はデータ サービスと DevForce についてほとんど知りませんが、DevForces が RIA サービスよりも優れていると宣伝していることは知っています。

  1. RIA は、あらゆる種類のグループ化または結合を実行できません。(興味深いことに、DevExpress ツールキットは、場合によっては、RIA サービス ソースをグループ化するためのトリックを行うことができます。)
  2. 関係は理解できますが、ブリッジ テーブルへの変換を透過的に処理する必要があるような多対多の関係は理解できません。(編集: これは Open Ria Services で計画されています)
  3. 変更の追跡は、全体としてのみ送信または拒否できるコンテキスト (作業単位) を介して機能します (とにかくすぐに使用できます)。これは通常、エンティティを転送するための多くのコンテキストと奇妙なコピー操作を伴うアプリケーションにつながります。RIAServicesContrib プロジェクトはそれを支援します。
  4. もうメンテナンスされていないようです。これは、Entity Framework 4.1 が新しい DbContext API を (最初にコード用に) リリースしたときに、MicrosoftがRIA と EF コードを最初に使用できる互換性ライブラリをリリースしたという事実に基づいています。ただし、そのライブラリには EF 4.1 のバージョン ロックがあり、Microsoft は現在、RIA Services がVisual Studio 2012 への Orwellian ノートの形式でDbContext をサポートしていないと述べているだけです。バージョン 5 まで、6 は Open Ria Services でのみサポートされている可能性が高い)
  5. 関連するエンティティの変更を (データ バインディングではなく) プログラムで監視するなどの一部のタスクは困難です。
  6. 添付されたエンティティからコンテキストを取得するなど、本当に単純であるべきいくつかのことは困難です。
  7. すべてのクエリは単一のリクエストであり、(CRUD の) 残りの CUD のみがバッチ処理されます。
  8. 通常の CUD 操作とともに呼び出すカスタム メソッドは非常に限られています。特に、コンテキスト全体をキャンセルせずにスケジュールされたものをキャンセルすることはできません。そのため、私がそれらを使用したかったほとんどの場合、それらはほとんど役に立たなくなりました。
  9. DomainDataSource を使用するかどうかを決定する必要があります。これは、多すぎたり少なすぎたりする野獣です。プログラムですべてをフェッチすることもできますが、この xaml ヘルパーを使用すると、非常に迅速に接続できるものもあります。
  10. エンティティを分離ストレージにシリアル化するための組み込みサポートはありません。
  11. サポートされているプラ​​ットフォームは Silverlight (および私が信じている Javascript) のみです。WPF はありません。(編集: これは Open Ria Services 向けに計画されています - 特に、BreezeJS を提供できるはずです)

Data Services は古い (と私は思う) ので、詳しく調べる必要はありませんでした。しかし、私は最近、DevForce の機能リストにざっと目を通しましたが、経験からは何も言えませんが、エキサイティングに聞こえると思います。

(編集:ここでColin Blair による RIA サービスと WCF の非常に知識豊富な比較を見つけました。)

アーキテクトは、自分の製品を RIA サービスと比較します (ここ) 。私は彼の論点のいくつかを取り上げましたが、すべてではありません。

全体として、RIA Services は未加工の WCF よりも明らかに優れていると言えますが、それよりも優れたものが必要であることも明らかです。それが DevForce であることを願っています。

于 2012-11-21T16:13:45.273 に答える
4

どちらも OData を介してエンティティを公開しますが、RIA サービスは特に以下を対象としています。

  • シルバーライトの消費
  • 貧乏人のサービス - 少しの労力で簡単に起動して実行できます

WCF Data Services は、はるかに強力で構成可能です。最大の違い (IMO) は、RIA サービスではエンティティごとに 1 つのホスト タイプが必要であるのに対し、WCF Data Services ではコンテンツ全体 (複数のIQueryableプロパティを持つタイプ) を自動的にホストできることです。

とはいえ、どちらの実装もかなり中途半端で (これも IMO のみ)、よく考えられていないか実装されていません。... WebGet/WebInvoke 属性でホストされる従来の WCF 操作を使用するか、WCF Web APIを使用する方がよい場合があります。

DevForce は主に Silverlight の実装を実際にターゲットにしているという理由だけで、私は行きません (私の記憶が正しければ)。そうは言っても、それらのパッケージはかなりクールで、RIA や WCF Data Services よりもはるかに機能が充実しています。

于 2011-12-06T18:36:30.950 に答える