2016-02-09 63 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

相关问题