我们有一个由几个应用程序组成的平台。
我们必须开发一个API,它必须分解到数据库的所有交互。在这个API中,我们也有一个XML格式的数据库版本。XML格式将仅由一个应用程序使用。
我们的应用程序是在一个经典的体系结构中开发的: dao -服务层-表示层。
DAO层将被移动到API中。在这一点上没问题。在许多应用程序中,服务层只是表示层和道层之间的一个网关,没有特定的业务代码。
所以我的问题是:
需要帮助!:我迷路了.
FYI,我们在Java1.6中使用了Spring3.1.1。暂时在DAO中使用JDBC模板。我们正在寻找关于spring数据jdbc的信息,以取代JDBC模板。有关这方面的任何建议都值得赞赏^^不存在Hibernate - JPA解决方案。
谢谢。
编辑1
换句话说,在应用程序中保留一个服务层&在API中有一个抽象层。如果我们必须修改数据库结构,如果我们也可以直接修改API的服务层,那么我们就不必编辑所有的应用程序了。
设想三种可能性:
你选择什么解决方案?
编辑2
创建一个调用API的惟一类有趣吗?就像立面设计模式一样。
发布于 2014-04-24 17:09:15
将服务层用于所要做的事情:提供真实世界的服务,方法是在所提供的每个服务中使用一个或多个DAO(以及其他诸如管理事务、净化String和其他类似的事情)。
如果您(以及更有经验的同事)认为您不需要这个服务层,那么就不要将它放入您的体系结构中。但是,请确保创建体系结构概念的证明(这可能包含系统或其部分的某种复杂功能的实现),以便稍后对其进行评估,以演示您是否真的不需要这样的层(或者如果确实需要)。
发布于 2014-04-25 10:13:20
我的理解是,您需要将业务层与表示层分离并重用,让多个客户端应用程序使用相同的业务实现。
在这种情况下,您需要在API中实现服务层。一些优点:
在这个API中,我们也有一个XML格式的数据库版本。XML格式将仅由一个应用程序使用。
通过通过API提供这个实现,更多的客户端应用程序将能够在将来使用它,如果需要的话。
Spring为这种设计提供了优秀的工具(RMI、HTTP调用等)
我不认为为DAOs验证API有任何附加价值。
https://stackoverflow.com/questions/23274781
复制相似问题