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