Amazon SWF 工作流程 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SWF 工作流程

什么是工作流程?

使用 Amazon Simple Workflow Service (Amazon SWF),您可以实现像工作流. 工作流程对可以跨多个计算设备异步运行并可进行顺序和并行处理的活动的执行进行协调和管理。

在设计工作流程时,需要对应用程序进行分析以识别其组件任务。在 Amazon SWF 中,这些任务由活动. 活动的执行顺序由工作流程的协作逻辑决定。

简单工作流程示例:电子商务应用程序

举例来说,下图显示的是简单的电子商务订单处理工作流程,其中涉及有人工过程和自动过程。


               示例工作流程概述

客户下订单时,这个工作流程启动。该工作流程包括四个任务

  1. 验证订单。

  2. 如果订单有效,要求客户付款。

  3. 如果付款完成,则按订单发货。

  4. 如果发货完成,则保存订单详情。

此工作流程中的任务是顺序 任务:用信用卡付款之前必须验证订单;按订单发货之前必须用信用卡成功付款;而在记录订单之前订单必须已发货。即便如此,也能在不同位置执行上述任务,因为 Amazon SWF 支持分布式过程。如果任务本质上可编程,则还可以用不同的编程语言或不同的工具编写这些任务。

除任务的顺序处理之外,Amazon SWF 还支持对任务并行处理的工作流程。并行任务是同时执行的,并且可由不同的应用程序或工作程序来完成。工作流程会作出有关在一个或更多并行任务执行完之后如何继续操作的决策。

工作流程注册和执行

在设计了协作逻辑和活动之后,您可以向 Amazon SWF 注册这些组件作为工作流程和活动类型。注册期间,您要为每种类型指定一个名称、一个版本和一些默认配置值。

Amazon SWF 只有经过注册的工作流程和活动类型才能用于。在电子商务示例中,您将注册 CustomerOrder 工作流程类型与 VerifyOrder、ChargeCreditCard、ShipOrder 和 RecordCompletion 活动类型。

注册完您的工作流程类型后,您可以按经常使用的方式运行它。工作流程执行是正在运行的工作流程实例。在电子商务示例中,新工作流程执行从每一个客户订单开始。

工作流程执行可从任何过程或应用程序,甚至是另一个工作流程开始执行。在电子商务示例中,用何种类型的应用程序启动工作流程取决于客户下订单的方式。工作流程可由网站或移动应用程序或使用公司内部应用程序的客户服务代表启动。

使用 Amazon SWF,您可以关联一个标识符-称为workflowId— 通过您的工作流程执行,因此您可以将现有的业务标识符集成到工作流程中。在电子商务示例中,可以使用客户发票编号标识每个工作流程执行。

除了您提供的标识符之外,Amazon SWF 还会关联一个系统生成的唯一标识符 —runId在执行每次工作流程时。Amazon SWF 只允许在任何给定时间运行一个具有此标识符的工作流程执行;尽管您可以执行同一工作流程类型的多个工作流程执行,但每个工作流程执行都有不同的runId.

另请参阅

Amazon SWF 工作流程历史