« ORマッピング | トップページ | モデリングの発想方法 »

2004/07/01

トランザクション

 トランザクションは技術よりもビジネスモデリングから攻めた方が分かりやすい気がする。
技術から攻めると、ACID特性とかトランザクションレベルとか排他制御とか、重要なんだけどイメージしにくい点が強調されて、理解した気がしない。
 ビジネスモデリングでは「事象の履歴を記録する事がビジネスでは重要」という発想が根底にあるから、トランザクションは自然に現れるし、モデルの文脈に沿って自然に意味付けできる。
 銀行口座の普通預金を例に取れば、commit/rollbackは理解しやすい。送金元と送金先のトランザクションが完了して初めて、送金が完了する仕組みが2-fase-commit。送金が失敗したら処理前に状態を戻さねばならない処理がrollback。
 ある勉強会で、新人が「トランザクションをどのようにクラスとして表現したらいいのか分からない」と質問したら、先生が「ビジネスの現場では、受注番号や出荷番号のようにトランザクションをエンティティの一つと昔から見なしていた。ビジネスを知っていれば自然に出てくる」と返答したのを思い出す。

 ソースコードドリブンではなく、ビジネスドリブンである方が、トランザクションは理解しやすい。

|

« ORマッピング | トップページ | モデリングの発想方法 »

モデリング」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事