要使用Alfresco做开发,首先了解一下Alfresco的整个系统架构,在此之前,最好了解一下Java开发的基本知识和Spring框架。当然,你不必是这方面的高手,只要了解一下就行,以免这里介绍的内容你理解不了。
B/S结构
在安装了Alfresco后,Alfresco的运行结构是B/S式的,你可以使用Web浏览器打开应用界面并登陆进入系统里。整个系统如下图所示:
在Web应用程序服务器里(Web Application Server, 如:Tomecat, JBoss),Alfresco的应用程序(Alfresco Applications)包括了文档管理(DM)、Web内容管理(WCM)以及记录管理(RM)。这些应用分别是面向不同的企业内容的管理服务,
所有的Alfresco应用程序则是基于Alfresco Repository服务之上开发的,Alfresco Repository是一个核心程序。
Repository是用于存储各种数据资源的服务,它的作用是把实际的各种不同格式的数据转化成数据库或文件系统可以存储的数据,是一种基于数据库和文件系统之上的应用。
Alfresco Repository提供了一系列可以通过不同接口调用的数据存储服务,如:内容存储、查询、版本控制、内容转换/复制/编辑等,这些基础的服务可以为不 同的应用系统提供支持。Alfresco Repository的设计目标是为了能够针对不同的内容管理方案提供可以重用的组件,因此,了解 Repository的基本概念以及它的开发结构、可伸缩性和灵活性,对于正确和高效地构建内容管理系统是十分重要的。
Alfresco Repository的组件及服务
Alfresco Repository是基于Java开源框架Spring开发的,并与Spring整合得很深,你可以使用Spring的配置知识来管理Alfresco Repository的运行。
在设计上,Alfresco Repository是由组件(component)和服务(service)组成的。组件的作用是把内容的对象转换成独立而不重复的功能对象,并可以根据需要方便的添加和删除;而服务的作用是可以为不同的应用提供调用接口,并实施安全管理; 服务与组件的相互耦合,是利用了Spring的框架功能,反向控制及面向 切面的服务。如果你懂得如何配置Spring bean的话,你就可以容易地对Alfresco Repository的各种组件或服务进行灵活配置了。实际上,你可以在Spring的框架下为Alfresco Repository添加和修改组件及服务,这意味着你可以根据自己的需要升级这个内核或做扩展。
不过,即使不懂得Spring或Alfresco Repository的组件概念,你也可以容易地通过Alfresco的各种接口使用内容管理服务。
三个基本服务
Alfresco Repository的任务是存储和访问内容,这个任务是靠以下三个基本服务提供的:
一般情况下,Alfresco会把元数据存储在关系型数据库里,而内容本 身则存储在文件系统中。这很好理解,数据库存储提供高效的查询、事务处理及管理功能,而文件系统则保存比较大的内容数据。这些功能的实现都得益于成熟而强 大的开源项目Hibernate和Lucene。通过Hibernate的数据持久化框架,Alfresco的内容存储可以支持任何基于SQL查询的关系 型数据库,并实现高速访问缓存和事务处理;而Lucene的使用则可以为Alfresco提供高效的数据查询索引,并可以使用XPath来查询内容。 |
|
来自: 大漠孤狼2 > 《Alfresco》