150 likes | 493 Views
Windows Workflow Foundation of .NET Framework 3.0. tk-engineering.com. An apology. デモが主体なので、 このスライドだけでは解りにくいかもしれません。 では、気を取り直して行ってみましょう。. まず初めに. Windows Workflow Foundation とは .NET Framework 3.0 の中核機能の一部 かといって、 WPF 等のような「見た目の派手さ」はない 地味なだけに、「何をするか」よくわからない Workflow っていうけど、 要するに何がしたいのよ?.
E N D
Windows Workflow Foundationof .NET Framework 3.0 tk-engineering.com
An apology • デモが主体なので、このスライドだけでは解りにくいかもしれません。 • では、気を取り直して行ってみましょう。
まず初めに • Windows Workflow Foundation とは • .NET Framework 3.0 の中核機能の一部 • かといって、WPF等のような「見た目の派手さ」はない • 地味なだけに、「何をするか」よくわからない • Workflowっていうけど、要するに何がしたいのよ?
Workflowとは • そもそも何よ? • 「何か」の流れをあらわすモノ • 古典的なフローチャートも、”Workflow” • UMLだって、”Workflow” • しかし、ロジックをフローチャートから書き起こすことは、めったに無い。 • さらに、保守されることは、もっと稀 • →だったら、フローチャートがそのまま動けば…
[参考]フローチャートによるコーディング • COBOLの世界からすでに存在 • 少なくとも、95年には、Jackson Treeからコーディングする手法が存在。 • 構造化プログラミングの基本要素を満たす • 構造変更の際には、Treeも変更される。
基本的なワークフロー @ WF • Sequential • そのまま、フローチャート的なWorkflow • State Machine • 状態遷移図のようなWorkflow • この二つのWorkflowが標準でサポートされる • 詳しくはDemoで!
DEMO – Sequential • 例によって、”Hello World” • イベントログに出力します • 見所:”Took Box”にご注意ください。
さらにDEMO – State Machine • 例によって、”Hello World” • イベントログに出力します • 見所:”Took Box”にご注意ください。 • 加えて、プロジェクトの構成にご注意。
今のDEMOの見所 • メインのAPとワークフローの関係に注意 • この場合、メインAPはワークフローの”Hosting Application”と呼ばれます。 • 使用している”Runtime”,”Instance”などに注意してください。 • ExternalDataExchange属性にも注意
更に見所 • ワークフローを定義するXML(xoml)が見当たらなかったことに注意してください。 • やり方は後ほど… • このアプリを途中で中断すると…内容は失われます! • さらに、記録も残りません。
しつこく見所 • ホストAPとWFは、同一プロセスで動作します • ですが、別スレッドの模様です • ホストAPはWFの終了を待ちません。 • ウッカリすると、Exceptionが返されます。 • 微妙なタイミング制御に使わないほうが吉? • →だから、パラメータオブジェクトが… • インターフェイスが必要で… • 「シリアライズ可能」なのです… • きっと…
忘れちゃいけない、”Activity” • ToolBoxに並んでいたアレです。 • 並んでいるのは、「標準品」です。 • 自前のActivityを作ることには問題はありません。…どころか、推奨されています。 • Activityの目指すところは、VB6のOCX !? • つまり、「共通部品化」をも視野に入れる。
要するにWFは何をしたいのか • “むき出しのエンジン”としての、Workflowエンジン • 基本的なAPIはそろっている。あとはあなた次第。 • カスタムActivityで幸せに • 他システム連携などのややこしいところは、WFで外出しに。
(参考)BizTalkとの違い • 似たもの同士と言うことで、BizTalkとの違い • BizTalkは… • それ自体で「製品」です。 • 外部システムとの連携を制御するのに適しています。 • WFは… • 製品を作るための「部品」です • お好みの機能をつけて、良いように使ってください。 • ビジネスロジックを実装するのに適しています。
参考文献 • …英語ばっかりなんですけど、何とかしてください。Microsoftさん… • MSDN – Windows Workflow Foundationhttp://msdn2.microsoft.com/en-us/netframework/aa663328.aspx • MSDN Library - .NET Development – WFhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/WF_GetStart_MSDNLive/html/feaec6ba-1653-434a-b0c3-c6d27b5fe540.asp • WFに関する総合ポータルhttp://wf.netfx3.com/ • MSDN Vista デベロッパーセンター –Windows Workflow Foundation 入門 (ja-jp)http://www.microsoft.com/japan/msdn/windowsvista/general/WFGetStart.aspx