

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

# Amazon SWF 中的基本工作流程概念
<a name="swf-dg-basic"></a>

**注意**  
本章中的概念概述了 Amazon Simple Workflow Service 并介绍了其主要功能。如果您正在寻找示例，请参阅[与亚马逊 SWF 合作 APIs](swf-dg-using-swf-api.md)。

使用 Amazon Simple Workﬂow Service (Amazon SWF)，您可以将分布式异步应用程序作为*工作流*来实现。工作流程对可以跨多个计算设备异步运行并可进行顺序和并行处理的活动的执行进行协调和管理。

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

**电子商务应用程序的工作流程示例**  
下图显示了涉及人员和自动化流程的电子商务订单处理工作流程：

![\[电子商务示例工作流程示例\]](http://docs.aws.amazon.com/zh_cn/amazonswf/latest/developerguide/images/swf-overview-workflow.png)


电子商务应用程序工作流程从客户下单时开始，包括四项*任务*：

1. 验证订单。

1. 如果订单有效，要求客户付款。

1. 如果付款完成，则按订单发货。

1. 如果发货完成，则保存订单详情。

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

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

**Topics**
+ [创建工作流](swf-dg-create-workflow.md)
+ [运行工作流程](swf-dev-run-workflows.md)
+ [工作流程历史记录](swf-dev-about-workflow-history.md)
+ [对象标识符](swf-dev-obj-ident.md)
+ [域](swf-dev-domains.md)
+ [操作者](swf-dev-actors.md)
+ [任务](swf-dev-tasks.md)
+ [任务清单](swf-dev-task-lists.md)
+ [工作流程执行关闭](swf-dev-workflow-exec-closure.md)
+ [工作流程执行生命周期](swf-dev-workflow-exec-lifecycle.md)
+ [轮询任务](swf-dev-comm-proto.md)