2014-06-07 68 views
1

閱讀戈登的關於最佳實踐的文章使用Spring框架構建企業應用程序後,我想和大家分享有關服務層的一些想法。泉企申請最佳實踐

我的架構是什麼戈登這一形象http://gordondickens.com/wordpress/wp-content/uploads/2012/07/Spring-App-Layers.png

的應用是複雜的描述,有一個沉重的業務規則和要求,使用像數據庫,SOAP,REST和文件在相同的使用情況下,有時處理不同的資源。

對於這個景色,我上述的,我有一個需要進行SOAP和REST請求,並處理一些數據庫中的數據服務類。所以,我在我的Service類中自動裝入了一個SOAP和一個REST組件,並使用Repository來處理數據庫內容。

我很擔心,如果這是最好的方法做處理我的服務之間和像SOAP,REST,數據庫資源等的整合

感謝

回答

0

所以,我自動裝配在我的Service類中有一個SOAP和一個REST組件 和處理數據庫內容的Repository。

聽起來不錯。您正在使用依賴注入,這意味着它們可以很容易地進行測試或更改。

2

所以,我在我的Service類中自動裝入了一個SOAP和一個REST組件 以及處理數據庫內容的Repository。

聲音,即使它會工作的問題。

想想層之間的依賴關係。服務層將取決於存儲庫層(業務邏輯層將取決於數據層)。傳入請求的服務集成層(或服務通信層)將取決於服務層。但是數據層不依賴於服務層。服務層也不依賴於入站服務調用層。

因此,除去SOAP和服務類REST組件。對於SOAP和REST組件,請連接Service實例(即避免將SOAP和REST組件連接到服務中,並以相反方向執行)。

這樣,當你要支持另一個集成協議(說JMS),你做的所有這些工作,但不是通過修改你的服務。

您的數據訪問似乎沒有問題。我希望你的服務通過DAO訪問版本庫。

+0

謝謝@ kamal-wickamanayake,對我來說你看起來不錯。你能告訴我一個代表你的想法的代碼示例嗎? –

+0

這被稱爲圖層體系結構模式。從描述本身應該清楚。如果您不熟悉如何使用遠程處理技術來連接Spring bean,請參閱Spring框架參考文檔中的「使用Spring的遠程處理和Web Web服務」部分。它描述了你如何在不同的條件下這樣做。 –

+0

我在使用Spring Integration實現這種集成。你認爲這是一個好方法嗎?謝謝 –