| 開発者 | マイクロソフト |
|---|---|
| 初回リリース | 2006年11月21日 |
| 安定版リリース | WF45 / 2012年8月15日 |
| オペレーティング·システム | マイクロソフトウィンドウズ |
| プラットフォーム | .NET フレームワーク |
| タイプ | ソフトウェアフレームワーク |
| Webサイト | docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/ |

Windows Workflow Foundation ( WF [2] ) は、API、インプロセスワークフローエンジン、および再ホスト可能なデザイナーを提供し、 .NETアプリケーション内で長時間実行されるプロセスをワークフローとして実装するMicrosoft のテクノロジです。WF の最新バージョンは、 .NET Frameworkバージョン 4.5の一部としてリリースされ、(WF45) と呼ばれています。[3]
ここで定義されるワークフローは、一連の個別のプログラミング手順またはフェーズです。各手順は、WF でアクティビティとしてモデル化されます。.NET Framework には、アクティビティのライブラリ (コンソールまたはその他の形式の出力にテキストを書き込むアクティビティである WriteLine など) が用意されています。カスタム アクティビティを開発して、追加機能を実現することもできます。アクティビティは、Visual Studio内で実行されるデザイン サーフェイスであるワークフロー デザイナーを使用して、視覚的にワークフローに組み立てることができます。デザイナーは、他のアプリケーションでホストすることもできます。
プログラミング機能をアクティビティにカプセル化することで、開発者はより管理しやすいアプリケーションを作成できます。実行の各コンポーネントは、ワークフロー ランタイムによって実行が管理される 共通言語ランタイムオブジェクトとして開発できます。
ワークフロー基盤のバージョン
- Workflow Foundation は、.NET Framework バージョン 3 で初めてリリースされ、[4]主に System.Workflow.Activities、System.Workflow.ComponentModel、および System.Workflow.Runtime 名前空間を使用します。バージョン 3 のワークフローは、シーケンシャル モデル (アクティビティが順番に実行され、1 つのアクティビティが完了すると次のアクティビティが実行される) またはステート マシン モデル (アクティビティが外部イベントに応じて実行される) のいずれかを使用して作成されました。Microsoft SharePoint 2007 はWF 3 を使用します。
- .NET Framework 3.5 では、Workflow をWindows Communication Foundation (WCF)と統合するメッセージング アクティビティが導入されました。新しい ReceiveActivity を使用すると、ワークフローは受信 WCF メッセージに応答できます。バージョン 3.5 の Workflow の新機能では、System.ServiceModel 名前空間が使用されます。Microsoft SharePoint 2010 ではWF 3.5 が使用されます。
- .NET Framework 4 では、Windows Workflow Foundation が大幅に更新され、データ コントラクト リゾルバー、フローチャート、その他のフロー制御アクティビティなどの新機能が追加されました。.NET 4 のワークフローでは、System.Activities 名前空間が使用されます。特に注目すべきは、バージョン 4 ではワークフロー ランタイム オブジェクトがなくなり、代わりに WorkflowApplication または WorkflowInvoker を使用してワークフローが直接実行されることです。
- 以前のバージョンの .NET Framework で作成されたアクティビティは、Interop アクティビティを使用して .NET 4 ワークフローで実行できます。
- Windows Phoneの将来のバージョンとリリースには、更新されたステート マシンと動的更新が含まれる予定です。
ワークフローの使用シナリオ
Windows Workflow Foundation は、ドキュメントの承認、職位の候補者の雇用、購入などに必要な手順など、順序付けられたビジネス プロセスを実行するアプリケーションを作成するために使用されます。これらのプロセスは短時間で実行できますが、通常は長時間実行されるため、手順間でメモリを節約するためにアプリケーションをシャットダウンする必要があります。通常、ワークフローとしてモデル化されるビジネス プロセスには、次の機能があります。
- アイテムの購入価格を決定するために必要な税金や配送料の計算、購入、雇用、またはプロセスの承認に必要な一連の手順など、定期的に変更する必要がある特定のビジネス ロジックがあります。
- ワークフローに数時間または数日おきに複数の入力がある
- さまざまな状況に応じて、ワークフロー実行をさまざまなブランチに渡す必要がある高度なビジネス ロジックを備えています。
- データベース、Web サイト、その他のクライアント アプリケーション、Web サービスなどの他のシステムと対話する必要があります。
オーサリングワークフロー
ワークフローは、ワークフロー デザイナーを使用して XAML Extensible Application Markup Languageで定義するか、C# や VB.NET などの .NET 言語でプログラム的にアセンブルすることによって作成されます。デザイナーを使用する場合、アクティビティはツールボックスからドラッグしてワークフロー デザイナー キャンバスにアセンブルされます。ワークフロー引数と変数もデザイナー内で作成され、割り当てられます。ワークフローがコードでアセンブルされる場合、アクティビティは他の CLR オブジェクトと同様にインスタンス化され、単一の親アクティビティ (通常は Sequence または Flowchart) のコレクションにアセンブルされます。単一の親アクティビティは、WorkflowApplication または WorkflowInvoker を使用して実行され、ワークフローとして実行されます。ここでの「ワークフロー」という用語は通常、ホストによって実行されるルート アクティビティを指します。ワークフローでは、すぐに使用できるアクティビティとカスタム アクティビティの両方を使用できます。すぐに使用できるアクティビティには、DoWhile などのフロー制御アクティビティ、Flowchart 関連のアクティビティ (FlowDecision など)、Send などの WCF メッセージング アクティビティ、および Assign や WriteLine などの単純なタスクを実行するプリミティブ アクティビティが含まれます。カスタム アクティビティは、System.Activities.Activity クラスから派生したユーザー作成の CLR オブジェクトであり、開発者がコード内でアクティビティの実行動作を定義できるようにすることで宣言型機能を提供します。カスタム アクティビティは、カスタム アクティビティ デザイナーを関連付けることで、Visual Studio IDE でのビジュアル作成エクスペリエンスを強化できます。
ワークフローに関する書籍
.NET Framework 3.0 および 3.5
- Dharma Shukla、Bob Schmidt: Essential Windows Workflow Foundation、Addison-Wesley Professional、2006 年 10 月 13 日、ISBN 0-321-39983-8
- Michael Stiefel: Windows Workflow Foundation (WF) を使用したアプリケーションの構築: Windows Workflow Foundation の基礎 (Digital Short Cut)、2007 年 6 月 5 日、Kindle、ISBN 0-321-51454-8
- Brian Noyes: Windows Workflow Foundation (WF) を使用したアプリケーションの開発 (ビデオ トレーニング)、2007 年 6 月 7 日、Brian Noyes、ISBN 0-321-50313-9
- ブライアン・R・マイヤーズ:WFの基礎、Apress、2006年10月23日、ISBN 1-59059-718-4
- ブルース・ブコビッチ: Pro WF: .NET 3.0 での Windows ワークフロー、Apress、2007 年 2 月 19 日、ISBN 1-59059-778-8
- Todd Kitta: Professional Windows Workflow Foundation、Wrox、2007 年 3 月 12 日、ISBN 0-470-05386-0
- Kenn Scribner: Microsoft Windows Workflow Foundation Step by Step、Microsoft Press、2007 年 2 月 28 日、ISBN 0-7356-2335-X
.NET フレームワーク 4.0
- Mark Collins: Beginning WF: Windows Workflow in .NET 4.0、Apress、2010 年 3 月 19 日、ISBN 978-1-4302-2485-3
- ブルース・ブコビッチ: Pro WF: .NET 4 での Windows ワークフロー、Apress、2010 年 6 月 29 日、ISBN 978-1-4302-2721-2
- Andrew Zhu: Microsoft Windows Workflow Foundation 4.0 クックブック、Packt Publishing、2010 年 9 月 24 日、ISBN 978-1-84968-078-3
.NET フレームワーク 4.5
- Bayer White: Pro WF 4.5、Apress、2012 年 11 月 14 日、ISBN 978-1-4302-4383-0
参考文献
- ^ 「Windows Workflow Foundation (WF) FAQ」。Microsoft。2018年12月22日。 2021年1月25日閲覧。WF
はWindows Workflow Foundationの略語として認められています。WWFは世界自然保護基金の登録商標であるため認められていません。
- ^ WWFという略称は 世界自然保護基金によって商標登録されているため使用されていない[1]
- ^ 「.NET 4 での Windows Workflow Foundation (WF) の開発者向け入門」。2010 年 4 月 21 日。2012 年8 月 21 日閲覧。
- ^ .NET フレームワーク 3.0
外部リンク
- Microsoft ドキュメント: Windows ワークフロー基盤
