いいね!数

1

閲覧数
351

Notes/Domino 8.5.3 UpgradePack1の環境でRESTを使用して他プラットフォームとデータ交換(送信)を考えています。

非常に稀だとは思いますが、RESTでデータ交換をしている、まさにその最中に、ユーザーによる情報の変更、またはバッチ処理で送信対象の文書が書き変わるケースを考えて、データ交換する文書に対して排他制御を掛ける必要があるのかどうかが分かりません。

排他制御の必要性の有無、排他制御が必要な場合の方法、その他データの保全に関しての考慮点など情報、ご意見があれば教えてください。

サーバー情報: | クライアント情報: | 
カテゴリ:アプリ開発 - XPages | タグ:
  | 質問日時:Aug 5, 2014, 12:25:54 PM

回答・コメント

いいね!数

1

RESTに限らず、Notes/Dominoは競合する可能性を持っていますよね。

なので、排他制御を行うかどうかはデータの要件によって変わるのではないかと思います。

データが競合しても問題ないのであれば、RESTでデータを交換する際、競合文書は処理しないようにすれば良いかと思います。

※返答文書になっている事、$REFが存在することで競合文書かどうかの見分けはつきます。

 

また、RESTでの交換中に競合になるのは嫌だということであれば、Notes/Domino側で排他制御を行うことになりますが、

1.文書のロックを行う(全文書に対して行わないといけないので、ちょっと面倒かも)。

2.RESTでデータを交換するときだけ、ACLを変更して、保存できないようにしてしまう(ACLが複雑になっていると、ちょっと面倒かも)。

3.RESTでデータを交換しているときは文書の保存を拒否する(データベース上のプロフィール文書に記録しておく、applicationScope変数に記録しておく等でREST交換中かどうかを判断する)

という方法が考えられます。

 

と書いてきましたが、今までの経験上だと、Notes/Domino側では競合文書は発生するものだとして、相手側でうまく処理をするようにしてました。

回答日時:Aug 5, 2014, 5:51:16 PM