出处:翻译自Alfresco官方网站
要使用Alfresco做开发,首先了解一下Alfresco的整个系统架构,在此之前,最好了解一下Java开发的基本知识和Spring框架。当然,你不必是这方面的高手,只要了解一下就行,以免这里介绍的内容你理解不了。
B/S结构
在安装了Alfresco后,Alfresco的运行结构是B/S式的,你可以使用Web浏览器打开应用界面并登陆进入系统里。整个系统如下图所示:
在Web应用程序服务器里(Web Application Server, 如:Tomecat, JBoss),Alfresco的应用程序(Alfresco Applications)包括了文档管理(DM)、Web内容管理(WCM)以及记录管理(RM)。这些应用分别是面向不同的企业内容的管理服务,
- 文档管理(DM) - 面向企业文档共享、公文流转、版本控制、讨论等的应用
- Web内容管理(WCM) - 面向企业网站的建设、内容的采集及发布、Web应用程序开发等的应用
- 记录管理(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的任务是存储和访问内容,这个任务是靠以下三个基本服务提供的:
- 节点服务(Node Service) - 节点为内容提供元数据metadata及结构structure。一个节点包括属性(如:作者)以及与其它节点的关系(如目录上下级或注释)
- 内容服务(Content Service)- 内容就是信息数据的载体,例如:word文档、图片或XML数据。元数据及内容都可以根据内容模型的规则定义被结构化,例如:Alfresco的文档管理应用依赖于目录(folder)和文件(file)的模型规则
- 搜索服务(Search Service)- 通过Lucene引擎对内容进行索引,并可以对元数据或内容进行不同方式的查询
一般情况下,Alfresco会把元数据存储在关系型数据库里,而内容本身则存储在文件系统中。这很好理解,数据库存储提供高效的查询、事务处理及管理功能,而文件系统则保存比较大的内容数据。这些功能的实现都得益于成熟而强大的开源项目Hibernate和Lucene。通过Hibernate的数据持久化框架,Alfresco的内容存储可以支持任何基于SQL查询的关系型数据库,并实现高速访问缓存和事务处理;而Lucene的使用则可以为Alfresco提供高效的数据查询索引,并可以使用XPath来查询内容。
- 大小: 19.9 KB
- 大小: 27.3 KB
- 大小: 25.7 KB
分享到:
相关推荐
本文将围绕Alfresco的核心库——"alfresco-core-484-2.9.3B.jar.zip"进行解析,深入探讨其内部结构、功能特性以及与Alfresco系统的关系。 首先,"alfresco-core-484-2.9.3B.jar"是Alfresco的核心组件之一,包含了...
3. **NFS协议**:NFS是由Sun Microsystems开发的文件系统协议,常用于Unix和Linux系统。通过NFS协议,Alfresco-JLAN可以实现与这些系统的文件共享,提升跨平台协作的效率。 4. **纯Java实现**:Alfresco-JLAN的纯...
### Alfresco文档管理系统1 ...综上所述,针对Alfresco文档管理系统中的具体问题,不仅需要掌握Alfresco本身的知识体系,还需要具备扎实的操作系统内核知识以及调试技巧,才能有效地定位并解决问题。
- **基本文档管理**:Alfresco 提供了一个强大的文档管理系统,支持版本控制、权限管理等。 - **网页内容管理**:系统支持动态网站构建和管理,能够快速搭建和更新网站内容。 - **内容创作工具**:提供了丰富的内容...
本文档将详细介绍与Alfresco开发相关的各个方面。 #### 二、Alfresco架构概述 Alfresco采用Java作为主要开发语言,并基于Spring框架构建。其核心组件包括: - **内容服务**:负责文档存储与检索。 - **协作服务**...
Alfresco是一款开源的企业内容管理(ECM)系统,它提供了强大的文档管理、协作和工作流程功能。在Alfresco中,Web Services是一种常见的API接口,允许开发者通过HTTP协议与Alfresco服务器进行交互,包括文件的上传...
3. **Alfresco Developer Framework (ADF)**:专门针对Alfresco平台的开发框架,提供API和UI组件,简化与Alfresco的集成。 三、开发与部署 在开发过程中,开发者可以利用Angular CLI进行项目初始化、构建和测试。 ...
### Alfresco Developer Guide开发手册知识点概述 #### 一、Alfresco平台介绍 - **Alfresco在实际应用中的体现**:本章节首先通过实际案例介绍了Alfresco平台的应用场景,帮助开发者理解其核心价值所在。 - **基本...
8. **Alfresco模块化开发**: 项目可能采用了Alfresco的模块化结构,如AMP(Alfresco Module Package)或Aikau(用于构建Share UI的JavaScript框架)。 9. **单元测试和集成测试**: 为了确保Alfresco应用的质量,...
Alfresco 是一款开源的企业内容管理系统(ECM),它提供了文档管理、协作、记录管理和工作流程等功能。在大型企业环境中,用户数据的迁移和同步是一个常见的需求。标题提到的 "alfresco-user-export" 是一个专门为...
《基于Java的开发源码——Alfresco内容管理系统解析》 Alfresco Content Management是一款开源的企业级内容管理系统,它基于Java技术栈构建,为全球众多企业和组织提供了强大的文档管理、协作以及工作流程自动化...
在IT行业中,Alfresco是一款开源的企业内容管理(ECM)平台,主要用于文档管理、协作、网站管理和工作流程。Alfresco SDK(软件开发工具包)则是为开发者提供的一套工具,帮助他们更容易地构建、集成和部署Alfresco...
Alfresco Encryption Plugin是一款专为Alfresco内容管理系统设计的开源加密插件,旨在增强Alfresco的安全性,保护用户存储在系统中的敏感信息。这款插件允许用户对文档进行加密,确保只有授权的人员才能访问,从而...
总之,Alfresco不仅是一款功能强大的文档管理系统,更是一个开放的开发平台,为企业和开发者提供了无限的创新空间。通过深入了解Alfresco的架构、特性和开发工具,开发者可以充分利用这款软件的潜力,为组织创造更大...
《Alfresco Share详解与开发指南》 Alfresco Share是一款开源的企业内容管理(ECM)前端应用,专为协作、文档管理和知识共享而设计。它基于Alfresco ECM平台,提供了一个用户友好的界面,使得非技术用户也能轻松地...
Alfresco是一款开源的企业内容管理系统,旨在提供文档管理、协作以及内容共享等功能。而Alfresco-JLAN则是Alfresco的一个扩展模块,它使得NAS(Network Attached Storage,网络附加存储)共享存储变得更加灵活,能够...
在IT领域,文档管理系统的使用越来越广泛,Alfresco和Documentum作为两个知名的开源和企业级文档管理系统,各有其优势。本文将详细探讨如何实现Alfresco与Documentum之间的数据互相导入,这对于在不同系统间迁移数据...