windows workflow foundation dsl シリーズ 第3回 中博俊
DESCRIPTION
Windows Workflow Foundation DSL シリーズ 第3回 中博俊. WF って. .NET Framework 3.0 で デビュー もともと WPF, WCF とともに WWF という名前でデビュー予定 なぜ WF に変わったかは・・・・パンダだけが知っているかもしれない。. アジェンダ. WF の準備をしましょう。 WF を体験してみましょう。 WF を画面に組み込んでみましょう。 まとめ. 準備. Visual Studio 2005 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/1.jpg)
わんくま同盟 大阪勉強会 #12
Windows Workflow Foundation
DSL シリーズ 第3回
中博俊
![Page 2: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/2.jpg)
わんくま同盟 大阪勉強会 #12
WF って
• .NET Framework 3.0 でデビュー• もともと WPF, WCF とともに WWF とい
う名前でデビュー予定• なぜ WF に変わったかは・・・・パンダ
だけが知っているかもしれない。
![Page 3: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/3.jpg)
わんくま同盟 大阪勉強会 #12
アジェンダ
• WF の準備をしましょう。
• WF を体験してみましょう。
• WF を画面に組み込んでみましょう。
• まとめ
![Page 4: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/4.jpg)
わんくま同盟 大阪勉強会 #12
準備
• Visual Studio 2005• Visual Studio 2005 SP1
http://www.microsoft.com/downloads/details.aspx?FamilyID=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&DisplayLang=ja
• Visual Studio 2005 Update for Vistahttp://www.microsoft.com/downloads/details.aspx?FamilyID=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&DisplayLang=ja
• .NET Framework 3.0 を入れるhttp://www.microsoft.com/downloads/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043&DisplayLang=ja
• LanguagePack を入れるhttp://www.microsoft.com/downloads/details.aspx?FamilyID=41c61d2a-d411-4dde-9013-bb08eb688bb6&DisplayLang=ja
XP2003
Vista
XP2003
Vista
Vista
XP2003
XP2003
![Page 5: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/5.jpg)
わんくま同盟 大阪勉強会 #12
準備
• WF GDR を入れるhttp://www.microsoft.com/downloads/details.aspx?FamilyID=6096ce0f-d21e-47ac-afe2-d4e1c2fce670&DisplayLang=ja
• Windows SDK 6.1 en を入れる• http://www.microsoft.com/downloads/details.aspx?FamilyID=4377f86d-c913-4b5c-b87e-ef72e5b4e065&DisplayLang=en
• VS Extensions for WF• http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=5d61409e-1fa3-48cf-8023-e8f38e709ba6
XP2003
Vista
XP2003
Vista
XP2003
Vista
![Page 6: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/6.jpg)
わんくま同盟 大阪勉強会 #12
まずは体験
DEMO1
Visual Studio に
![Page 7: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/7.jpg)
わんくま同盟 大阪勉強会 #12
• コンソールアプリ ( バッチには今すぐ適用できますね )
• 再利用単位としての Workflowや、 Activity を検討しましょう。
![Page 8: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/8.jpg)
わんくま同盟 大阪勉強会 #12
• Workflow はどのようにうごいているのでしょうか?
Program.cs をみてみましょう。
Visual Studio に
![Page 9: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/9.jpg)
わんくま同盟 大阪勉強会 #12
• WorkflowRuntime をホストしてあげれば、別にコンソールアプリでなくても組み込めます。
• 多少コツが・・・
• まずは Windows アプリケーションを作りましょう
Visual Studio に
![Page 10: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/10.jpg)
わんくま同盟 大阪勉強会 #12
以下を追加しよう
<ProjectTypeGuids>{14822709-B5A1-4724-98CA-57A101D1B079};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<Reference Include=“System.Workflow.Activities” />
<Reference Include=“System.Workflow.ComponentModel” />
<Reference Include=“System.Workflow.Runtime” />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.0\Workflow.Targets" />
Visual Studio に
![Page 11: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/11.jpg)
わんくま同盟 大阪勉強会 #12
• Windows アプリケーションだけでなく、ASP.NET でもホストできます。
• 現状ではワークフローの起動だけなので、パラメータを渡して、値を戻すようにしましょう。
Visual Studio に
DEMO3
![Page 12: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/12.jpg)
わんくま同盟 大阪勉強会 #12
結果を戻すのは下図のような流れ
画面系メインスレッド
ワークフロースレッド作成
処理
変換サービス
作成
呼び出し呼び出し
Src Src
destvalue
dest
受け渡しクラス
受け渡しクラス
受け渡しクラス登録
![Page 13: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/13.jpg)
わんくま同盟 大阪勉強会 #12
• 対話するには?
Visual Studio に
DEMO4
![Page 14: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/14.jpg)
わんくま同盟 大阪勉強会 #12
対話するのは下図のような流れ
画面系メインスレッド
ワークフロースレッド作成
処理
変換サービス
作成
呼び出し呼び出し
Src Src
DestguidGuid,
value
Guid,dest
受け渡しクラス
受け渡しクラス
受け渡しクラス登録
リッスン呼び出しGuid
インスタンス特定呼び出し 処
理
ここでも取れる。
![Page 15: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/15.jpg)
わんくま同盟 大阪勉強会 #12
まとめ
• とっても難しい概念、使い方、どれをとっても実は難しい
• 1回では調べられない・語れないステートマシンワークフローもやってない
• ワークフローの永続化にはSqlWorkflowPersistenceService を使う
• 続きは blog か、アンケートによってはPart2
![Page 16: Windows Workflow Foundation DSL シリーズ 第3回 中博俊](https://reader036.vdocuments.pub/reader036/viewer/2022082408/56813103550346895d97331d/html5/thumbnails/16.jpg)
わんくま同盟 大阪勉強会 #12
参考資料
• http://www.microsoft.com/japan/msdn/windows/windowsserver2008/tab/code/eds.aspx
• http://mamezou.net/modules/xfsection/article.php?articleid=89