Amazon SWF を使用してアプリケーション内のワークフローを管理するのは簡単です。Amazon SWF サービスは、アプリケーションのさまざまなすべてのコンポーネントのコーディネーションハブの役割を果たします。
- アプリケーションの状態情報を保持する
- ワークフロー実行をトラッキングしてその進行状況を記録する
- タスクを保管して割り当てる
- 各アプリケーションホストにどのタスクを割り当てて実行するかを制御する
Amazon SWF を使用するのに必要な作業は次のとおりです。
- AWS Management Console または Amazon SWF API を使用して、ワークフローの名前を指定します。
- Amazon SWF API を使用して新しいワークフローを「開始」します。この結果として、実行対象のワークフロータスクのシーケンスが新たに作成され、これを「ワークフロー実行」と呼びます。
- Amazon SWF API をワーカーマシンから実行して(「ワーカー」とは、特定のタスクを処理するためにお客様が作成するアプリケーションコンポーネントです)、タスクの順序を確立し、条件フローを管理し、ワークフロー実行のループを実行します。
- ワーカーマシンの Amazon SWF API を使用して、ワークフロータスクを、クラウド内またはオンプレミスでリクエストして実行します。
- ワークフロー実行および関連付けられたタスクのステータスと進行状況を AWS Management Console で監視します。
AWS Management Console にあるサンプルのウォークスルーを使用すると、サンプルアプリケーションの登録と実行のステップを順に実行することができます。詳細については、ドキュメントを参照してください。
AWS を無料でお試しください
まずは無料で始める »またはコンソールにサインイン
AWS 無料利用枠には、Amazon Simple Workflow(SWF)による 10,000 件のアクティビティタスク、30,000 ワークフロー日、1,000 回の実行が含まれます。
Amazon SWF は、拡張性と耐障害性に優れたアプリケーションを構築するための、完全マネージド型のワークフローサービスです。Amazon SWF はシンプルな API 呼び出し機能を備えており、任意の言語のコードから実行できます。このコードは EC2 インスタンス上で実行することも、インターネットにアクセス可能な任意の場所のマシンで実行することもできます。
Amazon SWF は、コーディネーションハブとして、お客様のアプリケーションホストと相互作用します。お客様は、タスクを組み合わせてワークフローを作成し、適用する条件ロジックがある場合は指定して、Amazon SWF に保管します。ワークフローを実行するたびに、新しいワークフロー実行が作成されたと見なされます。お客様のアプリケーションコンポーネントは、ワークフロー実行の中でのタスクの実行をリクエストするようにプログラミングしてください。Amazon SWF は、タスクをお客様が指定した順序で、お客様のホスト上で実行するようにコーディネートします。実行するホストは、クラウド内でもオンプレミスでもかまいません。アプリケーションは、API を使用して Amazon SWF と通信し、タスクが正常終了したか異常終了したかを記録します。これを受けて、Amazon SWF はタスクのシーケンスを続行するか(次のワークロードタスクをアプリケーションホストに割り当てる)、異常終了したタスクをお客様のビジネスロジックに応じて再実行します。
Amazon SWF によるワークフロー実行を開始するには、AWS Management Console にログインしてください。Amazon SWF API を使用してワークフロー実行を開始することもできます。Amazon SWF に採用されているシンプルなウェブサービスインターフェイスは、使いやすく、柔軟性にも優れています。
- StartWorkflowExecution: ワークフロータスクのシーケンスを開始し、最初のタスクをアプリケーションホストで実行できる状態にします。
- DescribeWorkflowExecution: ワークフロー実行とタスクのステータスを返します。
- PollForActivityTask: お客様のアプリケーションホスト(クラウド内またはオンプレミス)が、連続ループの中でワークフロータスクをリクエストして実行します。
- RespondActivityTaskCompleted: アプリケーションホストから Amazon SWF に、タスクの実行を正常に完了したことを通知します。これを受けて、Amazon SWF はワークフロー実行を進めるために次のタスクをアプリケーションホストで実行できる状態にします。
- TerminateWorkflowExecution: 特定のワークフロー実行を停止します。このワークフロー実行のそれ以降のタスクは、Amazon SWF によってアプリケーションホストに割り当てられることはありません。
このサービスのご利用には、アマゾン ウェブ サービスカスタマーアグリーメントが適用されます。