Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实现简单的文档管理_Java_Webdav_Dms - Fatal编程技术网

Java 实现简单的文档管理

Java 实现简单的文档管理,java,webdav,dms,Java,Webdav,Dms,我的问题是:根据以下要求,您将如何继续实施简单的DMS(文档管理) DMS应该是分布式web应用程序 支持文档版本控制 支持文档锁定 文档搜索 我已经很清楚我想用什么技术了。我将使用sringmvc、Hibernate和关系型(很可能是MYSQL)数据库 有一件事我不是很清楚,我是否需要使用,因为我可以上传或下载文档。我认为我必须这样做,因为我需要完成第2点。特别是第3点。以某种方式走这条路对吗 这方面的任何例子或经验都会非常有用:)。也许弥尔顿不是webdav的最佳图书馆?选项1: 我对web

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

  • DMS应该是分布式web应用程序
  • 支持文档版本控制
  • 支持文档锁定
  • 文档搜索
  • 我已经很清楚我想用什么技术了。我将使用sringmvc、Hibernate和关系型(很可能是MYSQL)数据库

    有一件事我不是很清楚,我是否需要使用,因为我可以上传或下载文档。我认为我必须这样做,因为我需要完成第2点。特别是第3点。以某种方式走这条路对吗


    这方面的任何例子或经验都会非常有用:)。也许弥尔顿不是webdav的最佳图书馆?

    选项1:

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

    使用mongodb,您可以:
    1.
    2.MongoDB有,您可以添加您的文档锁定逻辑

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

    选项2:

    :内容存储库

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


    考虑使用JCR Java内容存储库
    或者你可以看看在Alfresco或Exo框架上所做的工作。关于对第三方的依赖性,他们做得很好。你这样做是作为一个学院/大学的练习,还是会影响生产环境中的真实用户

    冒着听起来很自命不凡的风险;不要重新安装轮子!我肯定会再次呼吁使用JCR,这样您就依赖于一个标准,而不是第三方实现

    JCR是一个定义良好的标准(这意味着许多人在这方面投入了商业努力(即大量现金和专业知识)。我会认真重新考虑研究JCR——将其视为第三方提供实现的API(没有供应商锁定)

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


    我与bmscomp的不同之处在于建议JackRabbit

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

  • - LogicalDOC是一个现代化的文档管理系统,具有良好的界面、易于使用和非常快速。它使用开源Java技术,如GWT、Spring、Lucene,以提供灵活和可扩展的DMS平台

  • - OpenKM文档管理-DMS更新2011-05-25 OpenKM是功能强大的可扩展文档管理系统(DMS)。OpenKM使用Jboss+J2EE+ajaxweb(GWT)+Jackrabbit(lucene)开源技术


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


    虽然webdav似乎是一个简单的跨平台文件传输协议的自然选择,但我从未有过良好的经验。客户机或服务器工作不正常(konqueror、internet explorer、zope 2等)。因此,从协议中抽象出来,并提供多种访问文件的方法。

    好的,我会更新我的问题,DMS是指文档管理。这听起来不错,我会研究一下。但可能我在寻找答案,这将引导我如何开发自己的这个功能更多。MogoDB是一个非常特定的数据库——我需要我的应用程序不要太特定于数据库。在我只需要存储文档的时候使用内容存储库似乎有些过分。是的,他们做得很好,但他们的解决方案对我来说太复杂了。我只需要将文档存储在它们的版本中,以便锁定它们并通过它们进行搜索。另一件事是,我不想太依赖第三方解决方案。所以我更喜欢自己来发展这个。你让我信服了:)因为你们都在说同样的话+1。很高兴听到它=)。如果非自助产品提供了您所需的+80%(并且从一开始就被设计为一个可扩展API),那么您将走得更远,并有可能将更具体的扩展贡献给更广泛的社区(通过代码提交、博客或wiki帖子)在webdav方面:祝你好运,编码快乐编辑:再仔细看看JackRabbit,我认为它提供了99.99%的你想要的东西(这是一个活跃的项目,邮件列表和Jira上会有很多支持)。从你列出的四点来看,所有的都被涵盖了,如果合作锁定不是你想要的,那么它是可插拔的:是的,我向你们所有人都表示支持,很难决定向谁提供+200。但无论如何,我希望更多地了解webdav,如果它对我的场景有帮助的话。我可以从后面的评论中看到webdav看起来不太好,JackRabbit支持很多传输类型,包括NFS/SMB。我真的很希望找到fuse-j集成,但没有(实现这一点可能不是一项艰巨的任务,也很酷)+1我想webdav比我开始搜索这个主题时想象的要麻烦得多。