2006/06/24(土) [n年前の日記]
#3 [prog][web] _コミット - 通信用語の基礎知識
確約すること。トランザクションの終了。データベーストランザクションを確定させること。CVSでソースの更新をレポジトリに反映すること。
_トランザクションとは 【transaction】 ─ 意味・解説 : IT用語辞典 e-Words
関連する複数の処理を一つの処理単位としてまとめたもの。金融機関のコンピュータシステムにおける入出金処理のように、一連の作業を全体として一つの処理として管理するために用いる。
トランザクションとして管理された処理は「すべて成功」か「すべて失敗」のいずれかであることが保証される。例えば、資金移動システムをコンピュータで処理する場合、出金処理と入金処理は「どちらも成功」か「どちらも失敗」のどちらかであることが要求される。「出金に成功して入金に失敗」すると、出金された資金が宙に浮いてしまうからである。
このような場合に、出金と入金をまとめて1つのトランザクションとして管理し、どちらか一方が失敗したらもう片方も失敗させ、どちらも成功したときに初めて全体を成功と評価するのがトランザクション処理である。これを実現するシステムをTPモニタという。
◎ とあるところへアクセスする際のコマンド資料の中に「コミット通信」「トランザクション番号」なる単語があって :
何のことか判らなかったのだけど。どうやら、入金 or 出金のコマンドを送った後で、その「コミット通信」なるものを送らないと実際に処理がされないらしい。となると、トランザクション番号ってのはそのための一連の処理につける番号なんだろう。…単語の説明はともかく、手順ぐらいは資料に書いておいてほしかった。
入出金時のレスポンス値について説明がなくて困ってたりもして。サーバが変な動作をしてたり、回線がおかしくなってたりして変な値が送られてたら、お客様のお金が大変なことになる。そうならないための防止策として、アプリは「○○を△△して」と送り、サーバは「○○を△△するのか?」とレスポンス値を返し、アプリ側はその値を見て「よし、こちらの指示がちゃんと届いてる。OKや」と思ったらコミット通信をしてトランザクションとやらを終了する、という仕様にしてるのではないのかと想像するのだけど。どんな値が返ってくるのか不明では、アプリ側で対処ができない。おかしなことが起きてても、それを知る術がないから、問答無用でコミット通信を送るしかない。…なんでそのあたり書いてないのやと。これではアプリ制作者は「オラ知らね」モードで作るしかないではないか。
入出金時のレスポンス値について説明がなくて困ってたりもして。サーバが変な動作をしてたり、回線がおかしくなってたりして変な値が送られてたら、お客様のお金が大変なことになる。そうならないための防止策として、アプリは「○○を△△して」と送り、サーバは「○○を△△するのか?」とレスポンス値を返し、アプリ側はその値を見て「よし、こちらの指示がちゃんと届いてる。OKや」と思ったらコミット通信をしてトランザクションとやらを終了する、という仕様にしてるのではないのかと想像するのだけど。どんな値が返ってくるのか不明では、アプリ側で対処ができない。おかしなことが起きてても、それを知る術がないから、問答無用でコミット通信を送るしかない。…なんでそのあたり書いてないのやと。これではアプリ制作者は「オラ知らね」モードで作るしかないではないか。
[ ツッコむ ]
以上です。