2011-12-06 63 views
3

我需要評估WCF數據服務WCF RIA服務之間的SOA體系結構。以下是我的一些參數:WCF數據服務與WCF RIA服務

  1. 多個客戶端(HTML5 /的iOS /安卓/ Windows 8的地鐵/ Windows Phone 7的)
  2. 斷開和離線操作
  3. 驗證引擎
  4. 性能
  5. 網絡數據壓縮
  6. 支持雲環境

任何人都可以幫助我收集一些數據用於評估。另外,還有沒有其他可用於SOA實施的好選擇。

我知道DevForce。

回答

4

雙方通過OData的暴露實體,但RIA服務是專門針對於:

  • Silverlight的消費
  • 窮人的服務 - 他們更容易得到啓動和運行毫不費力

WCF數據服務功能強大且可配置。最大的區別(IMO)是RIA服務每個實體需要一種主機類型,而WCF數據服務可以自動託管整個內容(一種具有多個IQueryable屬性的類型)。

這就是說,這兩個實現都相當不完善(僅限於IMO),並沒有真正深思熟慮或實施。 ...使用WebGet/WebInvoke屬性託管的傳統WCF操作或使用WCF Web API可能會更好。

我不會去DevForce只是因爲它主要是針對Silverlight實現(如果我沒記錯的話)。也就是說,它們的包非常酷,功能比RIA或WCF數據服務更完整。

+0

但是現在WCF RIA似乎支持多個客戶端/平臺,如本博文http://channel9.msdn.com/events/BUILD/BUILD2011/TOOL-800T中所述。因此,您認爲與RIA一起使用可能是一個很好的選擇,因爲它提供了與WCF數據服務中的自定義實現相比的快速開發。 –

+0

OData通過REST固有地支持多個客戶端/平臺...因此WCF數據服務和RIA都支持它。老實說,我發現WCF數據服務更容易處理,並且更加靈活。你會承載什麼樣的服務/實體(NHibernate?實體框架?LINQ to SQL?) – Jeff

+0

我正在考慮實體框架。在繼續進行之前,我只想100%肯定。你能否介紹一些WCF RIA的限制/缺點? –

5

我對RIA服務非常熟悉,並且知道它的缺點。我知道一些關於數據服務和DevForce,但我知道,DevForces通告比RIA服務正好在這些領域更好的地方讓我很煩,那就是:

  1. RIA做不到組通過或加入任何形式。 (有趣的是,在某些情況下,DevExpress工具包可以 在RIA服務源上做一些欺騙手段。)
  2. 它確實理解關係,但不是多對多的類型,它必須處理翻譯 透明地連接到橋臺。 (編輯:這是計劃爲開放RIA服務)
  3. 更改跟蹤工作通過上下文(工作單元)只能提交或 作爲一個整體(開箱即用)。這通常會導致一個應用程序與 許多上下文和奇怪的複製操作來傳輸實體。項目幫助那個。
  4. 它似乎不再被維護。我基於這樣一個事實,即當Entity Framework 4.1發佈其新的DbContext API(代碼優先)時,Microsoft發佈了一個compatibility library,您可以使用它RIA and EF code first。雖然該庫在EF 4.1上有一個版本鎖定,而且微軟現在只是以Orwellian note的形式陳述RIA Services doesn't support DbContext到Visual Studio 2012.(編輯:DbContext現在再次被支持 - EF目前支持到版本5,其中6很可能僅在Open Ria服務中受支持)
  5. 某些任務(例如以編程方式觀察相關實體的更改(而不是通過數據綁定的 ))很難。
  6. 有些事情應該非常簡單,比如從附屬的 實體獲取上下文很困難。
  7. 所有查詢都是單個請求,只剩下CUD(的CRUD)的批處理。
  8. 與普通CUD操作一起調用的自定義方法非常有限。特別是,在 中,取消不取消整個上下文的計劃可能不是取消 。有 使它們在我想要使用它們的大多數情況下幾乎沒有用處。
  9. 你將不得不決定是否使用DomainDataSource,這是一個太多太少的野獸 。你也可以用編程方式獲取所有東西,但 有些東西真的很快用這個xaml幫手來連接。
  10. 對於將實體序列化爲獨立存儲沒有內置支持。
  11. Silverlight(和我相信的Javascript)是唯一支持的平臺 - 沒有WPF。 (編輯:這是計劃開放RIA服務 - 特別是,它應該能夠滿足BreezeJS)

由於數據服務是較舊的(我認爲),我也沒在意永遠仔細看看它。不過我最近瀏覽了DevForce的功能列表,我相信這聽起來令人興奮,儘管我從經驗中無法說出任何關於它的信息。

(編輯:我發現科林·布萊爾here RIA Services和WCF的一個很懂行的比較)

建築師自己的產品進行比較,以RIA服務here。我介紹了他的一些觀點,但不是全部。

總而言之,RIA服務顯然比原始WCF更好,但也很清楚必須有比這更好的東西。我希望這是DevForce。