Использует ли IMS слово «транзакция» немного по-другому?

transactions mainframe ims-tm

105 просмотра

1 ответ

3702 Репутация автора

Я не очень знаком с миром мэйнфреймов, но у меня есть небольшой опыт работы в разных ИТ-ролях. Я привык к транзакции, являющейся довольно маленькой, недолгой вещью, которая в основном превращает несколько небольших операций в более атомарную операцию, чтобы она либо полностью завершалась, либо выполнялась откат Таким образом, одна покупка - это одна транзакция или одно изменение, когда мы получаем некоторую информацию, делаем некоторые вычисления и затем сохраняем их. Однако я слышу комментарии парней из мэйнфрейма, которые заставляют меня думать, что транзакция - это нечто большее, возможно, больше похоже на услугу, или они группируют несколько, например, покупок, в одной транзакции.

Я слышал такие вещи, как «приложение убило транзакцию IMS, теперь все пользователи не могут ничего купить!». Обычно, если транзакция терпит неудачу из-за какой-либо ошибки, это не имеет большого значения, следующий клиент приходит и начинает новую транзакцию.

Я слышу комментарии, которые заставляют меня думать, что они открывают одну транзакцию, а затем все покупки каким-то образом смешиваются с этим, и если с одной покупкой происходит какая-то ошибка, то все покупки откатываются и дальнейшие покупки невозможны.

По сути, я должен думать о транзакциях IMS, которые похожи на обычные краткосрочные транзакции, как обычно в мире приложений и БД, или они являются чем-то более тяжелым или более долгоживущим?

Автор: Kurt Источник Размещён: 18.07.2016 01:40

Ответы (1)


3 плюса

2298 Репутация автора

Решение

В IMS TM (и CICS в этом отношении) слово «транзакция» может относиться к двум различным, но связанным вещам:

  • Объект конфигурации, который связывает идентификатор, набранный на терминале, с программой, которая выполняется в результате такой записи (и с кучей свойств, которые появляются вместе).

  • Экземпляр работающей программы, который был инициирован кем-то, набирающим идентификатор, связанный с объектом конфигурации, описанным выше.

Транзакция в качестве объекта конфигурации, конечно, является долгоживущей, но сама по себе она ничего не делает. «Выполненная» транзакция, то есть ее экземпляр, является недолговечной сущностью, и она также чаще всего соответствует одной транзакции базы данных (третья вещь, называемая тем же именем).

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

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

(В моем ответе IMS относится к диспетчеру транзакций IMS. В БД IMS слово транзакция может иметь только одно значение - это обычная транзакция базы данных.)

Автор: Yuri Steinschreiber Размещён: 19.07.2016 08:56
Вопросы из категории :
32x32