0

我的任务是用等效的 JDBC 调用替换一些 Tuxedo 服务。

考虑到单个 Tuxedo 服务,我首先创建了一个 JDBC DAO,它实现了与现有 Tuxedo DAO 相同的接口。我从一个新的服务层调用这个方法。我计划在我的服务层上使用 Spring @Transactional 注释来处理 JDBC 事务。

Tuxedo 在内部处理事务,因此单个 Tuxedo DAO 方法调用与 JDBC DAO 上的多个方法调用相当,后者将从新的服务层调用。

鉴于上述情况,我认为 Tuxedo DAO 应该是一个服务级别的实体。那有意义吗?

任何关于从服务/DAO 层角度进行布局的最佳方式的想法都将不胜感激。我需要保留 Tuxedo DAO 用于遗留目的,但如果需要,将其重构到服务层应该不是问题。

谢谢杰

4

1 回答 1

1

出色地,

这很有道理。事实上,Tuxedo 服务(取决于它是否只是一个数据库访问或是否有更多业务逻辑)可以被一个简单的 DB-DAO 或某种服务(EJB、WebService 等,具体取决于标准技术)取代用于企业)。

我会尝试从对服务进行分类开始,这样您就可以决定如何处理每个服务,并可能修复一些策略。诸如“DB-DAO”、“OTHER-DATASTORE-DAO”、“更复杂的服务”之类的东西。

完成这项工作后,您可以构建您的直接 DAO 和服务。如果您决定在不同的基础架构上部署服务(扩展问题或仅仅因为许多应用程序将使用它们并且您希望保持清晰的可见性),您仍然可以编写 DAO 来使用它们并尊重原始调用接口,但是后面有新的实现。

问候

于 2013-03-28T15:08:07.077 回答