zoukankan      html  css  js  c++  java
  • Atitit Java内容仓库(Java Content Repository,JCR)的JSR170 文件存储api标准 目录 1. Java内容仓库 1 2. Java内容仓库 2 2.1.

    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

     

    1. 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-170JSR-283) 的目标就是提供这样一个接口。JCR 的一个主要优点是,它不绑定到任何特定的底层架构。例如,JCR 实现的后端数据存储可以是文件系统、WebDAV 仓库、支持 XML 的系统,甚至还可以是 SQL 数据库。此外,JCR 的导出和导入功能允许一个集成器在内容后端与 JCR 实现之间无缝地切换。

    2. Java内容仓库

     编辑

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

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


    Java内容仓库

    Java内容仓库

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

     

    2.1. 存储模型

    编辑

     

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

     

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

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

     

     

    3.1. Apache Jackrabbit

     编辑

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

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

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

    JackrabbitApache基金会的顶级项目之一。

    3.2. JCR 及 Apache Jackrabbit 简介

    JCR 是 Content Repository for Java Technology API 的缩写,译为 Java 内容存储规范,其规范定义在 JSR170 和 JSR283,两者分别定义了 JCR 的 1.0 和 2.0 版本。其目的是简化 Java 的数据管理,并希望建立起一种基于内容仓库(Repository)而不是传统数据库(例如 RDBMS)的编码模型。内容仓库的一个典型应是内容管理系统(CMS)。JCR 是内容仓库的抽象,因为实际的内容仓库可以基于数据库,可能基于文件系统或者其他适合的存储机制,例如 WebDAV 仓库。而内容仓库的访问也有多种方式,包括直接访问(如应用程序的本地仓库),或者作为资源来访问(如通过 JNDI 来访问 Java EE 的容器),也可以使用 HTTP 或者 RMI 方式通过网络访问。

    Apache Jackrabbit 是由 Apache Foundation 提供的 JCR 的开源实现。其起源可以追溯到 2002 年的 Apache Jakarta Slide 项目,该项目计划实现 JSR170 定义的内容仓库。随后在 2004 年,关于 JCR 的开源实现成为一个单独的项目,并命名为“Jackrabbit”。关于 Jakarta 和 Slide 项目,最初的 Jakarta 是一个包含 Ant、Maven、JMeter 等著名子项目的集合,Slide 也是其中的一个子项目。Slide 项目的主要内容是内容仓库,其中一个重要功能就是对 WebDAV 的支持,WebDAV 也可以看作是内容仓库的重要基石。但 Slide 项目在 2004 年以后便没有更新,并于 2007 年正式关闭。目前对 WebDAV 的支持主要来自 Jackrabbit 项目,实现 JCR1.0 的最新版本为 Jackrabbit1.6,实现 JCR2.0 的最新版本为 Jackrabbit2.4

     

     

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

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

  • 相关阅读:
    CSS 换行
    CSS div仿table样式
    CSS 选择器优先级
    ajax 请求前后处理
    JQuery 数组按指定长度分组
    JQuery .width()/.css("width")方法 比较
    JS 生成唯一值UUID
    JS/jQuery点击某元素之外触发事件
    JS/Jquery关系
    利用Nginxcp为cPanel/WHM服务器开启nginx支持
  • 原文地址:https://www.cnblogs.com/attilax/p/15197599.html
Copyright © 2011-2022 走看看