29

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

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

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

  2. 文档说未来的版本应该有 UI 集成,这是遥远的未来吗?它会是怎样的 UI 集成?在 Hippo CMS 和 JackRabbit 的情况下,是否有使用 ModeShape 的东西?很遗憾 Gatein 不使用它。

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

  4. CMIS 支持如何?我看到一个未解决的问题MODE-650。OpenCMIS (Apache chmistry) 支持 Jackrabbit,甚至在不久的将来也支持辅助类型。

  5. support/utils 库怎么样,在使用 Nodes 时为开发人员提供方便

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

4

3 回答 3

39

我可以回答你的一些问题。全面披露:我是 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 应用服务器。ModeShape 可以以与其他 JCR 实现(通常嵌入到 Web 应用程序中)大致相同的方式在其他应用程序服务器上使用。此外,ModeShape 可以嵌入到任何应用程序中;毕竟,它只是一个普通的 Java 库。它甚至使用 SLF4J,以便将 ModeShape 日志消息发送到应用程序的日志框架。

    现在,话虽如此,我们确实使用一个简单的工具包使将 ModeShape 部署到 JBoss AS 安装变得更容易:只需解压缩,稍微自定义配置(取决于您的需要),然后启动您的应用程序服务器。ModeShape 将作为应用服务器中的服务运行,允许您部署的应用程序简单地查找、使用和共享存储库。ModeShape 甚至可以使用 JBoss AS 控制台进行监控。

  2. 我相信您指的是我们开发存储库可视化工具的计划(远不如成熟的 CMS 系统)。这方面的工作刚刚开始,我们欢迎任何见解、功能请求以及与我们合作的兴趣。我知道 Magnolia 可以在 ModeShape 之上运行,但不确定其他 CMS 应用程序是否能够做到这一点。JBoss 企业数据服务 (EDS) 平台还包括 ModeShape 并将其用作元数据存储库。JBoss 业务规则管理系统还可以使用 ModeShape 作为其 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 之上编写的任何实用程序类都应该可以正常工作。

希望有帮助!

于 2011-06-18T21:35:59.017 回答
4

modeshape 的文档似乎更好。与其他 apache 项目相比,Jackrabbit 提供的文档有限。我想如果您需要花哨的(企业)功能,他们希望您为此付费。另请注意,您几乎被迫使用 sql 数据库作为后端。因为几乎所有其他后端都“不适合生产使用”。与刚刚出来并说出来的modeshape相比:

这实际上是 ModeShape 的主要目的:提供一个 JCR 实现,该实现提供对存储在许多不同类型系统中的内容的访问,包括多个系统的联合。ModeShape 存储库不是另一个信息孤岛,而是您环境中已有信息的 JCR 视图:文件系统、数据库、其他存储库、服务、应用程序等。ModeShape 可以帮助您了解系统和您已经拥有的信息,通过标准的 Java API

我更喜欢这种清晰度,而不是让人们在他们的文档和谷歌中搜索不存在的信息。

于 2012-04-03T08:45:54.513 回答
1

上面的比较已经过时了;现在您需要将 modeshare 与 jackrabbit Oak 进行比较。 http://jackrabbit.apache.org/oak/

Jackrabbit Oak 致力于实现可扩展且高性能的分层内容存储库,用作现代世界级网站和其他要求苛刻的内容应用程序的基础。

于 2017-06-04T21:39:33.433 回答