Alfresco是领先的企业内容管理(ECM)的开源替代品,致力于真正的稳定性的企业级平台的开源创新。Alfresco的目标是不仅能提供一个开源产品,而且要超越商业ECM的产品特性,功能和用户社区。
Alfresco系统核心是一个运行在服务器上的内容仓库,同时这个Server还负责持久化内容,元数据管理和全文检索,如下图所示
[img]http://dl.iteye.com/upload/attachment/0063/1079/7ddc2009-7882-395b-92af-ea44ceb435fe.png[/img]
Alfresco是纯Java的应用程序,运行在Java Enterprise Edition平台上。Alfresco是基于spring平台开发的,spring负责提供模块化的功能,如版本管理,安全和规则。
/////////
三个基本服务
Alfresco Repository的任务是存储和访问内容,这个任务是靠以下三个基本服务提供的:
节点服务(Node Service) - 节点为内容提供元数据metadata及结构structure。一个节点包括属性(如:作者)以及与其它节点的关系(如目录上下级或注释)
内容服务(Content Service)- 内容就是信息数据的载体,例如:word文档、图片或XML数据。元数据及内容都可以根据内容模型的规则定义被结构化,例如:Alfresco的文档管理应用依赖于目录(folder)和文件(file)的模型规则
搜索服务(Search Service)- 通过Lucene引擎对内容进行索引,并可以对元数据或内容进行不同方式的查询
一般情况下,Alfresco会把元数据存储在关系型数据库里,而内容本身则存储在文件系统中。这很好理解,数据库存储提供高效的查询、事务处理及管理功能,而文件系统则保存比较大的内容数据。这些功能的实现都得益于成熟而强大的开源项目Hibernate和Lucene。通过Hibernate的数据持久化框架,Alfresco的内容存储可以支持任何基于SQL查询的关系型数据库,并实现高速访问缓存和事务处理;而Lucene的使用则可以为Alfresco提供高效的数据查询索引,并可以使用XPath来查询内容。
[img]http://dl.iteye.com/upload/attachment/0069/4246/c5423228-9779-36c0-956f-d147222f7913.png[/img]
Alfresco系统核心是一个运行在服务器上的内容仓库,同时这个Server还负责持久化内容,元数据管理和全文检索,如下图所示
[img]http://dl.iteye.com/upload/attachment/0063/1079/7ddc2009-7882-395b-92af-ea44ceb435fe.png[/img]
Alfresco是纯Java的应用程序,运行在Java Enterprise Edition平台上。Alfresco是基于spring平台开发的,spring负责提供模块化的功能,如版本管理,安全和规则。
/////////
三个基本服务
Alfresco Repository的任务是存储和访问内容,这个任务是靠以下三个基本服务提供的:
节点服务(Node Service) - 节点为内容提供元数据metadata及结构structure。一个节点包括属性(如:作者)以及与其它节点的关系(如目录上下级或注释)
内容服务(Content Service)- 内容就是信息数据的载体,例如:word文档、图片或XML数据。元数据及内容都可以根据内容模型的规则定义被结构化,例如:Alfresco的文档管理应用依赖于目录(folder)和文件(file)的模型规则
搜索服务(Search Service)- 通过Lucene引擎对内容进行索引,并可以对元数据或内容进行不同方式的查询
一般情况下,Alfresco会把元数据存储在关系型数据库里,而内容本身则存储在文件系统中。这很好理解,数据库存储提供高效的查询、事务处理及管理功能,而文件系统则保存比较大的内容数据。这些功能的实现都得益于成熟而强大的开源项目Hibernate和Lucene。通过Hibernate的数据持久化框架,Alfresco的内容存储可以支持任何基于SQL查询的关系型数据库,并实现高速访问缓存和事务处理;而Lucene的使用则可以为Alfresco提供高效的数据查询索引,并可以使用XPath来查询内容。
[img]http://dl.iteye.com/upload/attachment/0069/4246/c5423228-9779-36c0-956f-d147222f7913.png[/img]