2009-12-31 77 views
2

是否有人可以請我介紹一些很好的文檔或反饋,以瞭解在處理不同問題的應用程序中實現Web服務的最佳實踐是什麼?例如,我應該創建不同的服務,一個處理安全性的服務(AuthService),一個處理客戶服務代表的數據輸入的服務(CRUDService),BillingService等,或者我應該將所有這些「服務」封裝到一個服務中,例如ApplicationService?基本上,我問是否在一個應用程序中創建多個服務(文件)是不好的設計。你們中的一些人能記下你的經歷或你經歷過的事嗎? 另外,讓我們假設上面列出的服務中的三個連接到同一個數據庫,但實際上卻遇到了完全不同的問題,例如,一個用於CRUD等所有交易,另一個用於純粹的報告目的。我應該在這裏創建兩個服務,一個是CRUDService,另一個是ReportingService?通過這兩個服務創建兩個不同的數據庫連接是不好的?或者我如何與不同的服務共享相同的數據庫連接?Web服務體系結構 - 多服務和多個數據庫連接?

回答

1

我認爲公衆可用服務中存在一種傾向,即將所有內容都轉儲到一項服務中。對於公開可用的API來說,這可能不是一個壞主意。它只是讓開發人員更容易。但是,對於我工作的任何項目,我都會嘗試將其分解爲邏輯組。這樣你的客戶端就不需要繼承它可能不需要的功能。更新服務也是一件容易的事,因爲你只會影響你的Web服務框架的某個子集,而不是所有的東西。因此,如果您的服務合同中斷並且您的客戶不再支持它,他們仍然可以使用您系統的其他部分,但不是特定的一部分。就像你在你的綜合服務上違約一樣,一切都會失敗。最後,如果您必須實施類似故障切換支持的功能,則可以更靈活地選擇哪種服務需要更多的故障切換節點,從而更好地管理資源分配。