ecm:enterprise content manager(企业内容管理),好像有点意思,就介绍下吧。企业内容应该包括两部分:文档类和元数据。说到ecm,就不得不说Java Content Repository(Java内容仓库),在java体系中,有专门的标准即jsr170,是jcp(Java community process)制定。
一什么是内容仓库?
1、定义
JSR-170 是这样定义内容仓库的,内容仓库由一组 workspace(工作空间)组成,这些workspace通常应该包含相似的内容。一个内容仓库有一个到多个 workspace。每个workspace都是一个树状结构,都有一个唯一的树根节点(root node)。树上的item(元素)或者是个node(节点)或者是个property(属性)。每个node都可以有零个到多个子节点和零个到多个子属性。只有根节点没有父节点,其余所有的节点都有一个父节点。property 也必须有一个父节点,但它没有子节点或是子属性,property 是叶子元素。property是真正存储数据的元素。类似于linux下的文件系统,还有点类似于ldap中的数据组织方式(最近看的东西有点杂,分不清了);
2、级别
jsr定义了三种级别,依次是:
Level 1:定义了一个只读的内容仓库。
Level 2:定义了可写的内容仓库。
Advanced options:定义实现五种附加功能,版本控制、JTA、SQL查询、清晰的内容锁定和监视。
二、java对内容仓库的支持
java制定了内容仓库的标准(个人认为是api接口),但没有制定底层的实现技术,即不管持久层采用的什么技术,无论是xml、rdb、文件等方式;
三、jackrabbit的介绍:
既然java只是制定了实现的接口,没有具体制定实现,下面就介绍一个对jsr170支持很好的项目javarabbit。
1、内容仓库的目录结构
D:\workspace\TestJackRabbit
---repository.xml
---repository
----repository
----version
----workspaces
2、jackrabbit的底层数据存储方式:采用java自带的内嵌数据库derby。
3、java操作内容库
a)获得根节点
Repository r = new TransientRepository();
Session session = r.login(new SimpleCredentials("userid", "".toCharArray()));
Workspace ws = session.getWorkspace();
Node rn = session.getRootNode();
b)插入数据
//将内容添加到内容仓库
Node encyclopedia = rn.addNode("wiki:encyclopedia");
Node p = encyclopedia.addNode("wiki:entry");
p.setProperty("wiki:title", new StringValue("rose"));
p.setProperty("wiki:content", new
StringValue("A rose is a flowering shrub."));
p.setProperty("wiki:category",
new Value[]{
new StringValue("flower"),
new StringValue("plant"),
new StringValue("rose")});
Node n = encyclopedia.addNode("wiki:entry");
n.setProperty("wiki:title", new StringValue("Shakespeare"));
n.setProperty("wiki:content", new
StringValue("A famous poet who likes roses."));
n.setProperty("wiki:category", new StringValue("poet"));
session.save();
分享到:
相关推荐
JSR-170,全称为Java Portlet API 1.0,是Java Community Process(JCP)发布的一项标准,用于定义portlet如何在门户环境中运行、交互和共享数据。本文档将深入探讨JSR-170标准的核心概念、API以及开发实践。 ...
本文是JSR-133规范,即JavaTM内存模型与线程规范,由JSR-133专家组开发。本规范是JSR-176(定义了JavaTM平台 Tiger(5.0)发布版的主要特性)的一部分。本规范的标准内容将合并到JavaTM语言规范、JavaTM虚拟机规范...
Further information about JSR 170 can be found at http://www.jcp.org/en/jsr/detail?id=170 The Reference Implementation (RI) and the Technology Compatibility Kit (TCK) and the Specification Changelog ...
### JSR268门户标准概述 #### 一、JSR168与JSR286背景 JSR168(Java Specification Request 168)是Java门户技术的第一个标准化规范,发布于2003年10月。这一规范定义了一种通用框架,用于构建基于门户的应用程序...
JSR(Java Specification Requests)是Java社区进程(JCP,Java Community Process)的一部分,用于提出和定义新的Java技术规范。JSR168和JSR268是两个与Java Portal技术相关的标准,它们主要涉及如何创建和管理可...
**JSR 173 API**,全称为Java Specification Request 173,是Java社区进程(Java Community Process)发布的一个标准,旨在为Java平台引入标准化的可扩展性框架,以便处理XML流数据。该API的主要目标是为Java开发者...
Spring Core提供了一种优雅的方式来处理参数校验,特别是通过JSR 303、JSR 349和JSR 380这些标准注解,实现了高效且易于维护的验证机制。 JSR 303最初定义了JavaBean验证的标准,而JSR 349是其修订版,主要增加了对...
JSR268 规范详解 JSR268 是 Java Portlet Specification 的第二个版本,旨在提供更加强大和灵活的 Portlet 开发体验。该规范的出现是为了解决 JSR168 的一些限制和问题,例如仅支持基本用例、功能上有一些限制等。 ...
赠送jar包:jsr311-api-1.1.1.jar; 赠送原API文档:jsr311-api-1.1.1-javadoc.jar; 赠送源代码:jsr311-api-1.1.1-sources.jar; 赠送Maven依赖信息文件:jsr311-api-1.1.1.pom; 包含翻译后的API文档:jsr311-api...
JSR(Java Specification Request)168和286是定义portlet标准的两个关键版本,它们由Java Community Process(JCP)发布,旨在促进portlet在门户环境中的互操作性和可扩展性。 JSR 168是portlet规范的第一个主要...
Java内存模型(JMM)是Java程序并发执行时的核心规范,由JSR-133专家小组开发。JSR-133全称为JavaTM Memory Model and Thread Specification,它的目标是确保多线程环境下程序的可见性和一致性。该规范与Java平台...
**JSR256 API** 是Java Community Process (JCP) 定义的一个规范,全称为Java Specification Request 256。这个API专注于在Java 2 Micro Edition (J2ME) 平台上提供传感器接口,使得移动设备和嵌入式系统能够有效地...
**JSR133中文版** 是一份关于Java内存模型(Java Memory Model,JMM)的重要文档,它详细解释了JSR(Java Specification Requests)133中的规范,该规范对Java平台的并发编程有着深远的影响。JSR是Java社区进程...
JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator。JSR 303 用于对 Java Bean 中的字段的值进行验证。 Spring MVC 3.x 之中也大力支持 JSR-303,可以在控制器中对...
jsr305.jar jsr305.jar jsr305.jar
赠送jar包:jsr311-api-1.1.1.jar; 赠送原API文档:jsr311-api-1.1.1-javadoc.jar; 赠送源代码:jsr311-api-1.1.1-sources.jar; 赠送Maven依赖信息文件:jsr311-api-1.1.1.pom; 包含翻译后的API文档:jsr311-api...
赠送jar包:jackson-datatype-jsr310-2.12.5.jar; 赠送原API文档:jackson-datatype-jsr310-2.12.5-javadoc.jar; 赠送源代码:jackson-datatype-jsr310-2.12.5-sources.jar; 赠送Maven依赖信息文件:jackson-...
JSR133规范
赠送jar包:jsr305-3.0.2.jar; 赠送原API文档:jsr305-3.0.2-javadoc.jar; 赠送源代码:jsr305-3.0.2-sources.jar; 赠送Maven依赖信息文件:jsr305-3.0.2.pom; 包含翻译后的API文档:jsr305-3.0.2-javadoc-API...