- - PR -
ロールバックの考え方
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-10-01 15:26
VB2005、Oracle共に初心者です。
現在、無線端末からの通信により、Oracleのテーブルを参照、更新 するアプリの開発を行っております。 PC側アプリは端末との送受信、及び受信した要求に対するOracle テーブルの参照、更新を行います。 基本的な流れは、 端末からの検索要求→検索要求を判定し、テーブルを参照→参照結果を 端末へ送信→結果に対する端末からの更新要求→更新要求を判定し、 テーブルを更新→更新結果を端末へ送信 となります。 また、通信制御、及びOracleテーブルの検索、更新、追加、削除は、全て 独立したンクションとなっております。 PCから無線端末への結果送信時に、通信エラーが発生した場合、端末側 でもエラーとなり、PCへの要求を再送信する仕様になります。 従って、PC側ではエラー発生時にロールバックを行う必要があるのですが、 複数台(9台)の無線端末での運用となり、また通信エラーを判定しての ロールバック処理を考えているので、どの時点にセーブポイントをおいて ロールバックさせれば良いのか、うまく纏まりません。 何かアドバイスを頂ければ幸いかと思いますので、よろしくお願いします。 ちなみに、PC側アプリは1本で、VB2005から可能になったのマルチ スレッドでの制御を考えてます。 | ||||
|
投稿日時: 2008-10-01 22:52
図を描いてみましょう。考えを整理するのに、文字だけで考えていてはいけません。図に描いてみましょう。
これが書かれている内容から読み取ったシーケンス。 ここに、仕様にあわせて、スレッドやアプリケーションの生存期間を描き加えていきます。 (端末は、とりあえず1台にしておきましょう。) |
1