了解AEM Forms流程 understanding-aem-forms-processes
本文档中的示例和示例仅适用于JEE环境上的AEM Forms。
一个常见用例是一组AEM Forms服务在单个文档上运行。 您可以使用Workbench创建流程来向服务容器发送请求。 流程表示您正在自动化的业务流程。 有关创建进程的信息,请参阅使用Workbench。
激活流程后,它就会变成服务,并且可以像其他服务一样被调用。 标准服务(如加密服务)与源自进程的服务之间的一个区别是,后者具有一个执行多项操作的操作。 相比之下,标准服务具有许多操作。 每个操作通常会执行一项操作,例如将策略应用到文档或加密文档。
进程可以是短期的,也可以是长期的。 短期进程是在从中调用该进程的同一执行线程上同步执行的操作。 短期操作与大多数编程语言中的标准行为类似,在这种行为中,客户端应用程序调用方法并等待返回值。
但是,在某些情况下,由于以下因素,进程无法同步完成:
-
一个过程可能持续相当长的时间。
-
一个流程可以跨越组织的界限。
-
进程需要外部输入才能完成。 例如,考虑将表单发送给不在办公室的经理的情况。 在这种情况下,在经理返回并填写表单之前,该过程不会完成。
这些类型的进程称为长期进程。 长期过程是异步执行的,允许系统在资源允许时进行交互,并允许跟踪和监视操作。 在调用长生命周期进程时,AEM Forms会创建一个调用标识符值,作为跟踪长生命周期进程状态的记录的一部分。 该记录存储在AEM Forms数据库中。 您可以在不再需要长期进程记录时将其清除。
使用调用标识符值,您可以跟踪长生命周期进程的状态。 例如,可以使用进程调用标识符值执行Process Manager操作,如终止正在运行的进程实例。
短期进程示例
下图是名为 MyApplication/EncryptDocument 的短暂进程的示例。
MyApplication/EncryptDocument
的进程。 (请参阅使用Workbench。)调用此短暂的进程时,它将执行以下操作:
-
获取作为输入值传递到进程的非安全PDF文档。
-
使用密码加密PDF文档。 此进程的输入参数的名称为
inDoc
,数据类型为document。 -
将密码加密的PDF文件作为PDF文件保存到本地文件系统。 此过程会将加密的PDF文档作为输出值返回。 此进程的输出参数的名称为
outDoc
,数据类型为document。此进程在从中调用它的同一执行线程上同步完成。 此短期进程的名称为
MyApplication/EncryptDocument
,其操作为invoke
。note note NOTE 通常,一个短暂的过程包含三个以上的操作。 您可以使用Workbench创建流程。 (请参阅使用Workbench。) 使用AEM Forms编程 描述了以下以编程方式调用此短暂进程的方法:
- 通过使用AEM Forms Remoting传递不安全的文档来调用短期进程(使用Flex应用程序)
- 使用调用API (Java™调用API)调用短期进程
- 使用Base64编码调用AEM Forms(Web服务示例)
- 使用MTOM调用AEM Forms(Web服务示例)
- 使用SwaRef调用AEM Forms(Web服务示例)
- 通过HTTP使用BLOB数据调用AEM Forms(Web服务示例)
- 使用DIME调用AEM Forms(Web服务示例)
- 使用REST调用MyApplication/EncryptDocument进程
长期进程示例
下图是一个长期过程的示例。
当申请人提交贷款表单时,将调用此流程。 在贷款官员批准或拒绝贷款请求之前,该过程不会完成。 此长期进程的名称为 FirstAppSolution/PreLoanProcess,其操作为invoke_Async
。 必须异步调用此进程。 有关以编程方式调用此长期进程的信息,请参阅调用以人为中心的长期进程。