私はいくつかの管理画面を持つWebアプリケーションを作成しています。ユーザーはレコードの編集に行くことができます(たとえば、ユーザーの連絡先の詳細を変更するなど)。これらの管理画面へのアクセスはロールによって制御され、複数のユーザーがアクセスできる可能性があります。 2人のユーザーが同時に同じレコードを編集しようとすると、何がすべきかという問題が発生します。並行変更のためのWebフロントエンド設計
私の問題はフロントエンドで、バックエンドではありません。ユーザーフレンドリーで同時修正を防ぐためにページを設計するために使用できるパターンは何ですか?私が考えることができる唯一の2つのオプションは、次のとおりです。
- ペシミスティックロック:セッションがタイムアウトするのを待つ必要があるWeb環境では、ほとんどの場合ロックを解除できません。
- オプティミスティック・ロッキング:最後に「保存できません」というメッセージで挨拶されるように大きなフォームを記入する可能性があるため、使い勝手の面ではそれほど優れていません。
オプティミスティックロックは、ユーザーフレンドリーまたはそれ以外とは関係ありません。それは実装に至りました。大きな問題は、同じレコードの同時編集の予想頻度はどれくらいですか?低い場合、単純な楽観的なロックが勝ちます。 – SteveD