AEM forms is an application deployed into AEM as a set of packages, supported by a JEE-based Forms Workflows add-on that provides advanced functionality,
such as correspondence handling and process-management. AEM packages contain services (API providers) and servlets or JSPs (providing front-end and REST API functionality). While services are deployed into the AEM OSGI container, servlets/JSPs are managed by the AEM Sling framework.
The following explains the architecture of AEM forms.
The architecture for AEM forms includes the following components:
- Core AEM services: Basic services provided by AEM to a deployed application. These include a JCR-compliant content repository, an OSGI service container, a workflow engine, and so on. These services are available to AEM forms application but they are not provided by AEM forms packages
- Digital Asset Management (DAM): An AEM application that serves as a foundation for AEM forms because forms and other related resources are modeled as DAM assets.
- Forms common services: Provide common functionalities to various AEM forms components. Except for Document Manager, these services are for internal use by Adobe components and are not intended for use or customization.
- Forms services: Provide forms-related functionality, such as form rendition, combining PDF documents generated from forms, and so on. Many of these services are publicly available for consumption by custom code co-deployed in AEM.
- Web layer: JSPs or servlets, built over common and forms services, which provide the following functionalities:
- Authoring frontend: A forms authoring and forms management user interface for authoring and managing forms.
- Form publishing frontend: An end user facing interface for use by the end users of the AEM forms (for example, citizens accessing a government website). This provides form rendition and submission functionalities.
- REST APIs: JSPs and servlets export a subset of forms services for remote consumption by HTTP-based clients, such as the forms mobile SDK.
Apart from the AEM-based components, AEM forms includes a (JEE-based) Forms Workflows add-on which provides specific supporting services to the AEM-based components:
- Integrated user management: Allows users of the Forms Workflows add-on to be recognized as AEM users as well. This is required for scenarios where single sign-on between AEM and the add-on is required (For example, HTML workspace).
- Asset hosting: The Forms Workflows add-on can serve certain assets (For example, HTML5 forms) rendered on AEM.
- Correspondence handling: For Correspondence Management, the Forms Workflows add-on provides services for letter rendering, and workflows hosted by its workflow engine for handling letter submission. In addition to the supporting services, the Forms Workflows add-on can also be used by AEM forms customers for their advanced use-cases, such as complex form-related workflows, workspaces and task management, and so on.