HAQM SWF は、拡張性と耐障害性に優れたアプリケーションを構築するための、完全マネージド型のワークフローサービスです。HAQM SWF はシンプルな API 呼び出し機能を備えており、任意の言語のコードから実行できます。このコードは EC2 インスタンス上で実行することも、インターネットにアクセス可能な任意の場所のマシンで実行することもできます。
HAQM SWF は、コーディネーションハブとして、お客様のアプリケーションホストと相互作用します。お客様は、タスクを組み合わせてワークフローを作成し、適用する条件ロジックがある場合は指定して、HAQM SWF に保管します。ワークフローを実行するたびに、新しいワークフロー実行が作成されたと見なされます。お客様のアプリケーションコンポーネントは、ワークフロー実行の中でのタスクの実行をリクエストするようにプログラミングしてください。HAQM SWF は、タスクをお客様が指定した順序で、お客様のホスト上で実行するようにコーディネートします。実行するホストは、クラウド内でもオンプレミスでもかまいません。アプリケーションは、API を使用して HAQM SWF と通信し、タスクが正常終了したか異常終了したかを記録します。これを受けて、HAQM SWF はタスクのシーケンスを続行するか(次のワークロードタスクをアプリケーションホストに割り当てる)、異常終了したタスクをお客様のビジネスロジックに応じて再実行します。
HAQM SWF によるワークフロー実行を開始するには、AWS Management Console にログインしてください。HAQM SWF API を使用してワークフロー実行を開始することもできます。HAQM SWF に採用されているシンプルなウェブサービスインターフェイスは、使いやすく、柔軟性にも優れています。
- StartWorkflowExecution: ワークフロータスクのシーケンスを開始し、最初のタスクをアプリケーションホストで実行できる状態にします。
- DescribeWorkflowExecution: ワークフロー実行とタスクのステータスを返します。
- PollForActivityTask: お客様のアプリケーションホスト(クラウド内またはオンプレミス)が、連続ループの中でワークフロータスクをリクエストして実行します。
- RespondActivityTaskCompleted: アプリケーションホストから HAQM SWF に、タスクの実行を正常に完了したことを通知します。これを受けて、HAQM SWF はワークフロー実行を進めるために次のタスクをアプリケーションホストで実行できる状態にします。
- TerminateWorkflowExecution: 特定のワークフロー実行を停止します。このワークフロー実行のそれ以降のタスクは、HAQM SWF によってアプリケーションホストに割り当てられることはありません。