我是否必须为单独的数据库设计?每个不同模块的服务器运行

时间:2009-09-14 14:20:52

标签: frameworks enterprise modularity

在设计新的基于J2EE的企业框架时,我是否必须为单独的业务模块必须使用不同的数据库并且必须在不同的应用服务器实例上运行的情况做好准备?

从另一个角度来看:有没有人经历过不同数据库的现实生活要求。每个模块服务器?如果是,该企业的规模是多少?

因为(据我所知)这使得事情变得更加复杂,并且使用此框架的先前版本(以及在较小的银行中),上述案例从未发生过。

感谢您的回复!

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解这句话

  

其中单独的业务模块必须使用不同的数据库

一直以来。

也许我们在这里谈论不同的事情。没有至少两个数据库,我从未见过任何组织。这包括我和我的CD上的CD目录和吉他音乐数据库。

您的意思是不同的数据库供应商吗?数据库版本,如Oracle vX和Oracle vY?即使根据这个定义,我也可以想到我遇到过的任何客户都没有普遍认定过一个供应商或版本。

那么,我是否期望一个非平凡的系统让一些模块看一个数据库,一些模块看另一个数据库。是的,abolsutely。

我是否希望某些模块可以查看两个数据库,是的。参考数据在另一个中。历史在另一个。

不同服务器上的不同模块 - 是的。出于隔离和可扩展性的原因。 App Servers做得很好。

总的来说,为什么你认为这是一个问题?您的模块在JNDI中查找其JDBC连接,他们不需要知道他们使用的是不同的数据库。正确连接模块是一个管理问题。

一个主要问题可能是使用XA事务,但通常可以避免更新同一模块中的两个数据库,或者来自同一事务中的同一模块。