私は最近、Workflow Foundationを調べるように任命されました。実際の目標は、エンドユーザーがデプロイされたアプリケーションでカスタムワークフローを定義できるシステムを実装することです(もちろん、それらを使用することも可能です)。個人的に私は以前はWFを使ったことがありませんでした(そしてSO人はそれについて非常に疑問があります - その質問/回答を読んでいます)。ユーザー定義の動的ワークフローとユーザー入力
とにかく、いくつかの質問があります(たとえば、this)。これは動的またはユーザー定義のワークフローと呼ばれるものです。彼らは、WFによってデザイナーの「再ホスト」が可能になり、エンドユーザーはアプリケーションのデプロイメント後に独自の新しいワークフローを定義できるようになりました(開発者の介入なし(?)、これはわかりません) 。
この機能を実装すると、新しいワークフローを実装するたびにアプリケーションを変更する必要はなくなりました。しかし、彼らはまた、彼らはちょうど "それを聞いた"と指摘した、彼らは自分自身も経験を持っていない。
私はサンプルをオンラインで探していましたが、私が見つけた最高のものは、単純なこんにちはの世界よりもはるかに多くの推測アプリでした。そうではないことが、このユーザー定義のワークフロー機能が実際にどのように機能し、どのように使用できるか、その限界などについて正しい方向に向かうでしょう。
私の主な関心事は次のとおりです。カスタムワークフローを定義しますが、実際にプロセス全体にデータを入力する可能性がなくても、ワークフローは価値がありません。たとえば、苦情管理システムに顧客を登録するだけで済む場合でも、顧客の名前、連絡先などが必要です。エンドユーザーがワークフローを定義できるようにするには、所定のツールセットが可能ですもちろん、フォームを通してデータを入力する方法をワークフローのコンシューマーに提供する方法が必要です。ワークフローがかなりの性質を持つことができれば、データである必要があります。そうでなければ、自分自身でUIを実装する必要がある場合、この「エンドユーザーはワークフローを一緒にスロー」機能は役に立たなくなります。フォームを実装する必要があるか、個々のステップのデータ入力を行う必要があります。
私は調査し、データに基づいてフォームを動的に生成できるワークフローの任意のユーザーインタラクションフェーズで入力する必要があるデータの「形状」を定義する方法があるはずです。たとえば、必要なデータが名前と生年月日で構成されていることがわかったら、そのページにテキストボックスと日付ピッカーを表示する必要があります。
Qから実際には分かりませんでした。&ここや他の箇所では、これも可能かどうかです。ワークフローに渡すデータの構造を定義して後で「照会」することはできますか?もしそうなら、どうですか?そうでない場合、このユーザー定義のワークフロー機能をどのように使用すべきですか、それは何のために良いでしょうか?
少し明確にするために、通常のMVCアプリケーションのビューモデル(入力モデル)となる複雑な型を指定するものを想像してみて、それを見直してプロパティを取得し、入力をレンダリングすることができますフィールドはそれに基づいています。