5

我的问题是:您将如何根据以下要求继续实施简单的 DMS(文档管理)?

  1. DMS 应该是分布式 Web 应用程序。
  2. 支持文档版本控制。
  3. 支持文档锁定。
  4. 文档搜索。

我已经清楚我想使用哪些技术。我将使用 Sring MVC、Hibernate 和关系(很可能是 MYSQL)数据库。

我不太清楚的一件事是我是否需要使用webdav,因为我可以上传或下载文档。我必须这样做,因为我需要以某种方式完成第 2 点,尤其是第 3 点。这是正确的方法吗?

任何与此相关的示例或经验都会非常方便:)。可能 Milton 不是为 webdav 选择的最佳库?

4

5 回答 5

3

选项1:

我不确定webdav,没有真正的经验。但我强烈建议您使用像 MongoDB 这样的文档数据库。

使用 mongodb,您可以:
1.处理文档版本
2. MongoDB 具有原子操作,您可以添加文档锁定逻辑。

这将为您提供一些很棒的搜索文档存储的额外好处。

选项 2:

Apache Jackrabbit:内容存储库

内容存储库是一种分层内容存储,支持结构化和非结构化内容、全文搜索、版本控制、事务、观察等。

于 2011-06-02T08:25:51.600 回答
3

@Eduard,关于对第 3 方的依赖 - 您是作为大学/大学练习还是会影响生产环境中的真实用户的事情?

冒着听起来很自命不凡的风险;不要重新实现轮子!我肯定会第二次调用使用 JCR,这样你就依赖于标准而不是第 3 方实现。

JCR 是一个定义明确的标准(这意味着很多人为此投入了商业努力(即大量现金和专业知识))。我会认真重新考虑研究 JCR - 将其视为一个 API,其中 3rd 方提供实现(没有供应商锁定)。

看看您将获得开箱即用的功能,我相信您需要的 99 - 110% 的功能都可以通过 JCR 实现获得。此外,您将受益于您将使用的代码已经过数百人在现实世界中的测试。

我与 bmscomp 的不同之处在于建议 JackRabbit http://jackrabbit.apache.org/

于 2011-06-02T11:27:53.767 回答
2

考虑使用 JCR Java 内容存储库 http://en.wikipedia.org/wiki/Content_repository_API_for_Java 或者您可以查看在 Alfresco 或 Exo 框架上完成的工作,他们做得很好

于 2011-06-02T08:28:04.563 回答
2

您可以使用这些开源项目来满足您的要求:

  1. http://sourceforge.net/projects/logicaldoc/ -LogicalDOC 是一个现代化的文档管理系统,具有漂亮的界面、易于使用且速度非常快。它使用 GWT、Spring、Lucene 等开源 Java 技术,以提供灵活且可扩展的 DMS 平台。http://www.logicaldoc.com

  2. http://sourceforge.net/projects/openkm/ - OpenKM 文档管理 - DMS 更新于 2011-05-25 OpenKM 是功能强大的可扩展文档管理系统 (DMS)。OpenKM 使用 Jboss + J2EE + Ajax web (GWT) + Jackrabbit (lucene) 开源技术。http://www.openkm.com/

于 2011-06-03T20:00:44.737 回答
1

Spring MVC 是一个不错的选择。如果您想使用关系数据库,还可以查看 Datanucleus。至少 JDO 层(可能还有 JPA 层)提供版本控制支持。对于搜索,我推荐基于 lucene 的 apache solr,它具有出色而强大的全文搜索功能。

尽管 webdav 作为一种简单的跨平台文件传输协议似乎是自然的选择,但我从来没有过好的体验。客户端或服务器都不能正常工作(konqueror、internet explorer、zope 2,...)。因此从协议中抽象出来并提供多种访问文件的方式。

于 2011-06-05T21:53:28.373 回答