redux-saga における Saga とは違うんだけど、興味あるので調べる。
- Clarifying the Saga pattern
- Voice Application Call Flows: State Machine, Workflow, or Rules Engine
- Kangaroo Transactions
- Example of Sagas
WIP
論文が書かれたのが1997年で、まだスマホがな時代。PDAとかはあったかな? 背景としては近い将来、モバイル端末が普及してモバイルネットワークにつながった端末が データ通信を行うようになると、現状のような単一DBでは大量のコネクションの接続切れに 対応できるのかな?って感じだった。そこでモバイル用のトランザクションモデルを提案するよ、と。
保険屋が事故の調停を行う際、被保険者の情報集め、警察に届けられた情報の確認、事故レポートの取得、 事故車の価格調査、事故車を実際に見て修理費用の見積もり、最終的なレポートの作成といった感じで 様々なことを行う。
これが1995年であれば現場に行って状況を確認するまでに1つずつオフィスで揃えていくしかないけど、 2005年であればモバイルネットワークの普及によって車で移動している間に必要な情報収集を終える ことができる。
様々なシステムにまたがったトランザクションを複数走らせることになり、Sagaっぽさがある。
WIP
Sagaというのは失敗管理パターン(failure management pattern)である。