2011-06-17 239 views
29

我刚刚熟悉Apache JackRabbit。我为文档管理做了一个多用户存储库。ModeShape提供的JackRabbit不提供什么?

如果有人使用他们两个,你能否回答这些问题?

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

  2. 文档说未来的版本应该有UI集成,是不是远景?它会是什么样的UI集成?有没有使用ModeShape的原因是Hippo CMS和JackRabbit的情况?这是一个耻辱,Gatein不使用它。

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

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

  5. 关于支持/ utils的库,供开发人员方便使用节点

我感兴趣的任何其他比较意见工作时什么,谢谢

回答

39

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

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

下面是一些振型的更高级别的功能:

  • 支持所有的JCR 2.0所需的功能:存储库采集;认证;读/导航;查询;出口;节点类型发现;权限和能力检查
  • 支持大部分JCR 2.0可选功能:写入;进口;观察;工作区管理;版本;锁定;节点类型管理;同名兄弟姐妹;可订购的子节点;可共享节点;和mix:etag,mix:createdmix:lastModified mixin具有自动处理的属性。
  • 支持基于JCR-SQL2全文搜索表达式语法的JCR 1.0和JCR 2.0语言(例如XPath,JCR-SQL,JCR-SQL2和JCR-QOM)以及全文搜索语言。另外,振型支持一些非常有用的扩展到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模型和VDBs。为其他文件类型编写顺序器也很容易。
  • 自动和可扩展的MIME类型检测,使用文件扩展名和基于内容的检测使用Aperture进行即时检测。
  • 可扩展的文本提取框架,使用Tika可为Microsoft Office,PDF,HTML,纯文本和XML文件提供开箱即用的支持。
  • 使用JGroups进行简单的群集。
  • 将ModeShape嵌入到您自己的应用程序中。
  • RESTful API(需要部署到应用程序服务器中)。

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

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

  1. 振形在JBoss.org托管,并使用/与其他的JBoss技术集成,因为我们认为它更好地重用最佳的图书馆。但是ModeShape绝对不会绑定到JBoss应用程序服务器。 ModeShape可以在其他应用程序服务器上使用,方式与其他JCR实现(通常嵌入到Web应用程序中)完全相同。另外,ModeShape可以嵌入任何应用程序;毕竟,它只是一个普通的Java库。它甚至使用SLF4J,以便ModeShape日志消息可以发送到应用程序的日志框架。

    现在,尽管如此,我们通过一个简单的套件让deploy ModeShape to a JBoss AS installation更容易:简单地解压缩,稍微定制一下配置(取决于您的需要),然后启动您的应用服务器。 ModeShape将在应用程序服务器中作为服务运行,允许您部署的应用程序简单查找,使用和共享存储库。ModeShape甚至可以使用JBoss AS控制台进行监控。

  2. 我相信你指的是我们计划开发一个仓库可视化工具(不是一个完全成熟的CMS系统少得多)。关于这方面的工作刚刚开始,我们欢迎任何见解,功能要求和对与我们合作的兴趣。我知道Magnolia可以在ModeShape上运行,但不知道其他CMS应用程序是否可以执行此操作。 JBoss Enterprise Data Services (EDS) platform还包含ModeShape并将其用作元数据存储库。 JBoss Business Rules Management System也可以使用ModeShape作为其JCR存储库。

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

  4. ModeShape没有连接到其他CMIS系统的连接器,但正如您指出它目前正在工作(MODE-650)。我们还希望与Apache化学团队合作,确保JCR适配器与ModeShape协同工作。我们没有时间这样做。

  5. 振形确实有JcrTools实用工具类,可能是有用的。但是在JCR API之上编写的任何实用程序类都应该工作得很好。

希望帮助!振形的

+1

哇,兰德尔你可能让我放弃了5天基于jackrabbit的仓库工作,并将其重写到ModeShape。大坝:-)谢谢你带来一些见解,很好的概述。 – lisak

+0

排序器的设计和思想是辉煌的。非常有用和易于维护 – lisak

+0

顺便说一句,你很可能已经知道,但关于用户界面可视化,这个github.com/sourcesense/modeshape-stone是一个与Apache Sling一起运行的2.4Final分支,那怎么办? – lisak

4

文件似乎更好。与其他apache项目相比,Jackrabbit的人员提供的文档有限。我想,如果你需要花哨的(企业)功能,他们希望你付出代价。另外请注意,你几乎被迫使用一个sql数据库作为后端。因为几乎所有其他后端“不适合生产使用”。相较于振形谁just comes out and says it

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

我宁愿更清晰,而不是让人们搜索他们的文档和谷歌的信息不存在。

+3

“其他后端”不适合生产使用“ - 您在哪里看到的?我以为Jackrabbit只是一个文件系统支持的存储库?当然,我们在这里支付的CQ CRX使用文件系统存储库。 – Rup

0

以上比较已过时;现在您需要将比例分享与长耳老虎橡木进行比较。 http://jackrabbit.apache.org/oak/

兔崽子橡树是实现一个可伸缩的高性能和分级 内容库用作现代 世界级的网站和其他要求苛刻的内容应用的基础的努力。

相关问题