OpenWFEru デベロッパー用ドキュメント

OpenWFEruへの入り口

初めは quotereporter.rb の例を学習するとよいでしょう。

他のサンプル も見てください。

その中に “flow tracing” の例があります。以下でこれを起動できます。

    ruby -I lib examples/flowtracing.rb

これはそれぞれのparticipant に着いたトレースを標準出力に表示します。

次のステップは”ft_”で始まる名前のユニットテストを見ることでしょう。これらはプロセスエンジンの様子を全て表示します。

もし専門用語を忘れたら、 glossary を見てください。

ユニットテストの起動

Note : OpenWFEru は MacOSX (ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-darwin8.8.3] この環境は Hivelogic のDan Benjamin に教示していただきました)で開発・テストしています。

Rake のしきたりに沿って、以下のようにユニットテストを走らせることができます。


    rake test

ある程度時間がかかります (私のマシンではおおよそ400秒)。それは’cron’, ‘sleep’, ‘when’,またはスケジューラーに関する時間に関係したテストを含んだ全ての テストが実行されるからです。

もしもっと早く実行したいなら (たぶんあなたがソースの変更を伝える後でしょうけど), 以下のように。


    rake qtest

これは test/rake_qtest.rb にリストアップされているテストのみを実行します。これだと 22 秒です(私のマシンでは)。

rake でテストを実行するごとに、最新の engine.log にテストの実行ログ(完全なデバッグログを含む)が出力されます。これはテスト・デバッグ中のあなたのベストフレンドです。

OpenWFEru はワークフロー / BPM エンジンなので, 永続という要素はとても重要です (平均的なビジネスプロセスは長く続き、リスタートで生き返らないといけません)。

rake_qtest.rb にある永続モードのテストを全て実行するには…以下です。


    rake ptest

このテストの永続モードはキャッシュを使わないことに注意してください。これは完成品ではなくテスト版という意味で、.つまりexpression がテストされた永続的なタイミングで全てのエラーが表示されるということです。’ptest’ を実行すると, 全ての ‘ft_’ のテストはこの何もしていない永続モードで実行されます。

一度に一つのテストを実行するには…。


    rake test TEST=test/ft_2_concurrence.rb

同じテストを永続モード (FlowTestBaseの拡張機能です) で実行するには…。


    rake ptest TEST=test/ft_2_concurrence.rb

‘test’ を ‘ptest’ に変えるだけです。

また、”CachedFilePersistenceEngine”(インメモリーくらい速く永続化するエンジン)用のテスト一式もあります。

これをテストするには…以下です。


    rake ctest

エンジン テンプレート

OpenWFEru エンジンのコンフィグ方法を示す. テンプレート があります。これにはたくさんのコメントがあります。

OpenWFEru エンジンのちゃんとしたセッティングをするためにこのテンプレートをコピーして修正することができます。

(続く)