BPMオフに懲りずに参加

6/30 に第4回 BPM オフがあったので、相変わらず門外漢なのに例によってのこのこ行ってきた。
初めて BPM オフに参加したときから、Mettraux さんとは一度ちゃんとお話ししてみたかったのだがなかなか機会が無く。Mettraux さんが OpenWFEru(ruote) の発表をするなら行かずばなるまいという感じ。


ちなみに会場は iKnow のセレゴさん。今はやりたいコースが一通り終わってしまって「卒業」したが、一時期はかなり熱心に、4ヶ月間1日も休まず iKnow やってた。その節はお世話になりました(ってここで言っても駄目か)。
というわけで1つ目の iKnow のお話はさすがに全て既知の事にて略。


2つ目は Wohed さんの Workflow Patterns & YAWL のお話。
BPM オフで flowr の話をさせてもらうにあたって、一応上っ面だけでもと BPM まわりの予習をした際、YAWL とか名前だけは見たなあというレベルなので、事実上初めて。
他の類似技術は全てベンダーが噛んでいるのに対し、YAWL はアカデミックな立場からの提唱ということで、実装が実質リファレンス実装しかなかったり、Petri Net という言葉が飛び交ったりと、知る人ぞ知る感満点。
そんな中、ちょっと気になったのが Workflow Patterns。
Workflow を Design Patterns よろしくパターン分類して、ノウハウの再利用と低コスト化などなどなどを図る的な話なので、進歩の方向としては当然ありうる一つだとは思う。
が、ちょっと「パターン」と言うにはあまりにも多すぎるのではないかなあ。Workflow Patterns のサイトで数えてみたら、数え方のわからない Exceptional Patterns 以外で 126 パターンあった。しかも年々増えているっぽい。
中身を知らずに言っているのではずしているかもしれないが、柔軟な変更を前提とすることでもう少しパターン数を減らすことはできたりしないんだろうか。100 を超えるパターンを使って「これは○○パターンがいいと思うんだけど」「いや××パターンの方が適しているんじゃないかなあ」なんて会話が成立するとは……
あとで Mettraux さんにそう言ってみたら「ほんまにそう」と言ってはった。なぜそこで関西弁(笑)。
Wohed さんとも折りあらば隙あらばとうかがっていたのだけど大人気で話しかけるチャンスがなかった*1。まあ門外漢だからやめといて正解?


3つ目が Mettraux さんのオープンソースワークフローエンジン OpenWFEru(ruote) のお話。
人もシステムも外部サービスも全て "participant" という概念で表し、その正体は Ruby で記述する DSL で表現することができる、って言い方でいいのかな? state は独立した概念では提供されていないけど、機能の組み合わせで state-like なことはできる。
比べてどうこう言えるほど他のワークフローエンジンや BPM を知らないので、機能や仕様について判断が出来ないのだが、一点だけ。
OpenWFEru には REST インターフェース (ruote-rest) があるのだが、デモで見せてもらった範囲内では connectivity を備えていなさそうだった。
ワークフローは特に connectivity が重要なアプリであり、またそれを満たす設計にすることはとても自然でもあると思うのだが、どうなんだろう。まあでも、そうしたら workflow 用の microformats が欲しくなるけどね〜。


というわけで本番の懇親会では、甘太郎のトランザクショナルな店員呼び出し機構にひとしきり腹筋を鍛えた後、Mettraux さんのところへ突撃。
プレゼンよりも少し細かい部分とか、flowr との相違点とかについて少し話ができた。んーでもそこでタイムアップ。ruote-rest のところまで話がたどり着かなかった。残念。平日だしね。
帰り際にサボテン先生の新名刺をちょうだいした。ありがたや。


というわけでいつもながら楽しい機会を設けてくださった id:wkzk さん、ござ先輩、スピーカの皆さんありがとうございました&お疲れ様でした。

*1:Mettraux さんと違って日本語が全く通じなさそうだったので、心の整理の時間が必要なためにチャンスを逃し続けた、というのがより正しい表現