官术网_书友最值得收藏!

Alfresco architecture overview

Alfresco is the leading open source option for ECM. Alfresco architecture is designed based on open standards JSR-170, JSR-168, and JSR-283. JSRs are industry standards defined by the Java community for uniform repository access, using the Java platform application programming interface. Refer to https://en.wikipedia.org/wiki/Content_repository_API_for_Java for more details.

Alfresco supports pluggable aspect-oriented architecture. It is lightweight, modular, and scalable.

The following is a high-level diagram of the Alfresco architecture:

Alfresco architecture overview

Alfresco Share

This is the collaboration content management platform in Alfresco. It is built on the Surf framework. The Surf framework was developed by Alfresco, but in 2009 Alfresco began working with Spring Source and announced the Spring Surf Extension framework. Later on, both Spring Source and Alfresco were collectively developed and are available as plugins in Spring MVC 3.x.

Refer to the following links for more details:

Alfresco Share simplifies document capturing and sharing, and the retrieval of data for teams, resulting in better collaboration. This in turn increases the productivity of teams and reduces the volume of e-mails.

Alfresco Share also provides advanced administrative tools. It supports module-based extension, which supports the ability to remove, add, or modify any component without changing any out-of-the box code.

Alfresco repository

This is the main core of Alfresco. Alfresco repository is a bundle of service implementations based on the open standards of CMIS and JCR. This service provides cutting edge content management features such as:

  • Content storage
  • Content retrieval
  • Content modeling
  • Query interface
  • Access control
  • Audit
  • Versioning

These services provide a public interface based on REST/CMIS or Java JSR-170 protocol standards which allows the client application to communicate with the repository. Alfresco Share communicates with the repository using the REST interface.

The content repository is more than a normal database application, due to the level of control over individual content it provides. Access to content is wrapped by a security layer which prevents any unauthorized access. The fine-grained security control requires a more complex approach than a traditional database application.

In Alfresco, the actual binary stream of content is located in the file system. The file folder structure and reference to this binary stream is maintained in the database.

Filesystem protocol (CIFS/WebDAV/FTP)

Access to content stored in a repository is very important for any ECM. Alfresco supports various protocols, such as CIFS (Common Internet File System), WebDAV, and FTP.

These protocols allow you to support the mapping of the same file folder structure as the repository to a virtual filesystem. With these protocols, any tool that can read and write a filesystem can read and write to an Alfresco repository. Users can still use Alfresco as a locally mapped network filesystem. CIFS provides advanced compatibility with the mapped operation system. With the CIFS protocol, Windows users can use the Windows offline synchronization feature with an Alfresco repository. These virtual filesystem protocols allow users to edit and view content using their locally installed tools.

Database

The database holds all the content related information, such as metadata, content association, content binary stream location reference, and folder structure. The database also stores information related to users, workflow tasks, audits, and so on.

Alfresco supports various database vendors, such as MySQL, PostgreSQL, Oracle, and so on. Oracle is only supported in Alfresco Enterprise Edition. Database schema and more information will be covered in Chapter 8, The Basics of the Alfresco Content Store.

Content store

The content store is a term used for the filesystem location where the actual binary stream of content is stored. In Alfresco, only the reference to the content is stored in the database. The actual content is stored in a filesystem. This filesystem can be any normal NAS or SAN mounted drive. This architecture allows Alfresco storage to grow exponentially and makes Alfresco scalable.

Solr indexes

Searching is a very important aspect of any ECM system. Alfresco supports searches using Apache Solr. All content, metadata, and permissions associated with content in Alfresco are indexed in Solr, which allows fast searches and access to content stored in a repository.

Solr can be bundled with Alfresco on the same machine, or it can be installed as a separate tier. This design allows the horizontal scalability of the search tier. Alfresco and Solr communicate with each other asynchronously.

主站蜘蛛池模板: 宁武县| 桐乡市| 土默特右旗| 新密市| 白水县| 安庆市| 宁乡县| 且末县| 乌兰察布市| 南宁市| 佛坪县| 旌德县| 衡东县| 兖州市| 仁寿县| 永春县| 龙江县| 道真| 东山县| 临沭县| 鹤庆县| 惠来县| 博乐市| 柳州市| 大同市| 濉溪县| 福清市| 宣汉县| 澜沧| 清涧县| 无锡市| 郴州市| 防城港市| 乌拉特后旗| 安宁市| 开化县| 宁海县| 松桃| 岑巩县| 邹城市| 科技|