ModeShape提供的JackRabbit没有提供什么?

lis*_*sak 29 java comparison jackrabbit jcr modeshape

我刚刚熟悉Apache JackRabbit.我为文档管理做了一个小的多用户存储库.

如果有人同时使用它们,你能否回答这些问题?

  1. ModeShape是否以某种方式与JBoss相关联?我对JBoss AS或任何其他JBoss工具没有多少经验.我看到了对tomcat的支持,但是很多JBossy的东西

  2. 文档说未来的版本应该有UI集成,它的未来是否遥远?它会是什么样的UI集成?是否有使用ModeShape的东西,就像Hippo CMS和JackRabbit一样?Gatein不使用它真是遗憾.

  3. JackRabbit在全文搜索,索引和文本内容的整体处理方面与ModeShape相比如何?

  4. CMIS如何支持?我看到一个未解决的问题MODE-650.JackCMbit由OpenCMIS(Apache chmistry)提供支持,即使是在不久的将来也可用于二级类型.

  5. 支持/ utils库怎么样,为了方便开发人员使用节点

我对任何其他比较评论感兴趣,谢谢

Ran*_*uch 38

我可以回答你的一些问题.完全披露:我是ModeShape的创始人和项目负责人.

简而言之,ModeShape是一个轻量级,可嵌入,可扩展的开源JCR存储库实现,它联合和统一来自多个系统的内容,包括文件系统,数据库,数据网格,其他存储库等.您可以使用JCR API访问已有的信息拥有,或像传统的JCR系统一样使用它.

以下是ModeShape的一些高级功能:

  • 支持所有JCR 2.0所需的功能:存储库获取; 认证; 读/导航; 查询; 出口; 节点类型发现; 权限和功能检查
  • 支持大多数JCR 2.0可选功能:写作; 进口; 观察; 工作区管理; 版本; 锁定; 节点类型管理; 同名的兄弟姐妹; 可订购的子节点; 可共享节点; 和mix:etag,mix:created以及mix:lastModified具有自动处理属性的mixins.
  • 支持JCR 1.0和JCR 2.0语言(例如,XPath,JCR-SQL,JCR-SQL2和JCR-QOM)以及基于JCR-SQL2全文搜索表达式语法的全文搜索语言.此外,ModeShape支持JCR-SQL2的一些非常有用的扩展:
    • 标准中的子查询
    • 设置操作(例如," UNION"," INTERSECT"," EXCEPT",每个都带有可选的" ALL"子句)
    • 限制和抵消
    • 重复删除(例如," SELECT DISTINCT")
    • 额外的深度,参考和路径标准
    • 设置和范围标准(例如," IN"," NOT IN"和" BETWEEN")
    • 算术标准(例如" SCORE(t1) + SCORE(t2)")
    • 完全外连接和交叉连接
    • 和更多
  • 从多个存储选项中进行选择,包括RDBMS(通过Hibernate),数据网格(例如,Infinispan),文件系统,或根据需要编写自己的存储连接器.
  • 使用JCR API访问现有服务,文件系统和存储库中的信息.ModeShape连接器将外部信息投影到JCR存储库中,可能将来自多个系统的信息联合到一个工作区中.编写自定义连接器以访问其他系统.
  • 上传文件并让ModeShape自动解析并导出代表这些文件中的内容的结构化信息.此派生信息存储在存储库中,可以像查看任何其他内容一样查询和访问它.ModeShape支持多种开箱即用的文件类型,包括:CND,XML,XSD,WSDL,DDL,CSV,ZIP/JAR/EAR/WAR,Java源代码,Java类文件,Microsoft Office,图像元数据和Teiid型号和VDB.为其他文件类型编写顺控程序也很容易.
  • 自动和可扩展的MIME类型检测,使用文件扩展和使用Aperture的基于内容的检测进行开箱即用的检测.
  • 可扩展的文本提取框架,使用Tika提供对Microsoft Office,PDF,HTML,纯文本和XML文件的开箱即用支持.
  • 使用JGroups进行简单集群.
  • 将ModeShape嵌入到您自己的应用程序中.
  • RESTful API(需要部署到应用程序服务器中).

这些只是其中的一些亮点.有关这些和其他ModeShape功能的详细信息,请参阅ModeShape 文档.

现在,这里是您编号问题的一些具体答案:

  1. ModeShape在JBoss.org上托管,并与其他JBoss技术一起使用/集成,因为我们认为重用最好的库更好.但ModeShape肯定不依赖于JBoss Application Server.ModeShape可以在其他应用程序服务器上使用,其方式与其他JCR实现(通常嵌入到Web应用程序中)非常相似.此外,ModeShape可以嵌入到任何应用程序中 ; 毕竟,它只是一个普通的Java库.它甚至使用SLF4J,以便可以将ModeShape日志消息发送到应用程序的日志记录框架.

    现在,说了这么多,我们确实通过一个简单的工具包将ModeShape部署到JBoss AS安装更容易:只需解压缩,稍微自定义配置(根据您的需要),然后启动您的应用服务器.ModeShape将作为应用程序服务器中的服务运行,允许您部署的应用程序简单地查找,使用和共享存储库.甚至可以使用JBoss AS控制台监控ModeShape.

  2. 我相信你指的是我们开发存储库可视化工具的计划(远远不及完全成熟的CMS系统).刚刚开始的工作已经开始,我们欢迎任何见解,功能要求以及与我们合作的兴趣.我知道Magnolia可以运行在ModeShape之上,但不确定其他CMS应用程序是否能够执行此操作.在JBoss企业数据服务(EDS)平台还包括振形,并用它作为一个元数据信息库.在JBoss的业务规则管理系统还可以使用振形为JCR存储库.

  3. ModeShape和Jackrabbit都在内部使用Lucene进行全文搜索和查询.在这方面,他们非常相似.当然,ModeShape的搜索和查询解析和执行的实现与Jackrabbits不同,实际上是由实现MetaMatrix关系导向集成和联合引擎(现在是JBoss EDS的一部分)的一些人编写的.因此,ModeShape为每种查询语言都有一个单独的解析器,但在此之后,所有查询的所有验证,计划,计划和执行都以相同的方式完成.我们对查询引擎的功能和性能感到非常自豪!

  4. ModeShape没有连接到其他CMIS系统的连接器,但正如您指出当前正在工作(MODE-650).我们还希望与Apache Chemistry团队合作,确保JCR适配器与ModeShape配合使用.我们没有时间这么做.

  5. ModeShape确实有一个可能有用的JcrTools实用程序类.但是在JCR API之上编写的任何实用程序类都应该可以正常工作.

希望有所帮助!