我的问题是:您将如何根据以下要求继续实施简单的DMS(文档管理)?
我已经清楚我想要使用哪些技术。我将使用Sring MVC,Hibernate和关系(最有可能是MYSQL)数据库。
我不太清楚的一件事是我是否需要使用webdav,因为我可以上传或下载文档。我必须这样做,因为我需要完成第2点,尤其是第3点。这是正确的方法吗?
任何有关此的示例或经验都会非常方便:)。可能是Milton不是最好的库选择webdav吗?
答案 0 :(得分:3)
选项1:
我不确定webdav,没有真正的经验。但我强烈建议您使用像MongoDB这样的文档数据库。
使用mongodb,你可以:
1. Handle document versions
2. MongoDB有atomic operations,您可以添加文档锁定的逻辑。
这将为您提供搜索文档商店的一些额外好处。
选项2:
Apache Jackrabbit:内容存储库
内容存储库是分层的 内容商店,支持 结构化和非结构化内容, 全文检索,版本控制, 交易,观察等。
答案 1 :(得分:3)
冒着听起来非常自命不凡的风险;不要重新实现轮子!我绝对是第二次使用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)
您可以使用这些开源项目来满足您的要求:
http://sourceforge.net/projects/logicaldoc/ - LogicalDOC是一个现代化的文档管理系统,具有良好的界面,易于使用且速度非常快。它使用开源Java技术,如GWT,Spring,Lucene,以提供灵活且可扩展的DMS平台。 http://www.logicaldoc.com
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,...)。如此抽象的协议,并提供了多种方式来访问该文件。