[Seasar-oper 194] [申請]Trickle
Yoshihara Hidehiko
yoshihara
2005年 6月 29日 (水) 11:00:30 JST
改めまして、
吉原と言います。
S2を使った、軽量ワークフローエンジン 「Trickle」を開発しています。
これを機会に、sandbagいや、sandboxにしていただけたら幸いです。
よろしくお願いいたします。
プロジェクト名:Trickle
パッケージ名 :org.seasar.trickle.*
Trickleの概要
Triclkeてなんですか?また何ができるの?
「滴」と言う意味です。ポタッポタッと規則正しく落ちるさまが、フロー制御の刻みを彷彿させる、
軽量ワークフローエンジンです。
S2Containerと連携しているため、diconに設定されたcomponent群を活用できます。
POJOで作成されたサービスの使用を行うことができ、AOPの使用が可能です。
また、includeタグや、componentタグが使用できることで、POJOの再利用性を高める事が可能です。
(S2Axisが利用できればWebサービスも利用可能だと思う。)
ついでに、軽いヒストリー管理も。
どうやってフロー制御を行うの?
diconライクの、制御ファイルを使用します。
フローの工程はactivityと呼ばれる単位に分割され、activityはstepにより状態を遷移させていきます。
各作業工程の分岐は、transitionを選択する事で行います。
各transitionには、ビジネスロジックに相当するactionが設定され、
actionの結果により次の、作業工程が確定します。
ワークフローに付き物の承認や認証などの権限制御は、activityやtransitionに、
conditionを指定する事で行うことができます。
サンプル
<?xml version="1.0" encoding="Shift_JIS"?>
<workflow>
<include path="trickle.dicon"/>
<component class="jp.co.nulab.trickle.restriction.StatusCondition" name="status"/>
<component class="jp.co.nulab.trickle.action.BaseAction" name="defalutAction"/>
<initial-workflow name="test">
</initial-workflow>
<activity step="0" status="開始">
<transition id="1" name="次は1">
<action>
defalutAction
</action>
<result name="success" step="1"/>
</transition>
</activity>
<activity step="1" status="test1">
<transition id="1" name="次は2">
<initMethod name="addCondition">
<arg>status</arg>
</initMethod>
<action>
defalutAction
</action>
<result name="success" step="2"/>
</transition>
<transition id="2" name="次は3">
<action>
defalutAction
</action>
<result name="success" step="3"/>
</transition>
</activity>
</workflow>
ビジョン
・Workflow Patternの実現
Parallel Split、Synchronizationを実装中
・サブタスク
微妙。。。。
・アクションのスクリプト記述
微妙。。。。
吉原 日出彦
…… あらゆる場所からバグの在庫管理を。 ……
【 Backlog 】
http://www.backlog.jp/
………………………………………………………
***[ぬ]*******************************************
有限会社 nulab 吉原 日出彦
〒810-0041
福岡市中央区大名2丁目10−2 シャンボール大名B506
TEL : 050-3457-3031
FAX : 050-3457-3031
URL : http://www.nulab.co.jp
Mail : yoshihara @ nulab.co.jp
*******************************************[ぬ]***
operation メーリングリストの案内