
179
4
失敗した場合はトランザクションをロールバックします。
トランザクション制御の仕組みそのものは、プログラミング言語の標
準ライブラリやフレームワークが提供することが大半なので、アプリ
ケーション基盤で独自に実装することは稀でしょう。
トランザクション制御の実装方法
トランザクション制御の具体的な実装方法は大きく二つあります。
一つはプログラムの処理内で明示的にトランザクション制御を記述す
る方法です。たとえば.NET Framework ではTransactionScope
※7
と
いうオブジェクトを生成すると、そのブロック内の処理がトランザク
ション単位となります。
もう一つは宣言的トランザクションです。処理内に直接トランザク
ション制御を記述するのではなく、設定ファイルやアノテーションを用
いてトランザクションのスコープや振る舞いを定義する方法です。
トランザクション境界
トランザクション制御に関してアプリケーション基盤が提供すべき共
通機能は特にないか、あってもユーティリティ程度の軽微なもので済む
のですが、トランザクション境界についての方針は定めておく必要があ
ります。
トランザクション境界とは、アプリケーション処理におけるトランザ
クションの開始から終了までの範囲を指します。トランザクションス
コープとも言います。
HTTPというステートレスなプロトコルを用いるWebアプリケー
ションでは、トランザクションが複数のリクエストにまたがることはあ
りません。また、一つのリクエストの中で複数のトランザクションが発 ...