Сценарий этотдвухфазного принятия/Shared транзакции
У нас есть два приложения А и В, и которые работают в отдельной базе данных (Oracle 9i) сделки
Применение A - вставляет некоторые данные в базу данных , затем вызывает Application B Приложение B - вставляет некоторые данные в базу данных, связанные (через внешние ключи) с данными A. Возвращает «ID» в приложение A Приложение A - использует идентификатор для ввода дополнительных данных, включая идентификатор от B
Теперь, поскольку это отдельные транзакции, но оба полагаются на данные из транзакций друг друга, нам необходимо зафиксировать между вызовами для каждого приложения. Это, конечно, очень сложно откат, если что-то пойдет не так.
Как вы подходите к этой проблеме с минимальным рефакторингом кода. Наверняка, это такая распространенная проблема в мире SOA?
------ Обновление --------
Я не смог найти что-нибудь в Oracle 9i, однако Oracle 11g обеспечивает DBMS_XA, который делает именно то, что я был после.
Я не думаю, что теги актуальны. java, perl, jboss даже не упоминаются в вопросе, и проблема не связана с оракулом. – 2008-09-30 15:45:31