Здравствуйте.
Необходимо мнение сообщества и по данной задаче.
Дано:
Веб-приложение. Серверная часть на Java. Клиенты подключаются с помощью стандартного браузера и производят операции над данными. Число клиентов – до 5000. Операции – просмотр (поиск, сортировка, фильтрация), создание, удаление, изменение записей. Данные находятся в реляционной БД.
Возможны ситуации, когда более чем один пользователь вносит изменения в один объект модели данных.
Эти изменения могут быть не конфликтующими (пользователи изменяют разные поля и это не нарушает целостность данных) и конфликтующими (пользователи изменяют одно и то же поле(поля) или же разные поля с нарушением целостности данных или связанные поля разных объектов так же с нарушением целостности).
Задача:
Реализовать подсистему обнаружения и разрешения коллизий в веб-приложении с высокой эффективностью, минимальными затратами на передачу данных между клиентом и сервером и минимальным эффектом на производительности клиентской и серверной части.
Вопросы:
1. Стандартные / распространённые / общепринятые способы разрешения таких коллизий в веб-приложениях
2. Существующие реализации этих способов в продуктах / фреймворках / библиотеках и т.п.