ひがやすを技術ブログ

電通国際情報サービスのプログラマ

h5i(hamachi)

http://d.hatena.ne.jp/makotan/20040704#p3
私がワークフローエンジンに求めるのは、

  1. バウンダリからは普通のコンポーネントの呼び出しであること
  2. ワークフローエンジンから呼び出されるコンポーネントは任意のメソッドで任意の引数が可能なこと

です。
ロバストネス分析した結果のコントロール部分がh5iの対象でしょう。
そのコントロールの部分をアトミックになるまで分解する。
アトミックに分解されたコンポーネントのフロー制御をh5iが行うということに
なるんじゃないかと思います。
難しいと思うのは、コンテキストの内容だけではフロー制御を行えない場合が
あると思うこと。これは、コンテキストがどういう物か完全に分かってなくて
書いてますが、一般のワークフローエンジンでコンテキストは、
ワークフローに投入するときに引数で渡されるかプロセスを呼び出した戻り値
+ ワークフローエンジン固有の制御情報になります。
コンテキストを加工するためのコンポーネントが追加できるようになってるなら
この辺は大丈夫でしょう。
後、一般のワークフローエンジンは、コンポーネントに渡す引数が、
コンテキストである場合が多い。
コンテキストから任意の引数に加工できるかもポイントだと思います。
http://www.isid.co.jp/solution/finance/stp_engine.html
うちの会社のワークフローエンジンを設計したのはおいらだからね。
ワークフローエンジンの難しさも分かっているつもりですが、
上記に上げたポイントが解決できるならすばらしいと思います。
後、開発者は、h5iのAPIなんか知らなくても済むのが望ましい。
コンポーネントを作ってワークフローエディタで絵を描けばOKというのが
理想ですね。