什么是内容存储库的优点(不是谈论CMS的)

Bil*_*mus 12 jackrabbit content-repository

鉴于很多人使用内容存储库.一定有充分的理由.我正在构建一个需要存储内容的新Web应用程序.有人能帮我理解吗?

使用像Apache Jackrabbit这样的内容存储库有什么好处,而不是编写自己的代码/ API来存储图像或文本页面?编写自己需要时间等,但实现和学习内容存储库API等新框架也是如此.在我看来,如果您需要增强或修复它,您知道自己的代码并拥有直接的专业知识.使用另一个框架,你需要学习它的缺点,并且修改你知道的不知道的代码总是更容易...即你不知道底层框架代码以及你自己的代码.

正如我所说,很多人都使用它们.必须有一个理由.我不能把它视为另一个"每个人都在使用它们,所以我们也应该这样做." 至少我希望不是这样.:)

Ber*_*taz 13

JCR存储库允许您将所有内容(从结构化数据库类型数据到大型多媒体文件)存储在一个位置并使用单个API,这非常方便,使您的代码更简单,避免了文件和数据之间的阻抗不匹配您通常在基于内容的系统中拥有的.

JCR还提供了许多您不必自己构建或组装的基础结构功能:搜索(包括全文),观察(当某些内容发生变化时的回调)版本控制,数据类型包括多值,有序节点等. .

如果你允许一个无耻的插件,我在http://java.dzone.com/articles/java-content-repository-best上的 "JCR - 两全其美"文章对此进行了更详细的描述,并提供了一个阅读列表. JCR规范,应该允许你在不阅读整个内容的情况下获得良好的概述.

本文使用Apache Sling作为示例,它结合了JCR存储库提供了一个非常好的(IMO,但作为Sling提交者,我有偏见;-)平台,用于基于内容的应用程序.


Dav*_*ine 8

我最近的项目涉及两种选择:具有多级缓存机制的定制数据存储(MySQL和图像文件)以及基于JCR的商业存储库.一些想法:

从短期来看,DIY解决方案可以降低复杂性:您只需要构建和学习所需内容.至少有机会针对您的特定应用程序的需求优化数据存储 - 超过可能的检索速度,但可能存储占用空间,安全性或可靠性问题最重要.

但是,从长远来看,您正在寻找将本土系统扩展到新内容类型(例如视频)或提供新功能(可能是版本控制)的大量工作.

此外,很难将数据存储方法的选择与内容提供商用于填充和维护数据存储的工具选择分开.您必须为作者提供比使用textarea和提交按钮的HTML表单更多的内容.