JSR-170 (Java Content Repository (JCR)Java内容仓库包)
1、什么是Content Repository ?
可以把Content Repository 看作是一个通用的数据存储程序,可以用于存储txt和其他二进制文件(图片、Word、PDF等)。
Content Repository 的一个关键特性是,你不必关心数据是如何存放的(无论数据存放在数据库、文件系统还是XML文件)。
Content Repository 可以对文件进行访问控制、查询、版本控制、锁定等。
2、JSR-170的目标:
通过javax.jcr.* 中的类和接口可以访问所有兼容JSR-170的 Content Repository。
实现了内容服务的一些功能如基于编辑者的版本控制、完全文本搜索、访问控制、内容分类和内容事件监控。可以把JSR-170看作是一个访问内容仓库的类似JDBC的API。
如果一些厂家的内容仓库不支持JSR-170则可以通过这些厂家提供的JSR-170驱动来完成从JSR-170与厂家特定的内容仓库的转换。
内容仓库的数据存储方式可以是数据库或者文件系统或者是二者的混合。
3、JSR-170具有如下优点:
●对于开发者无需了解厂家的仓库特定的API,只要兼容JSR-170就可以通过JSR-170访问其仓库。
●对于使用CMS的公司则无需花费资金用于在不同种类CMS的内容仓库之间进行转换。
●对于CMS厂家,无需自己开发内容仓库,而专注于开发CMS应用。
4、JSR-170内容仓库模型:
JSR-170声称内容仓库是由一些workspace组成的,每个工作空间应该存放相似的数据,每个工作空间包含一个树根节点,下面是一些items,每个item是一个node或者property,每个node下面包含一个或多个child node和一个或者多个property,property不能有子节点,它们是叶子节点,内容仓库中真正的值存放在property中。
5、为了使厂家更容易的实现JSR-170,JSR-170提供了三种承诺级别:
Level 1:定义了一个只读的内容仓库。
Level 2:定义了可写的内容仓库。
Advanced options:定义实现五种附加功能,版本控制、JTA、SQL查询、清晰的内容锁定和监视。
引自:http://blogger.org.cn/blog/more.asp?name=lylhelin&id=20455