Этот вопрос длинный. Я не думаю, что это на самом деле возможно, но я подумал, что опубликую это, чтобы увидеть.
Справочная информация:
У меня есть две системы.
Одна - это огромная система мэйнфреймов, которая более или менее неизменна.
Другой - система WCF / SQL Server 2008, которую я пишу.
ЕДИНСТВЕННЫЙ способ взаимодействия систем - отправка данных XML через NServiceBus и TCP. Затем XML анализируется каждой системой и обрабатывается. Время задержки связи может составлять несколько минут.
Система мэйнфреймов является фактическим «владельцем» всех данных, и пользователи могут подключаться напрямую к мэйнфрейму в любое время и вносить изменения. (Нет способа заблокировать их от обновления).
Вопрос:
Мне нужно иметь возможность отправить обновление из моей системы и быть уверенным, что я не перезаписываю изменения, произошедшие в системе мэйнфреймов. Есть ли способ сделать это?
Пример:
Я отправляю обновление для объема заказа в основной кадр (чтобы изменить его с 2 на 4). Но неизвестно мне, пользователь, напрямую подключенный к мэйнфрейму, обновил количество заказов с 2 до 7.
Когда мое обновление 4 будет обработано, оно перезапишет обновление до 7.
Если бы я не отправил обновление до 4, в конечном итоге мэйнфрейм сказал бы мне об обновлении до 7. Но к тому времени, когда он скажет мне, может быть другое обновление пользователем мэйнфрейма.