Atitit Java内容仓库(Java Content Repository,JCR)的JSR-170文件存储api标准

Atitit Java内容仓库(Java Content Repository,JCR)的JSR-170文件存储api标准

目录

1. Java内容仓库 1

2. Java内容仓库 2

2.1. 存储模型 2

3. JackRabbit就是一种面向文档的数据库, 3

3.1. Apache Jackrabbit 3


[if !supportLists]1. [endif]Java内容仓库


问题提出 存取各种信息对于任何应用程序来说非常平常,大多数时候我们会把数据保存在关系数据库中。数据库处理规范数据类型十分在行,但是在处理如图像、文档等二进制数据时却不是那么得心应手。尽管可以用文件系统作为替代——而且它们还提供了更好的性能。但它们既没有提供用于搜索信息的查询语言,也没有提供表示关系或事务的概念。什么是JSR-170 幸运的是,被称为Java内容仓库(Java Content Repository,JCR)的JSR-170,试图以独立于具体实现的方式解决这些(以及其它)问题。即,不论底层资源(如,数据库,本地或虚拟文件系统)是什么,API都将相同。在数据存储之上,JCR提供诸如访问粒度控制、版本控制、内容事件、全文检索和过滤等内容服务。采用JCR能带来什么呢?包括如事务、伸缩性、数据库端的查询、使用超大文件带来的真正好处、流、访问控制和文件系统端的层次结构,以及诸如版本标定、全文检索,以及“数据优先”方法。由Day Software领导的JSR-170背后的专家组付出了艰辛的劳动。2005年6月完成,在javax.jcr包中,API包含了大约50个类(主要是接口和异常)。2006年早些时候,我们的主角JackRabbit登场了, 它是JCR 1.0版本的参考实现,除了JackRabbit之外,还有许多开源或者商业的JCR 1.0的不同实现。


JCR全拼Java content repository,中文名为java内容仓库。随着内容管理应用程序的日益普及,对用于内容仓库的普通、标准化 API 的需求已凸现出来。Content Repository for Java Technology API (JSR-170、JSR-283) 的目标就是提供这样一个接口。JCR 的一个主要优点是,它不绑定到任何特定的底层架构。例如,JCR 实现的后端数据存储可以是文件系统、WebDAV 仓库、支持 XML 的系统,甚至还可以是 SQL 数据库。此外,JCR 的导出和导入功能允许一个集成器在内容后端与 JCR 实现之间无缝地切换。

[if !supportLists]2. [endif]Java内容仓库

 编辑

本词条缺少信息栏名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

Java内容仓库是JSR-170中定义的一个内容存储的规范。

  Java内容仓库

Java内容仓库

Java内容仓库是JSR-170中定义的一个内容存储的规范。JSR-170试图建立一套标准的API去访问内容仓库。如果你对内容管理系统(CMS)不熟悉的话,你一定会对内容仓库是什么感到疑惑。你可以这样去理解,把内容仓库理解为一个用来存储文本和二进制数据(图片,word文档,PDF等等)的数据存储应用程序。一个显著的特点是你不用关心你真正的数据到底存储在什么地方,是关系数据库?是文件系统?还是XML?不仅仅是数据的存储和读取,大多数的内容仓库还提供了更加高级的功能,例如访问控制,查找,版本控制,锁定内容等等


[if !supportLists]2.1. [endif]存储模型

编辑


内容仓库有很多工作区(workspace)组成,每个工作区是一颗树。如左图,树是由节点(node)和属性(property)组成,其中属性隶属节点,属性可以存储字符串、整形、布尔型、二进制等信息。每个工作区只有一个根节点(root),除了跟节点,其它节点都有一个父节点


[if !supportLists]3. [endif]JackRabbit就是一种面向文档的数据库

它和MongoDB,CouchDB的功能十分接近,优势在于JackRabbit遵从JCR标准,日后可以迁移到其他同样兼容JCR的性能更好的商业解决方案上。



[if !supportLists]3.1. [endif]Apache Jackrabbit

 编辑

本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

Apache Jackrabbit是基于java内容仓库仓库JSR170、JSR283的完全实现,支持存储结构化和非结构化内容。具有全文索引、版本管理、事务、锁、事件监听、访问控制等特性。

Jackrabbit是Java内容仓库(Java Content Repository)实现。不准确地说是一种即可存储文本又可存储二进制数据(图片,word文档,PDF等等)的文档数据库。到目前为止最新稳定版本是2.11.1,从1.x到2.x版本增加了很多高级特性,比如锁,事务等。1.x是基于JSR170的实现,2.x是基于JSR283的实现。jackrabbit oak是jackrabbit的下一代产品,其致力于大规模高性能的内容仓库以便满足当代世界级站点需求。

Jackrabbit是Apache基金会的顶级项目之一。



JackRabbit的前世今生 - 萌哒哒~ - 博客园.html

Java Content Repository API 简介 转自(https___www.ibm.com_developerworks_cn_java_j-jcr_) - 蜗牛兰 - 博客园.html

e�R��Ƙ�

你可能感兴趣的:(Atitit Java内容仓库(Java Content Repository,JCR)的JSR-170文件存储api标准)