Windows Workflow Foundation of .NET Framework 3.0 tk-engineering.com
デモが主体なので、 このスライドだけでは解りにくいかもしれません。 An apology デモが主体なので、 このスライドだけでは解りにくいかもしれません。 では、気を取り直して行ってみましょう。
まず初めに Windows Workflow Foundation とは .NET Framework 3.0 の中核機能の一部 かといって、WPF等のような「見た目の派手さ」はない 地味なだけに、「何をするか」よくわからない Workflowっていうけど、 要するに何がしたいのよ?
Workflowとは そもそも何よ? 「何か」の流れをあらわすモノ しかし、ロジックをフローチャートから書き起こすことは、めったに無い。 UMLだって、”Workflow” しかし、ロジックをフローチャートから書き起こすことは、めったに無い。 さらに、保守されることは、もっと稀 →だったら、フローチャートがそのまま動けば…
[参考] フローチャートによるコーディング COBOLの世界からすでに存在 少なくとも、95年には、Jackson Treeから コーディングする手法が存在。 構造化プログラミングの基本要素を満たす 構造変更の際には、Treeも変更される。
基本的なワークフロー @ WF Sequential State Machine 詳しくはDemoで! そのまま、フローチャート的な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属性にも注意 ここで”Orange Book”
更に見所 ワークフローを定義するXML(xoml)が 見当たらなかったことに注意してください。 やり方は後ほど… このアプリを途中で中断すると… 内容は失われます! さらに、記録も残りません。
しつこく見所 ホストAPとWFは、同一プロセスで動作します ですが、別スレッドの模様です →だから、パラメータオブジェクトが… ウッカリすると、Exceptionが返されます。 微妙なタイミング制御に使わないほうが吉? →だから、パラメータオブジェクトが… インターフェイスが必要で… 「シリアライズ可能」なのです… きっと…
忘れちゃいけない、”Activity” ToolBoxに並んでいたアレです。 並んでいるのは、「標準品」です。 Activityの目指すところは、VB6のOCX !? つまり、「共通部品化」をも視野に入れる。
要するにWFは何をしたいのか “むき出しのエンジン”としての、 Workflowエンジン 基本的なAPIはそろっている。 あとはあなた次第。 カスタムActivityで幸せに 他システム連携などのややこしいところは、WFで外出しに。
(参考)BizTalkとの違い 似たもの同士と言うことで、BizTalkとの違い BizTalkは… WFは… それ自体で「製品」です。 外部システムとの連携を制御するのに適しています。 WFは… 製品を作るための「部品」です お好みの機能をつけて、良いように使ってください。 ビジネスロジックを実装するのに適しています。
参考文献 …英語ばっかりなんですけど、 何とかしてください。Microsoftさん… MSDN – Windows Workflow Foundation http://msdn2.microsoft.com/en-us/netframework/aa663328.aspx MSDN Library - .NET Development – WF http://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