2010-08-11 46 views
0

我知道服務層位於業務邏輯層之上,我們稱之爲表示層的服務層。 但是在項目中,我們是否將Web或WCF服務定義在相同的應用程序中?如果我們暴露了服務層中的所有邏輯並調用服務而不是業務邏輯層中的方法,那麼它應該犧牲性能。我懷疑我們是否在項目中這樣做。但是如果我們調用其他應用程序中定義的Web或WCF服務,我認爲我們也可以從我們的數據訪問層或業務邏輯層調用它們。我對此很困惑,有人能給我一個線索嗎?關於SOA中不同層的問題

我期待着您的回覆。非常感謝!

回答

4

我會回答很多問題,並警告你有關路徑。你錯過了關於SOA的非常基本的東西。首先,在開展任何Web服務開發之前,您需要了解「服務清單」的含義。

服務清單可以包括三個基本服務類型:

  1. 實體服務 - 這種服務可與 數據相關的問題 - CRUD。是的,查詢數據庫。

  2. 公用服務 - 這種執行的基礎設施的工作原理是 發送電子郵件,「記錄」等

  3. 任務服務 - 這個編排其他服務(實體,任務和 公用事業)並實際執行業務規則。

例如,UI應用程序可調用任務服務,這反過來又調用另外兩個實體服務,執行業務邏輯,通過郵寄他們通知用戶,調用另一個任務服務,還可以調用其他服務類型。

但你需要關心這一點。耦合服務意味着耦合基礎設施。看看SoaPrinciples.com,通過書並轉到SoaSchool.com。在用質量編寫服務之前,需要了解很多。

我基於這個概念使用WCF完全實現了一個生態系統。其中一部分已經投入生產,我對性能毫無問題。相反,用戶真的很開心。但這並不容易,我不會在標準的編程風格上進行傳遞。編程風格發生了轉變,我不得不掌握併發問題和並行編程。我做過的最好的事情!我仍然無法使用我的多核服務器的真正潛力。

祝你好運!