我們正在設計具有的功能,基本上是在表示層和暴露的API層相同的系統。我的問題是使用什麼技術/策略,以便我們能夠在考慮到性能的情況下最大限度地重用代碼?設計一個系統,表示層和基於Web服務的API
下面是一個簡化的例子:
用戶可以通過網絡的形式添加客戶。這將觸發Customer.Create()方法。
API消費者/用戶可以通過SOAP/HTTP-POST將一個Customer添加到將調用Customer.Create()方法的Web服務中。
想象這些層:
PRESENTATION
|
|
WEB SERVICE API (Customer.Create() is available here
|
|
FACADE Business Object Interface - Customer.Create() signature is here
|
|
BUSINESS Business object - Customer.Create method() is fleshed out here
|
|
DATA ACCESS - Writes data
表示層SOAP調用創建()幅方法,它調用其調用業務對象的創建()方法的門面的Create()方法通過數據存取其中導線層。
問題:
是否有關於我們的表現層使用API的網絡服務性能問題,還是有替代的表示層直接連接到門面?如果是這樣,使用什麼技術(WCF,遠程處理,Web服務等)?
請讓我知道如果你需要任何更多的澄清。我無法確定在表示層中使用API是否常見,或者出於性能原因您是否「繞過它」。
,我可能不會看到任何其他問題?
謝謝!
注意,WCF是替代遠程處理和你指的是「網絡服務」(通過,我想你的意思是ASMX Web服務)的東西。 – 2010-10-21 20:38:32
John - 我工作的最後一個項目是.NET遠程項目。我有時交換條款。我正在開發的這個新項目是一個3.5 Web應用程序。我沒有通過網絡解決遠程調用的技術,但我需要公開一個API,用戶可以通過HTTP-POST(第一次迭代),並且我想重用API用於我的表示層,因爲API PRES具有幾乎相同的功能。我應該看看WCF嗎?我現在正在四處尋找..試圖趕上什麼是可用的,因爲1.1的遠程處理(笑) – 2010-10-25 14:53:45