实施简单的文档管理

时间:2011-05-31 07:17:38

标签: java webdav dms

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

  1. DMS shouls是分布式Web应用程序。
  2. 支持文档版本控制。
  3. 支持文档锁定。
  4. 文件搜索。
  5. 我已经清楚我想要使用哪些技术。我将使用Sring MVC,Hibernate和关系(最有可能是MYSQL)数据库。

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

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

5 个答案:

答案 0 :(得分:3)

选项1:

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

使用mongodb,你可以:
1. Handle document versions
2. MongoDB有atomic operations,您可以添加文档锁定的逻辑。

这将为您提供搜索文档商店的一些额外好处。

选项2:

Apache Jackrabbit:内容存储库

  

内容存储库是分层的   内容商店,支持   结构化和非结构化内容,   全文检索,版本控制,   交易,观察等。

答案 1 :(得分:3)

@Eduard,关于对第三方的依赖性 - 您是在做这个大学/大学练习还是会影响生产环境中的真实用户?

冒着听起来非常自命不凡的风险;不要重新实现轮子!我绝对是第二次使用JCR的呼吁,这样你依赖标准而不是第三方实现。

JCR是一个定义明确的标准(这意味着很多人投入商业努力(即大量的现金和专业知识))。我会认真考虑调查JCR - 将其视为第三方提供实施的API(无供应商锁定)。

看看你开箱即用的功能,我相信99 - 110%的功能是通过JCR实现提供的。此外,您将受益于您将使用的代码已经过数百人在现实世界中的测试。

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

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

  1. http://sourceforge.net/projects/logicaldoc/ - LogicalDOC是一个现代化的文档管理系统,具有良好的界面,易于使用且速度非常快。它使用开源Java技术,如GWT,Spring,Lucene,以提供灵活且可扩展的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/

答案 4 :(得分:1)

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

虽然webdav似乎是一个简单的交叉平台文件传输协议的自然选择,但我从未有过很好的体验。客户端或服务器都运行不正常(konqueror,Internet Explorer,zope 2,...)。如此抽象的协议,并提供了多种方式来访问该文件。