AEM Forms的架构和部署拓扑 architecture-and-deployment-topologies-for-aem-forms

版本
文章链接
AEM as a Cloud Service
单击此处
AEM 6.5
本文

架构 architecture

AEM Forms是作为AEM包部署到AEM中的应用程序。 此包称为AEM Forms附加组件包。 AEM Forms附加组件包包含部署到AEM OSGi容器中的服务(API提供程序)和由AEM Sling框架管理的servlet或JSP(提供前端和REST API功能)。 下图描述了此设置:

架构

AEM Forms的架构包含以下组件:

  • 核心AEM服务: AEM提供给已部署应用程序的基本服务。 这些服务包括符合JCR的内容存储库、OSGI服务容器、工作流引擎、信任存储、密钥存储等。 AEM Forms应用程序可以使用这些服务,但AEM Forms包不提供这些服务。 这些服务是整个AEM栈栈的组成部分,各种AEM Forms组件都使用这些服务。

  • Forms服务: ​提供表单相关功能,例如创建、汇编、分发和存档PDF文档,添加数字签名以限制对文档的访问,以及对条形码表单进行解码。 这些服务可公开供在AEM中联合部署的自定义代码使用。

  • Web层: JSP或Servlet,基于通用服务和表单服务构建,可提供以下功能:

    • 前端创作:用于创作和管理表单的表单创作和表单管理用户界面。
    • 表单呈现和提交前端:面向最终用户的界面,供AEM Forms的最终用户(例如,访问政府网站的公民)使用。 这提供了表单呈现(在Web浏览器中显示表单)和提交功能。
    • REST API: JSP和Servlet导出表单服务的子集,以供基于HTTP的客户端(如Forms移动SDK)远程使用。

OSGi上的AEM Forms: OSGi环境上的AEM Forms是标准的AEM Author或AEM Publish,其上部署了AEM Forms包。 您可以在单服务器环境、场设置和群集设置中的OSGi上运行AEM Forms。 集群设置仅可用于AEM Author实例。

JEE上的​ AEM Forms: JEE上的AEM Forms是在JEE栈栈上运行的AEM Forms服务器。 它在应用程序服务器中运行的单个JEE栈栈上联合部署了AEM Author和AEM Forms附加组件包及其他AEM Forms JEE功能。 您可以在单服务器和群集设置中在JEE上运行AEM Forms。 只有运行Document Security、流程管理以及升级到AEM Forms的LiveCycle客户,才需要JEE上的AEM Forms。 以下是一些在JEE上使用AEM Forms的其他方案:

  • HTML工作区支持(适用于使用HTML工作区的客户): AEM Forms on JEE支持通过处理实例进行单点登录,为处理实例上渲染的特定资源提供服务,并处理在HTML工作区中渲染的表单的提交。
  • 高级附加表单/交互式通信数据处理:在需要高级进程管理功能的复杂用例中,可以使用JEE上的AEM Forms来附加处理表单/交互式通信数据(并将结果保存到适当的数据存储中)。

JEE上的AEM Forms还向AEM组件提供以下支持服务:

  • 集成用户管理: ​允许将JEE上的AEM Forms用户识别为OSGi用户上的AEM表单,并帮助为OSGi和JEE用户启用SSO。 当需要在OSGi上的AEM表单与JEE上的AEM Forms之间进行单点登录(例如,HTML工作区)时,需要此项。
  • JEE上的资源托管: AEM Forms可以提供在OSGi上在AEM Forms上渲染的资源(例如,HTML5表单)。

AEM Forms创作用户界面不支持创建记录文档(DOR)、PDF forms和HTML5 Forms。 此类资源是使用独立的Forms Designer应用程序设计的,并分别上传到AEM Forms Manager。 或者,对于JEE上的AEM Forms,可以将表单设计为(在AEM Forms Workbench中)应用程序资产,并部署到JEE服务器上的AEM Forms中。

OSGi上的AEM Forms和JEE上的AEM Forms都具有工作流功能。 您可以在OSGi上的AEM Forms上快速构建和部署用于各种任务的基本工作流,而无需在JEE上安装AEM Forms的全套流程管理功能。 在OSGi上,AEM Forms的以表单为中心的工作流的功能与JEE上AEM Forms的进程管理功能存在一些差异。 在OSGi上的AEM Forms上开发和管理以表单为中心的工作流,使用的是熟悉的AEM Workflow和AEM Inbox功能。

术语 terminologies

下图显示了典型AEM Forms部署中使用的各种AEM表单服务器配置及其组件:

aem_forms_-_recommendedtopology

创作: ​创作实例是在标准创作运行模式下运行的AEM Forms服务器。 它可以是JEE上的AEM Forms或OSGi环境上的AEM Forms。 它面向内部用户、表单和交互式通信设计人员以及开发人员。 它支持以下功能:

  • 创作和管理表单和交互式通信: ​设计人员和开发人员可以创建和编辑自适应表单和交互式通信,上传在外部创建的其他类型的表单,例如在AdobeForms Designer中创建的表单,并使用Forms Manager控制台管理这些资源。
  • 表单和交互式通信发布: ​可以将托管在创作实例上的Assets发布到发布实例以执行运行时操作。 资产发布使用AEM的复制功能。 Adobe建议在所有创作实例上配置复制代理,以手动将已发布的表单推送到处理实例,并在处理实例上配置另一个复制代理,同时启用​ 接收时 ​触发器,以自动将收到的表单复制到发布实例。

Publish: ​发布实例是在标准AEM Forms运行模式下运行的Publish服务器。 Publish实例面向基于表单的应用程序的最终用户,例如访问公共网站和提交表单的用户。 它支持以下功能:

  • 呈现和提交最终用户的Forms。
  • 将原始提交的表单数据传输到处理实例,以供进一步处理并存储在最终记录系统中。 AEM Forms中提供的默认实施是使用AEM的反向复制功能来实现这一点的。 此外,还可以使用替代实施将表单数据直接推送到处理服务器,而不是先在本地保存(后者是激活反向复制的先决条件)。 担心在发布实例上存储潜在敏感数据的客户可以加入此替代实施,因为处理实例通常位于更安全的区域中。
  • 呈现和提交交互式通信和信件:在发布实例上呈现交互式通信和信件,并将相应数据提交到处理实例以供存储和后处理。 数据可以在发布实例上本地保存并在以后反向复制到处理实例(默认选项),也可以直接推送到处理实例而不保存在发布实例上。 后一种实施对于注重安全的客户非常有用。

正在处理: AEM Forms实例在创作运行模式下运行,没有用户分配给forms-manager组。 您可以在JEE上部署AEM Forms,或在OSGi上部署AEM Forms作为处理实例。 未分配用户以确保表单创作和管理活动不在处理实例上执行,并且仅在创作实例上发生。 处理实例可启用以下功能:

  • 处理从Publish实例到达的原始表单数据: ​这主要是在处理实例上通过AEM工作流实现的,当数据到达时会触发该工作流。 工作流可以使用现成的表单数据模型步骤将数据或文档存档到适当的数据存储。

  • 表单数据的安全存储:处理为与用户隔离的原始表单数据提供了一个防火墙后的存储库。 创作实例上的表单设计人员和Publish实例上的最终用户均无法访问此存储库。

    note note
    NOTE
    Adobe建议使用第三方数据存储来保存最终处理数据,而不是使用AEM存储库。
  • 对来自Publish实例 AEM工作流的通信数据进行存储和后处理,可对相应的信件定义执行可选的后处理。 这些工作流可以将最终处理的数据保存到合适的外部数据存储中。

  • HTMLWorkspace托管:处理实例托管HTMLWorkspace的前端。 HTML工作区为审阅和批准流程提供了相关任务/组分配的UI。

处理实例配置为在创作运行模式下运行,因为:

  • 它允许从Publish实例反向复制原始表单数据。 默认数据存储处理程序需要反向复制功能。
  • 建议在创作样式系统上运行AEM工作流,这是处理来自Publish实例的原始表单数据的主要方式。

JEE上AEM Forms的物理拓扑示例 sample-physical-topologies-for-aem-forms-on-jee

下面推荐的AEM Forms on JEE拓扑主要适用于从JEE上的LiveCycle或以前版本的AEM Forms进行升级的客户。 Adobe建议在OSGi上使用AEM Forms进行全新安装。 建议在JEE上重新安装AEM Forms ,但只是为了使用Document Security和Process Management功能。

用于使用Document Services或Document Security功能的拓扑 topology-for-using-document-services-or-document-security-capabilities

计划仅使用document services或document security功能的AEM Forms客户可以具有与下面显示的拓扑类似的拓扑。 此拓扑建议使用单个AEM Forms实例。 如有必要,您还可以创建AEM Forms服务器的群集或场。 当大多数用户以编程方式访问AEM Forms服务器的功能且通过用户界面进行干预最小时,建议使用此拓扑。 该拓扑有助于文档服务的批处理操作。 例如,使用输出服务每天创建数百个不可编辑的PDF文档。

虽然AEM Forms允许您从一台服务器设置和运行所有功能,但您应该进行容量规划、负载平衡,并为生产环境中的特定功能设置专用服务器。 例如,对于使用PDF Generator服务每天转换数千页并添加数字签名以限制访问文档的环境,请为PDF Generator服务和数字签名功能设置单独的AEM Forms服务器。 它有助于提供最佳性能并扩展相互独立的服务器。

基本功能

使用AEM Forms进程管理的拓扑 topology-for-using-aem-forms-process-management

例如,计划使用AEM Forms流程管理功能的AEM Forms客户,HTMLWorkspace可以具有与下面显示的拓扑类似的拓扑。 JEE服务器上的AEM Forms可以在单个服务器或群集配置中。

如果您从LiveCycleES4进行升级,此拓扑会与LiveCycle中已有的内容紧密镜像,但AEM Author内置到AEM Forms on JEE中的内容除外。 此外,对于执行升级的客户,群集要求没有变化。 如果您在群集环境中使用AEM Forms,则可以在AEM 6.5 Forms中继续使用相同功能。 要重新安装JEE的AEM Forms以使用HTMLWorkspace,还需要运行内置于JEE环境中的AEM创作实例。

表单数据存储是第三方数据存储器,用于存储表单和交互式通信的最终处理数据。 这是拓扑中的可选元素。 您还可以根据需要选择设置处理实例,并将其存储库用作最终记录系统。

topology_for_usinghtmlworkspaceandformsapp

建议此拓扑图面向计划使用JEE Server上的AEM Forms实现流程管理功能(HTMLWorkspace)的客户,而不使用任何后处理、自适应表单、HTML5表单和交互式通信功能。

用于使用自适应表单、HTML5表单和交互式通信功能的拓扑 topology-for-using-adaptive-forms-html-forms-interactive-communication-capabilities

计划使用AEM Forms数据捕获功能(例如自适应表单、HTML5 Forms、PDF forms)的AEM Forms客户可以具有与下面显示的拓扑类似的拓扑。 此外,还建议使用此拓扑来使用AEM Forms的交互式通信功能。

topology-for-using-forms-osgi-modules

您可以对上述建议的拓扑进行以下更改/定制:

  • 使用HTMLWorkspace和AEM Forms应用程序需要AEM创作或处理实例。 您可以使用内置到JEE服务器上AEM Forms的AEM创作实例,而不是设置额外的外部AEM创作服务器。
  • 只有在OSGi、自适应表单、表单门户和交互式通信上以Forms为中心的工作流,才需要AEM创作或处理实例。
  • 交互式通信代理UI通常在组织内运行。 因此,您可以在专用网络中为Agent UI保留发布服务器。
  • JEE服务器上内置到AEM Forms的OSGi实例上的AEM表单也可以在OSGi和Watched文件夹上运行以Forms为中心的工作流。

在OSGi上使用AEM Forms的物理拓扑示例 sample-physical-topologies-for-using-aem-forms-on-osgi

OSGi功能上的数据捕获、交互式通信、以表单为中心的工作流的拓扑 topology-for-data-capture-interactive-communication-form-centric-workflow-on-osgi-capabilities

计划使用AEM Forms数据捕获功能(例如自适应表单、HTML5 Forms、PDF forms)的AEM Forms客户可以具有与下面显示的拓扑类似的拓扑。 此外,还建议将此拓扑用于在OSGi功能上使用交互式通信和Forms为中心的工作流,例如,将AEM收件箱和AEM Forms应用程序用于业务流程工作流。

interactive-use-cases-af-cm-osgi-workflow

用于使用watched文件夹功能进行脱机批处理的拓扑 topology-for-using-watched-folder-capabilities-for-offline-batch-processing

计划使用Watched文件夹进行批处理的AEM Forms客户可以具有与下面显示的拓扑相似的拓扑。 拓扑显示一个群集环境,但您决定根据负载使用单个实例或AEM Forms服务器场。 第三方数据源是您自己的记录系统。 它用作Watched文件夹的输入源。 拓扑还会以打印文件的形式显示输出。 您还可以将输出内容存储到文件系统,通过电子邮件发送,并使用其他自定义方法来使用输出。

offline-batch-processing-via-watched-folders

使用文档服务功能进行基于API的离线处理的拓扑 topology-for-using-document-services-capabilities-for-offline-api-based-processing

计划仅使用document services功能的AEM Forms客户可以具有与下面显示的拓扑类似的拓扑。 此拓扑建议在OSGi服务器上使用AEM Forms群集。 当大多数用户以编程方式(使用API)访问AEM Forms服务器的功能且通过用户界面进行干预最小时,建议使用此拓扑。 该拓扑在多个软件客户端场景中非常有用。 例如,多个客户端使用PDF Generator服务按需创建PDF文档。

虽然AEM Forms允许您从一台服务器设置和运行所有功能,但您应该进行容量规划、负载平衡,并为生产环境中的特定功能设置专用服务器。 例如,对于使用PDF Generator服务每天转换数千页以及使用多个自适应表单捕获数据的环境,请为PDF Generator服务和自适应表单功能设置单独的AEM Forms服务器。 它有助于提供最佳性能并扩展相互独立的服务器。

基于离线API的处理

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2