Platform Architecture - Alfresco Content Services - 23.4 - 23.4 - Ready - Alfresco - external

Alfresco Content Services

Platform
Alfresco
Product
Alfresco Content Services
Release
23.4
License

The platform architecture consists of the repository and related services. The platform contains the key extension points for building your own extensions.

The following diagram illustrates the platform architecture and the in-process extension points and the out-of-process extension points. For more information on extension points, see In-Process Extension Points and Out-of-Process Extension Points. Note that this does not represent a complete list of all in-process extension points:

The diagram of the platform archotecture and the in-process extension points and the out-of-process extension points

The platform consists of the repository and all services, developer extension points, and APIs, such as the ReST API (see REST API Guide). The repository provides storage for documents and other content. The content metadata is stored in a relational database, while the content itself is stored directly on the file system. The relationships between content items, and their various properties (metadata) are defined in one or more content models. For more information on content models, see Content Model Extension Point.

Content models can be thought of as describing types of content and the relationships between pieces of content. For example, there is a relationship between a content that has a container functionality (that is, folder), and the piece of content contained within it (that is, sub-folders and files). There might be constraints defined in the content model, such as a content type cannot contain other content unless it is a container type.

As well as the basic content storage functionality, the platform provides a wide range of content-related services. These include core services such as the Node Service, and the Version Service. There are also higher-level services such as Thumbnail Service (for creating thumbnail images and renditions of documents), the Site Service used for creating and managing sites in the Share application, and the Tagging Service, which provides the ability to tag content with keywords. The following sections of this documentation provide a brief tour of the available services.

Typically these services are implemented in Java, and expose an API described in Java Foundation API.

The platform is highly extensible. You can write extensions in Java, JavaScript, and FreeMarker, and you can write client applications in any language using the ReST API (see REST API Guide). You can create new content models that define new content types, metadata, and relationships. You can define custom actions that the repository will carry out when certain events happen (such as when new content is added to the repository). You can even create entirely new services, if required. For more information on content models and custom actions, see Content Model Extension Point and Actions.

When you need to create custom business workflow you should use the Alfresco Process Services (APS) product. For more information on Alfresco Process Services, see the Alfresco Process Services (APS) documentation.