【问题标题】:Do I have to design for separate database & server runtime per different module?我是否必须为每个不同的模块设计单独的数据库和服务器运行时?
【发布时间】:2009-09-14 14:20:51
【问题描述】:
在设计新的基于 J2EE 的企业框架时,我是否必须为单独的业务模块必须使用不同的数据库并且必须在不同的应用服务器实例上运行的情况做好准备?
从另一个角度来看:有没有人经历过现实生活对每个模块的不同数据库和服务器的需求?如果是,那家企业的规模是多少?
因为(据我所知)这使事情变得更加复杂,而且使用该框架的先前版本(以及在较小的银行中),上述情况从未发生过。
感谢您的回复!
【问题讨论】:
标签:
frameworks
enterprise
modularity
【解决方案1】:
我不确定我是否正确理解了这个措辞
单独的业务模块必须使用不同的数据库
一直都是。
也许我们在这里谈论不同的事情。我从未见过没有至少两个数据库的组织。这包括我和我笔记本电脑上的 CD 目录和吉他曲调数据库。
您是指不同的数据库供应商吗?数据库版本,例如 Oracle vX 和 Oracle vY?即使在这个定义下,我也想不出我遇到的客户已经普遍标准化了一个供应商或版本。
那么,我是否希望一个重要的系统有一些模块查看一个数据库而一些模块查看另一个。绝对是的。
我是否希望某些模块查看两个数据库,是的。一个中的参考数据存在于另一个中。另一个历史。
不同服务器上的不同模块 - 是的。出于隔离和可扩展性的原因。这是应用服务器做得很好的一件事。
总的来说,您为什么认为这是一个问题?您的模块在 JNDI 中查找它们的 JDBC 连接,它们不需要知道它们使用不同的数据库。正确连接模块是一个管理问题。
一个主要问题可能是使用 XA 事务,但通常可以避免更新同一模块中的两个数据库,或者如果来自同一事务中的同一模块。