java - 服务总线与直接数据库访问

标签 java web-services hibernate jdbc esb

使用 ESB 而不是直接访问数据库(通过 Hibernate 或 JDBC)有什么优点。我知道你可以重用总线上的消息,但是你能不能将你的数据库访问代码打包成一个jar并将其分发到需要访问的不同系统(假设所有访问系统都支持Java)?

最佳答案

ESB 向您的服务/数据库层添加了一个抽象层。您可以将 jar 分发到需要服务访问的所有应用程序,但如果服务更改其契约(Contract)或需要更新业务逻辑怎么办?对于所有应用程序来说,更改其 jar 文件确实很困难。特别是在企业环境中,仅更改 jar 文件将需要大量的更改控制过程,这最终会增加更改成本。

如果您使用 ESB,则可以在单个点添加删除或路由服务。因此,每次更改的成本将是最小的。也就是说,有几个缺点,例如 ESB 可能成为应用程序中的单点故障。因此,您需要有足够的冗余来应对任何故障。

关于java - 服务总线与直接数据库访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2867862/

相关文章:

java - 使用Arraylist的2D数组表示

java - 从 Controller 访问 FXML 中的重复控件,无需为每个控件提供 ID

c# - Javascript - jquery ajax 发布错误让我发疯

java - 来自 java 桌面应用程序的 Web 服务

java - Spring + hibernate : NoSuchMethodError on JBoss logging

java - Hibernate中如何从数据库中获取数据

java - 如何将属性文件注入(inject)环境 bean?

java - 如何使用Jsoup获取html数据的特定子元素

.net - 不改变 "http://tempuri.org/"引用是否只是缺乏专业精神或更多?

java - 如何在hibernate中创建数据并添加到表3而不向表1和表2添加数据