蜜蜂号覚書 S2Buri

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ぶり大根の美味しい食べ方

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料金表