2016-02-09 137 views
0

我有一個Spring應用程序,我需要調用許多不同類型的後端系統(傳統大型機,ESB,RESTful ...)。如果我們採取例如REST,我可以用例如RESTful客戶端實現一個RESTful客戶端。 RestTemplate。我可以A)讓開發人員直接使用RestTemplate客戶端,並向其傳遞服務url和數據對象。或者我可以B)在我們自己的後端特定客戶端中包裝RestTemplate,並提供開發人員可以使用的顯式方法。這些方法本身當然會使用RestTemplate並進行顯式的後端調用。包裝後端系統客戶端或不包含在Spring中

A)的好處在於後端系統的變化不需要客戶端的改變。缺點是我們不隱藏架構。 B)對於開發人員來說更加清晰,並且更容易「管理」,但對後端系統的更改要求我們更新所有希望使用新後端功能的應用程序。更糟糕的是,後端系統功能的變化可能需要更新所有服務。

不過,我個人傾向於選項B),因爲它爲開發人員提供瞭如此良好的業務邏輯和架構服務分離。

+0

B是更好的選擇,並且能夠在後端變更時輕鬆進行更改,您可以使用屬性文件或xml對其進行配置 –

回答

0

我不明白你是如何得出這樣的結論:如果客戶想要使用新功能或者API因爲更改而中斷,客戶端不需要更新(選項A)。
我認爲選項B更好。但是我會使用HTTP客戶端Feign來創建請求模板,然後發佈這些接口。這樣你甚至不需要包裝RestTemplate並手動實現每個請求。

+0

謝謝,我還需要考慮Feign。看起來很有趣。 – user1340582

相關問題