本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 Amazon Simple Workflow Service?
借助 Amazon Simple Workflow Service (Amazon SWF) 可轻松构建能够跨越各分布组件对工作进行协调的应用程序。在 Amazon SWF 中,一个任务表示的是由您的应用程序组件所执行之工作的一个逻辑单位。跨越应用程序协作任务依据应用逻辑流程涉及有任务间依赖关系的管理、排定和并发性协调。Amazon SWF 可使您完全控制任务的执行和协作,无需担心跟踪任务进度和维持任务状态等底层复杂性。
使用 Amazon SWF 时,应实施工作程序来执行任务。这些工作程序可在云基础设施(例如 Amazon Elastic Compute Cloud (Amazon EC2))上运行,也可在您自己的本地设施上运行。您可以创建长时间运行、可能失败、超时或需要重新启动的任务,或可能以不同的吞吐量和延迟完成的任务。Amazon SWF 存储任务,然后在工作程序准备时将其分配给工作程序,跟踪工作程序,还可保持其状态,包括完成工作程序的详细信息。要协调任务,应编写可从 Amazon SWF 获得每个任务最新状态的程序,然后使用该程序启动后续任务。Amazon SWF 持久保持应用程序的执行状态,以便使该应用程序能够灵活应对单个组件的故障。借助 Amazon SWF,您可以独立执行、部署、扩展和修改这些应用程序组件。
Amazon SWF 提供了支持各种应用程序需求的功能。它适用于一系列需要任务协作的使用案例,包括媒体处理、Web 应用程序后端、业务处理流程和分析管道。
开发选项
有多种方式可通过 Amazon Simple Workflow Service 实现工作流程解决方案。
Amazon 开发工具包
Amazon SWF 受Amazon适用于 Java、.NET、Node.js、PHP、PHP 版本 2、Python 和 Ruby 的软件开发工具包,可以方便地以您选择的编程语言使用 Amazon SWF HTTP API。
您可以利用这些库暴露的 API 开发决策程序、活动或工作流程启动程序。此外,您可通过这些库访问可视性操作,以便开发自己的 Amazon SWF 监控和报告工具。
下载任何Amazon开发工具包,请转到https://aws.amazon.com/code
有关每个软件开发工具包中 Amazon SWF 方法的详细信息,请参阅所使用的软件开发工具包的语言特有的参考文档。
下面是可用的列表AmazonSDK 文档。
Amazon Flow Framework
这些区域有:Amazon Flow Framework是一种增强型开发工具包,用于编写可在 Amazon SWF 上作为工作流程运行的分布式异步程序。它可用于 Java 编程语言,并提供了可简化复杂分布式程序编写的类。
借助于 Amazon Flow Framework,您可以使用预配置的类型将工作流程定义直接映射到程序中的方法。
Amazon Flow Framework 支持面向对象的标准概念(例如,基于异常的错误处理),这样就可更方便地实现复杂工作流程。您可以完全在自己首选的编辑器或 IDE 中创建、执行和调试使用 Amazon Flow Framework 编写的程序。有关更多信息,请参阅 Amazon Flow Framework
以下是 Amazon Flow Framework 文档的链接:
Amazon Flow Framework 示例代码
除了 Amazon Flow Framework 文档中显示的代码段外,还可在以下位置获取完整、可下载的代码示例:
HTTP 服务 API
Amazon SWF 提供可通过 HTTP 请求访问的服务操作。您可以使用这些操作直接与 Amazon SWF 通信,还可以使用这些操作以任何可通过 HTTP 与 Amazon SWF 通信的语言来开发自己的库。
您可以使用服务 API 开发决策程序、活动工作程序或工作流程启动程序。您还可以通过 API 访问可视性操作,以开发您自己的监控和报告工具。
有关如何使用 API 的信息,请参阅向 Amazon SWF 发出 HTTP 请求。有关 API 操作的详细信息,请参阅Amazon Simple Workflow Service API 参考.
开发环境
您需要设置适用于您将使用的编程语言的开发环境。例如,如果您打算使用 Java 为 Amazon SWF 开发,则需要安装 Java 开发环境,例如Amazon SDK for Java,在每个开发工作站上。如果您使用 Eclipse IDE 进行 Java 开发,则可能还要考虑安装Amazon Toolkit for Eclipse. Toolkit 是一种 Eclipse 插件,可增加对以下方面有用的功能:Amazon发展。
如果您的编程需要需要运行时环境,您需要在运行这些过程的每个计算机上设置该环境。