理解AEM Forms进程

一个常见用例是在单一文档上运行一组AEM Forms服务。 您可以使用工作台创建流程,将请求发送到服务容器。 流程代表您要实现自动化的业务流程。 有关创建进程的信息,请参阅使用Workbench

一旦某个进程被激活,它就变成一个服务,可以像其他服务一样被调用。 标准服务(如加密服务)和源自进程的服务之间的一个区别是后者有一个操作,它执行许多操作。 相反,标准服务具有许多操作。 每个操作通常执行一个操作,如将策略应用于文档或加密文档。

过程可以是短期的,也可以是长期的。 短时进程是同步执行的操作,从中调用它的同一执行线程。 短时操作与大多数编程语言中的标准行为类似,在这些语言中,客户端应用程序调用方法并等待返回值。

但是,存在以下情况:由于以下因素,进程无法同步完成:

  • 一个过程可以跨越大量时间。

  • 流程可以跨越组织界限。

  • 进程需要外部输入才能完成。 例如,考虑将表单发送给不在办公室的经理的情况。 在这种情况下,只有经理返回并填写表单后,该过程才会完成。

    这些类型的过程称为长寿命过程。 异步执行长寿命进程,允许系统作为资源允许进行交互,并允许跟踪和监视操作。 当调用长寿命进程时,AEM Forms将创建调用标识符值作为跟踪长寿命进程状态的记录的一部分。 记录存储在AEM Forms数据库中。 您可以在不再需要长期处理记录时清除它们。

注意

AEM Forms在调用短期进程时不会创建记录。

使用调用标识符值,您可以跟踪长寿命进程的状态。 例如,您可以使用进程调用标识符值执行进程管理器操作,如终止正在运行的进程实例。

短寿命过程示例

下图是名为​MyApplication/EncryptDocument​的短时进程的示例。

注意

这一进程不是基于AEM Forms现有进程。 要跟随讨论如何调用此进程的代码示例,请使用Workbench创建一个名为MyApplication/EncryptDocument的进程。 (请参阅使用Workbench。)

调用此短时进程时,它将执行以下操作:

  1. 获取作为输入值传递到流程的不安全PDF文档。

  2. 用密码加密PDF文档。 此进程的输入参数名称为inDoc,数据类型为文档。

  3. 将密码加密的PDF文档另存为PDF文件保存到本地文件系统。 此过程将返回加密的PDF文档作为输出值。 此进程的输出参数名称为outDoc,数据类型为文档。

    此进程在从中调用它的同一执行线程上同步完成。 此短期进程的名称为MyApplication/EncryptDocument,其操作为invoke

    注意

    通常,短期流程包含三个以上的操作。 您可以使用Workbench创建流程。 (请参阅使用Workbench。)

    使用AEM表​格进行编程介绍以下方法,通过这些方法,您可以以编程方式调用此短期流程:

长寿命过程实例

下图是一个长寿命过程的示例。

申请人提交贷款表时将调用此流程。 在贷款官员批准或拒绝贷款请求之前,该过程不会完成。 此长期进程的名称为​FirstAppSolution/PreLoanProcess,其操作为invoke_Async。 必须异步调用此进程。 有关以编程方式调用此长寿命进程的信息,请参见调用以人为中心的长寿命进程

注意

可以按照创建您的第一个AEM Forms应用程序中指定的教程创建此过程。

在此页面上