昨年のMicrosoftのBuildカンファレンスで発表されたWindows Workflow Foundation (WF) 4.5は、2010年初めにWF4がリリースされて以来、最初のメジャーアップデートになる。このリリースは顧客からのフィードバックを解決するものであり、デザイナやランタイム、新しいバージョニングプロセスへのアップデートが含まれている。WF4.5には2つの開発モデル、Contract-FirstおよびState Machineワークフローも追加されている。
デザイナの機能追加には以下が含まれている。
- サーチ機能: クイック検索と「ファイルからの検索」(Visual Studioのみ)
- 変数、アクティビティ、引数などへのアノテーション追加機能
- 大規模ワークフロー管理のサポート改善。パンモード、ツリービュー(「ドキュメントアウトラインビュー」と呼ばれる)、アクティビティの複数選択、シーケンスアクティビティを自動生成するための「シーケンスの自動囲み」、フローチャートおよびState Machineワークフロー作業時のノードの自動接続と自動挿入
- ビルド時のワークフローバリデーション
バージョニングはWF4.5における大きな機能追加だ。開発者は新しいWorkFlowIdentityクラスによってワークフローのインスタンスにバージョンを追加できるようになる。WorkFlowServiceHostは複数のバージョンのワークフローを並行して実行できる。これにより、既存のインスタンスは以前のバージョンで実行を続けるが、新しいインスタンスは新しいバージョンで生成される。さらにDynamic Updateによって、インスタンス実行中にワークフロー定義をアップデートする機能も提供する。
ランタイム機能の新しい拡張には以下が含まれている。
- ExpressionがVisual Basicだけでなく、C#で書けるようになる。
- 新しいアクティビティ。これには子アクティビティを永続化しないようにするNoPersistScopeが含まれる。
- ワークフローはFull Trustを要求する代わりにPartial Trustで実行できるようになった。
- Visual Studioのパフォーマンス改善
WF4.5で追加された開発モデルのひとつは、Contract-Firstと呼ばれるものだ。このワークフロー開発ツールを使うと、開発者はまず契約を設計し、それからアクティビティテンプレートを自動生成することになる。もうひとつの新しいモデルはState Machineワークフローの生成を可能にする。(この機能はWF4のリリース後、Microsoft .NET Framework 4 Platform Update 1で導入された。)
Microsoftは現在、クラウドへのWF導入に取り組んでいる。詳しくはChannel 9のBuilding apps with Windows Workflow Foundation and Windows Azureを参照。