1 / 141
文档名称:

alfresco之repository项目.doc

格式:doc   页数:141
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

alfresco之repository项目.doc

上传人:szh187166 2013/1/2 文件大小:0 KB

下载得到文件列表

alfresco之repository项目.doc

文档介绍

文档介绍:Repository项目
contains the implementation of the Alfresco repository - the back-end services such as persistence, search, categorisation, transformation, and so on. Also provides the Repository Java API. Configured via Spring.
体系结构
服务框架
服务框架提供了一个在服务、方面、和类型级别包装存储库行为的模式。服务框架是与admin ui 定义一起开发的,可能会根据需要对ui的支持而作出相应变动。
需求
服务框架要支持以下的存储开发角色:
服务实现人员——负责开发新的存储库服务并且根据需要把服务曝露为存储库的公共api;
内容建模人员——负责定义内容类型的结构和行为;
应用开发人员——负责开发内容应用(使用存储库api与内容类型的用户)。
服务实现人员
服务实现人员是java开发人员。这个服务框架提供了一个定义、实现、和曝露存储库api(也就是存储库服务)的模式。这个模式提出一个可扩展的、可插拔的存储库体系结构。
定义并且注册公共api接口;
注册公共api实现;
面向服务VS面向方面的组件;
定义和注册策略组件(与内容模型相关的回调);
在一个组件中包装内容模型行为(如用java语言实现的策略逻辑);
注册内部组件(支撑构造模块);
更改已有组件的行为(重写或替换);
用java语言实现组件;
用srcipt脚本实现组件;
组件之间的依赖;
组件的特定配置(XML);
服务的打包(用于install/uninstall)。
内容建模人员
内容建模人员是具有丰富知识的业务领域人员。他们的技术知识参差不齐。根据技术知识的多少分为:
终端用户——定义数据结构(如类型和属性);
高级管理员/用户——定义数据结构和行为(如类型、属性和业务逻辑);
开发人员——定义数据结构和行为。
服务框架不负责维护内容类型和元数据。类型机制组件会提供元数据的定义和查询。存储库预置了内容模型元数据,这些元数据是用于通用的模型方法,例如文件系统和合作。
服务框架在生命周期中与内容类型元数据紧密交互把类型引进来。它提供了一种把类型行为绑定到类型的机制。为了支持这个,服务框架提供了:
定义和注册策略点,如引进类型级别的行为(由服务实现人员定义)。策略与元数据模型关联:
类策略(类型和方面);
属性策略;
关系策略
为类型注册行为(业务逻辑)、属性和关系策略:
使用脚本开发(声明性注册);
使用java开发(程序性注册)。
基于内容类型的多态调用行为
重载行为;
访问父类行为(?);
为工具类访问策略元数据。
应用开发人员
应用开发人员是面向技术的,存储库应该为应用开企业的发人员(lamp、.net)提供所有的对类型的访问.
服务框架允许:
发现和访问存储库的公共服务(一些api);
通过一些语言消费内容库的服务:
java(主要的);
脚本语言;
bpel;
php;
存储库服务在下面这些应用中可用:
portal;
应用服务器;
web容器;
单独的应用。
服务框架模型
服务
公共的存储库api是一些面向服务的接口的集合。每个服务指定了名字并且有一个关联的java接口(在ServiceRegistry中注册名字与实现)。每个存储库曝露一个服务注册表,这个注册表允许用户检查所有可用的服务。默认情况下一些核心的大家都知道的服务都被封装进注册表。我们可以开发新的服务来扩展存储库的能力。用户通过服务名字访问服务。
一个以服务为中心的api(与完全的面向对象的api相反)为存储库服务(与webdav相似)提供了一个想对简单的接口。它使用一个无状态的方案,因此接口中每个方法都需要传递当前操作对象的参数。
服务接口是由后端的实现组件支持的。通常这个实现组件是一个java类,但也可以是脚本语言。服务注册表为每个服务识别组件的实现。这个间接的方式允许在不用不知道的情况下随意切换任何服务的实现。
组件可能被实现为一个内部存储库建造块,在这中情况下,它就不必注册为公共服务,但是仍然可以在内部被引用。
组件依赖其它的组件;依赖是通过依赖注入完成的。
组件类型
有两种不同的组件类型:服务组件与类组件。都可以曝露为公共存储服务接口。
服务组件
服务组件是在元模型中并没有直接捆绑到特定类的:例如Node_Service or Search。比如Node_Service 与Search服务,不关心查询的类是文件夹Folder还是内容。