makotan _at_ gmail dot com

絵を描いたらほんとにその通りに動くのか??

まぁ絵にもよるだろうけど・・・
「絵を描いてその通りに何かの状態を管理するもの」の絵の部分はBPELだったりXPDLだったり独自記述位しかなくて、まさかVisioとかPhotoshopで書いたものが動くとは思ってないだろうとおもうので
どんな絵が描けるのかと、その通りに動くってところがかなり重要のはず。
どんな絵が描けるのかってのはワークフローエンジンの仕様と絵を描くエディタに思いっきり関係してくるところで、それはエンジンの仕様を作った人が公表しないと始まらない。でもBPELとかXPDLとかの標準に準拠してます!ってエンジンならその記述レベルの範囲で書けばOKって意味になるんだろうなぁ〜って思う
ぶりはというと、XPDLに描く絵の中で1Proessの範囲なら大体ちゃんと動く。ただし、SubFlowとかNestedActivityは使えないっていう制限があったりする、細かい制限(というかそこも含めて仕様)はもうちょっとあるかなぁ〜その辺は無いと言われてるんだけど実は存在してて公開もしてるはずのマニュアルには書いてると思うよ
それと動き方っていうのがあって、同じXPDLで書いてても、あるActivityを実行して動作を止める(FinishModeを見る)のと、あるActivityに到着したら動作を止める(StartModeを見る)、それらの両方の組み合わせっていう風に同じ記述でも複数種類が考えられたりして・・・まぁ両方の組み合わせが正しいんだろうなぁと思うんだけど、そこも差が出るところになる
ぶりは管理しやすくする為に&実質的にそれで問題ないという判断で実行してから動作を止める方法を採用。なんでそれで問題ないと判断できるかの理由は(゚≠゚)クチチャック♪
あと、条件式を書いたときの式言語の処理方法とかエンジンによってかなり差がありそうな気がするのでその辺も要チェック!
ぶりのデフォはOGNL式で、その気になればJRubyでもなんでも対応できるけど、今のところOGNLで駄目な理由が皆無なので全くその気がない(笑)
結局、どんな風に絵を描いてどう実行するかって言うのは確実にエンジンの設計者が考えることであってそれを守らないとちゃんと動かないはず。独自言語のエンジンの場合はそこは定義できることと動くことが一致してるので迷わなくて良いような気がする