开源内容管理项目Fedora全称是Flexible Extensible Digital Object and repository Architecture,其主要目的是提供对各种数字对象的管理和访问。
Fedora系统是由两部分基础功能组成,(1) 最基础的Fedora数字对象的架构(digital object architecture).(2) Fedora知识库(repository)设计。 数字对象是由内容(contents(例如数据和元数据) )和行为(behaviors)聚合而成。而知识库则提供了对数字对象的管理和访问服务。而这整个就可以作为一个数字图书馆的基础。
架构
1. 数字对象架构
Fedora数字对象是由一个唯一的永久标识符、一个或多个数据分发器(disseminator)、系统元数据以及一个或多个数据流组成。一个重要的特色就是他能够实现内容和行为的聚合。
从访问的角度来看,这种架构实现了两个功能:1. 它揭示了对数据对象的普通和扩展行为(比如方法定义集),2 当客户端发出调用其中某一个方法时,它执行内容分发的功能。数据分发器由行为定义和行为实现两方面,实质就是一些抽象接口,定义了一些方法和实现。数据流(datastream)则包括数据内容和元数据内容。
今天主要看了开源项目Fedora的架构,从中还是感觉到有不少收获,在此项目中,采用的面向对象的设计方式,是作为数字图书馆的底层基础。其中Fedora数字对象的架构(digital object architecture)和 Fedora知识库(repository)设计对我们的工作还是很有借鉴意义的,比如对内容的架构模型,数字内容或资源封装于与数字对象中,对象总还包括多个内容分发器(dissemination),我的理解就是对于不同的内容访问方法的集合,比如,对复杂的多媒体的操作方法集合就可以订一个内容分发器(dissemination),对不同语言或格式的文本内容之间进行转换的方法又可以定义另外一个内容分发器,等等。
而对内容的访问和管理则是通过知识库(repository)提供的两个相关的Web service来实现,一个是管理web service,另一个是访问web service。感觉从客户端的角度来看,这是接触知识库的两个入口。可能有理解错误的地方,还希望你们多指正!