3

我正在开发一个应用程序,它充当事件服务总线,用于集成各种遗留组件……该应用程序利用数据存储来审核系统之间发送的所有事件和请求,并存储有关总线订阅端点的元数据…… 。ETC。我想利用 CouchDB 作为数据存储,因为它已经内置了我的许多应用程序的需求(REST API、复制、版本控制元数据文档……等)。现在这是我的应用程序堆栈的样子:

  [spring-integration filters/routers/service activators]
  [service layer]
  [dao layer]
  [database]

由于数据库是 CouchDB,我猜 DAO 层将是 Ektorp Java 库或简单的 REST 客户端。不过,这是我的问题:使用 Ektorp 构建 DAO 层是不是有点多余?我的意思是,为什么不在服务层中使用 RestTemplate 来与 CouchDB 中的视图和设计文档进行对话并节省一些编码工作?

我错过了什么吗?

谢谢,

4

2 回答 2

5

我不知道您是否已经尝试过,但LightCouch 在很多方面都会像 REST 模板一样工作。除了处理文档到您的域的转换以及设计文档/视图之外,您还可以在应用程序中的任何位置(例如 DAO 或服务层)将其用作 CouchDB 的客户端。

于 2012-01-04T01:37:49.823 回答
4

如果你自己动手,你将不得不实现视图结果的 json 解析/映射,等等。

除了高效的视图结果解析/对象映射可能会让您自己开发乏味,Ektorp 还将通过注释帮助您进行视图设计文档管理。

Ektorp 具有更多功能,我认为当您深入了解 CouchDB 时您会喜欢这些功能。

如果您的应用程序只执行单个文档的简单获取,那么其余模板可能就足够了。否则我不认为你会安全地自己做。

于 2012-01-03T21:53:01.687 回答