2009-07-25 248 views
0

我們目前有一個Silverlight 2.0應用程序與一組WCF Web服務進行通信。這些服務與其他WCF服務進行通信以獲得業務邏輯。Ria服務替代WCF服務

Client    DMZ      Intranet 
Silverlight -> WCF Web Service Gateway -> WCF Biz service -> DB 

WCF Web服務網關駐留在DMZ中。

我們看到Ria服務可以取代我們的WCF網絡服務網關,但這意味着它將安裝在我們的DMZ中並且可以訪問我們的數據庫......這是否安全?

我們似乎也放棄了我們的業務邏輯WCF服務......我需要將業務邏輯放在Ria服務中(因爲它已連接到數據庫並擁有域...)。

Ria服務的推薦模式是什麼?它適合哪裏? 已經投資WCF Web服務的公司的方法是什麼?他們可以使用RIA嗎?

我們正在研究這個選擇,是我們會暴露Web服務和利雅...

Silverlight -> WCF web service - > WCF biz service -> DB 
      -> Ria services -> DB 

有何評論?我也懷疑是否有人在生產中實際使用Ria ...

回答

0

您的提案體系結構中Silverlight應用程序調用 WCF Services和Ria服務對我來說聽起來都很公平。

假設你的數據庫有一個員工實體。

我能得到這個方法啓動和運行,但有一些問題

  • 假設「的WCF服務BIZ」訪問和修改員工。
    • 它是否直接從數據庫中獲取這些數據? (如果是這樣,EntityFramework edmx模型之間共享「WCF商業服務」和ria?)
    • 反過來使用RIA層,因此EmployeeRiaProxy?
    • ..?

  • 假設你想使用Employee實體的「WCF服務BIZ」經營合同
    • 在純粹的SOA架構,這不應成爲可能嗎?
    • 在EmployeeDto中使用純粹的DTO數據合同風格方法?
    • 您應該使用Employee還是EmployeeRiaProxy?
      • 使用員工是不可能的,因爲Silverlight應用程序不知道它 (或將導致另一EmployeeWCFProxy類型在客戶端上創建)
      • 使用EmployeeRiaProxy是可能的,但綁你的經營合同到 Ria的代理(設計相當差),並假設該服務使用RIA數據訪問

還是應該一切都通過這個RIA層?你從哪個方面依次稱之爲「WCF商業服務」?



歡迎任何意見!

Koen