当前位置: 首页 > 面试题库 >

ModeShape提供了JackRabbit没有提供的功能?

赵景曜
2023-03-14
问题内容

我只是熟悉Apache JackRabbit。我已经完成了一些用于文档管理的多用户存储库。

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

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

  2. 文档说将来的发行版应该具有UI集成,这还有很长的路要走吗?它将是什么样的UI集成?是否存在使用ModeShape的东西,就像带有JackRabbit的Hippo CMS一样?可惜Gatein不使用它。

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

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

  5. 支持/实用程序库如何处理,以便在使用Node时为开发人员提供便利

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


问题答案:

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

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

这是ModeShape的一些高级功能:

  • 支持所有JCR 2.0必需的功能:存储库获取;认证;阅读/导航;查询 出口; 节点类型发现;权限和功能检查
  • 支持大多数JCR 2.0可选功能:编写;进口; 观察 工作区管理;版本控制;锁定; 节点类型管理;同名兄弟姐妹 可排序的子节点;共享节点;和mix:etagmix: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)”)
    • 完全外部联接和交叉联接
    • 和更多
  • 从多个存储选项中进行选择,包括RDBMSes(通过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将作为服务在应用程序服务器中运行,从而使您部署的应用程序可以简单地查找,使用和共享存储库。甚至可以使用JBoss
AS控制台监视ModeShape。

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

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

  3. ModeShape没有连接到其他CMIS系统的连接器,但是正如您所指出的那样,该连接器正在工作中(MODE-650)。我们还希望与Apache Chemistry团队合作,以确保JCR适配器可与ModeShape一起使用。我们只是没有时间这样做。

  4. ModeShape确实具有JcrTools实用程序类,该类可能被证明是有用的。但是,任何在JCR API之上编写的实用程序类都可以正常工作。

希望有帮助!



 类似资料:
  • 如果你按照这些说明开始使用kubernetes,你添加一个apt源(德布http://apt.kubernetes.io/ kubernetes-xenial main)并被告知安装软件包“docker-engine”。这个包由kubernetes apt库提供,与Ubuntu (docker.io)提供的包冲突。 Kubernetes仓库中的docker引擎软件包和Ubuntu xenial中的

  • 从angular 4.4升级到5.0,并将所有HttpModule和Http更新到HttpClientModule后,我开始出现此错误。 我还再次添加了HttpModule,以确保这不是由于某些依赖关系造成的,但它并不能解决问题 应用程序内。模块,我已正确设置 我不知道这个错误是从哪里来的,或者我不知道如何去了解它。我也有一个警告(也放在下面),可能是相关的。 警告信息:

  • 我有一个问题加载类到Angular组件。很长一段时间以来,我一直试图解决这个问题;我甚至尝试将它加入到一个文件中。我拥有的是: 一个pplication.ts 服务/名称服务。ts 我一直收到一条错误消息,说。 有人能帮我发现代码的问题吗?

  • 我正在使用Yeoman+Angular Generator为我的应用程序,我一直在努力地跑来跑去与Jasmine相处!这就是我被困住的地方。我希望能够在Jasmine测试中使用jQuery选择器。我已经安装了和包。然后我为bower安装了它(我是新来的,我不知道应该为什么安装什么!)。我已经在中手动添加了路径,但仍然得到这样的消息: 这就是我的因果报应配置的样子:

  • 我将Application类增强为Configuration类,并将其标记为@Component,以便提供的值可以在使用代码中自动安装: 我尝试了自动连接上述数据源: 在我的pom中。xml我使用了spring boot starter数据jpa。 但它不起作用: 为什么?

  • 嗨,我正在尝试连接我的ElasticSearch客户端到我的本地主机,并尝试从那里获得索引。 curl-xput'http://localhost:9200/twitter/'curl-xput'http://localhost:9200/twitter/_mapping/tweet'-d'{ “tweet”:{“properties”:{ “message”:{“type”:“string”,“