Software architecture


General diagram 

In the general case of Web publication of data managed by Ametys, a typicalAmetys installation comprises two Web applications: the Front-office application, which is accessed by visitors, and the Back-office application, which is the contribution application.

 

Most settings (rights, workflows, content types, graphic guidelines, etc.) are made on the back-office side. Unless otherwise stated, the documentation in this manual therefore refers to this application.

The only settings required on the front-office side concern access to visitor areas (user authentication, customer accounts, etc.).

 

In the case of an application that doesn't require Web publishing, such as a structured file management application, the front-office part is not used, and only the back-office application is used.

Back-office architecture 

Ametys is a modular software platform based on a plugins architecture.

Although it's perfectly possible to use the Runtime as a low-level foundation for building any type of Web application, we're going to focus here on a typical CMS application, represented by the architecture diagram below.

 

 

  • The Runtime is a low-level foundation for Web applications in the broadest sense, based on the Cocoon and on several standard Open Source libraries, mainly projects from the Apache foundation.
    It provides :
    • a plugins manager, used to build all application modules (see below for a presentation of the notion of plugin);
    • a manager of workspaces, which are application subsets (see below for a presentation of the workspace concept);
    • definition of standard concepts for all Web applications (authentication, user and group management, rights management, error pages, configuration pages, system monitoring, etc.);
    • default implementations of these standard concepts (DBMS and LDAP user management, DBMS authentication, LDAP, CAS and NTLM, etc.).
  • plugin Repository provides a generic storage layer based on a JCR repository. The overlay offered by this plugin enables the management of virtual objects (seen by the application as real objects, but which are not actually physically present in the JCR repository) and fine mapping management between JCR node and associated Java object.
  • plugin Workflow is an implementation of the OSWorkflow open source library, based on JCR.
  • The CMS kernel implements all contribution ergonomics (ribbon, tabs, etc.) and business aspects linked to content management (online editing, attachments, indexing, search, etc.) and website management (sitemap, labels, graphic charter, zones, services).

The above set will be referred to as the " Ametys core" in this integration manual, as opposed to any "business" plugins that may be added later.

Most elements of the Ametys kernel can be parameterized, either functionally or graphically, which is the purpose of this manual.

 

Plugin

In the Ametys vocabulary, a plugin represents a stand-alone software module that can be added to an application without affecting the kernel.

It is either in the form of a library (e.g. ametys- plugin-repository-2 .0.0.jar) in the application's WEB-INF/lib directory, or in the form of a subdirectory in the application's plugins directory.

Example of the tree structure of a plugin

 

It must contain a file plugin.xml which contains the definition of plugin. This file is read when the application is started.

A plugin.xml file is organized into features (coherent sets of unit components). Each feature can declare components Java, configuration parameters, extension points and extensions.

Extension points are the basis ofAmetys modularity. They represent a concept, which is then implemented by extensions.

For example, the Runtime defines the "authentication" extension point, which has four extensions: "Anonymous", "DBMS", "LDAP" and "CAS".

During the configuration phase, you choose the implementation (=extension) you want to use, without having to modify the kernel, which simply uses the "authentication" concept without knowing which extension will actually be chosen.

Extension points and associated extensions can be declared at plugins .

Workspace

An application Ametys is broken down into workspaces, which can be seen as sub-applications.

Each workspace manages its own authentication mechanism andURL space. Each workspace can use all the plugins defined in the application.

A standard Ametys application uses 3 workspaces:

  • L'application elle-même (accessible à http://<serveur>)
  • L'application d'administration (accessible à http://<serveur>/_admin)
  • L'application de gestion du repository JCR  (accessible à http://<serveur>/_repository)

 

 

 

Back to top