ぶり大根の美味しい食べ方
S2Buriって?
- ワークステートエンジン
- !=ワークフローエンジン
- ワークフローエンジンを名乗る為には機能が足らない。
- 足らない機能を作る気は無い。
- やりたいことは同じ。(機能が足らないだけ)
- Business Unit Realtime Integrationの略
- 内部的にS2をバリバリに活用
- 決して、内部エンジンの名前がワカナゴで、前のバージョンがハマチだったから、とかそんな理由じゃないです。by habuakihiro
- 間違っても、DIコンテナ=大根で、飲み屋でぶり大根云々で、とかそんな安直な理由ではありません。by habuakihiro
- S2ってついてるのは、Seasar最近注目度上がっているので、日和るためです(w by habuakihiro
Workflowとは?
- 仕事の流れ。
- 今の主流は画面単位での設計。
- 要求から業務フローを決める。
- UI決める。
- UIの入出力を満たすデータ構造を作る。
- データの出し入れ処理をする。
- フローはどこに消えた?
- フロー管理のためにデータに余計なものを付ける。(フラグとか状態とか)
- いちいちif文を書く
- いちいちwhere文を書く
(;´Д`)<大変です!~の時は~をするんですが、例外的に☆☆☆のときは★★★をするらしいんです!!大至急直してください。 ΩΩΩ<なんだって~!?
- どんどん複雑になる条件
- どんどん入り組む条件
- 設計されないフラグ郡
- 管理されないフラグ郡
(ヽ ̄ー ̄)ヾ┳━┳ (^ やって) (ノ ̄□ ̄)ノ ~┻━┻ (^ られるか!)
- 仕事の流れをそのまま実装したい。
- 業務フローの実行機能が必要。
- ルールを解析するエンジンが必要。
- タイマーも必要だよね。
- DBアクセス支援があるといいよね。
- 全部作りました。by makotan
- 仕事の流れをそのまま実装したい。
- 元々は「IF文撲滅運動」から。
- ステータスチェック系のIF文は捨て
- SQLのwhereも結局はIF文なので捨て
イメージ:伝票箱モデル
- 伝票=DTO
- 伝票箱=アクティビティ(と対になっているDB)
- フローの中を伝票が転がっていく。だから…
- Automatic:勝手にフローの中を転がる。
- Manual:画面に伝票を引っ張ってきて、書き換えて再びころころ。
UIがやること。
- DTOの組み立て
- Bao経由でDTOをアクティビティに放り込む。
- あとはBuriがよろしくしてくれる。
- DBとのやり取りにはS2Dao必要。
- 個別の細かいルールはPOJO作る。
- UnitTest重要!
S2Buriの美味しさ
- フローの仕様が変わっても慌てない。
- UIやSQLの変更不要
- XPDLやExcelシートを修正すればOK
- SOAPやMQとの連携も。
Inside S2Buri
- XPDL実行エンジン
- Harricene
- デシジョンテーブルをExcelで表現するルールエンジン
- ServiceManager
- タイマー機能
- TablePickup
- Excelで定義されたデータをPickupする。
- ほかにも隠し機能が…。
- 詳細はソース嫁!by makotan
How to cooking.
- XPDL書きます。
- Baoインタフェース書きます。
- 必要なDaoやPOJO作ります。
- 組み合わせます。
- ( ゚Д゚)ウマー
実際、調理してみましょう。
!ぶり大根(リアル)の作り方のフローを元に。
!交通費申請
!経費申請
!TGas料金表
!交通費申請
!経費申請
!TGas料金表