Поддержка глобальных транзакций с двухэтапной фиксацией

Для защиты и поддержания целостности важнейших бизнес-ресурсов IMS TM поддерживает управление глобальными транзакциями и обработку с двухэтапной фиксацией.

Используя эту поддержку, можно компоновать приложение Java™ EE, объединяя набор изменений в одну транзакцию, то есть одно задание, для того чтобы все включенные в транзакцию изменения были полностью применены или отозваны. Это позволяет запускать приложение на сервере приложений, совместимом с Java EE (например, WebSphere Application Server) для согласованного доступа к данным и транзакциям IMS. Управление глобальными транзакциями обеспечивает целостность данных в IMS.

Пример поддержки глобальной транзакции

При изменении защищенных ресурсов важно гарантировать правильность этих изменений. Например, как клиент банка вы хотите перевести деньги со сберегательного счета на текущий счет. Вам необходима уверенность в том, что сумма, списанная с одного счета, будет моментально добавлена на другой. Вам не хотелось бы, чтобы эта транзакция была выполнена лишь частично, то есть деньги были бы списаны со сберегательного счета, но не были добавлены на текущий счет.

Другой пример: вы покупаете билет от Сан-Франциско до Парижа, но прямого рейса нет. До тех пор, пока не удастся заказать билет от Сан-Франциско до Чикаго и от Чикаго до Парижа, вы не сможете отправиться в поездку. Поэтому вам придется отозвать свое решение о поездке в Париж, так как подтвержденный билет только на часть пути до Парижа вас не устраивает.

В обоих примерах рассмотрены случаи, когда для выполнения одной общей транзакции требуется выполнить несколько более мелких транзакций. Если одна из этих мелких транзакций не выполнена, нет необходимости в выполнении общей транзакции (например, переводе денег или поездке в Париж). Вместо этого нужно отозвать все шаги транзакции, для того чтобы ни одна из мелких транзакций не была зафиксирована. Для успешного перевода денег или поездки в Париж необходимо, чтобы мелкие транзакции управлялись и координировались совместно в ходе выполнения общей транзакции.

Для обеспечения скоординированного выполнения транзакций платформа Java EE (состоящая из сервера приложений Java EE, компонентов приложения Java EE, и адаптера ресурсов архитектуры коннекторов J2EE) предоставляет распределенную среду обработки транзакций, в которой применяется прозрачное управление транзакциями, а ресурсы согласованно обновляются и восстанавливаются на различных платформах.


Комментарии