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

Сервер транзакций располагается в самом центре информационной системы. Сервер транзакций отвечает за поддержку высокой производительности, готовности и целостности данных. Он также следит за равномерностью загрузки компьютеров в сети.

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

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

«Вас не устроит, если работа будет завершена наполовину. Вам нужно, чтобы или базы данных были полностью обновлены, или, если процесс не может быть закончен, все вернулось в исходное состояние, как будто бы эта транзакция вообще не начиналась», — заметил Эд Экли, аналитик International Data Corp.

Процесс

Сервер транзакций — это нечто большее, нежели некий конкретный программный или аппаратный продукт.

Как подчеркнул Морган Герхар, аналитик Meta Group, сейчас все реже можно найти сервер транзакций, который продается как отдельный продукт. Сервер транзакций представляет собой либо часть операционной системы, либо часть промежуточного программного обеспечения, то есть программы, которая размещается между клиентскими компьютерами и сервером. Промежуточное программное обеспечение гарантирует, что когда клиенты запрашивают информацию, серверы обязательно ее предоставляют, даже если они работают на различных вычислительных платформах.

На этой схеме показан сервер транзакций, расположенный между центральным сервером и тремя клиентами. В представленной модели он действует как промежуточное программное обеспечение и выполняет следующие функции:
  • поддерживает необходимый уровень производительности и готовности
  • обеспечивает защиту транзакций
  • предохраняет данные от искажений
  • выполняет блансировку нагрузки, чтобы не допустить перегрузки узлов системы
  • Фундаментальные характеристики промежуточного программного обеспечения — независимость и открытость. Это универсальная инфраструктура, в состав которой могут входить самые разнообразные инструментальные средства.

    В эпоху мэйнфреймов сервер транзакций назывался монитором транзакций. Выйдя за рамки мэйнфреймов, он взял на себя также управление распределенными объектно-ориентированными приложениями в архитектуре клиент-сервер.

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

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

    Спрятанная инфраструктура

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

    В будущем же, возможно, мы попросту забудем выражение «сервер транзакций», поскольку его функции распределятся по другим приложениям.

    Знаете ли вы?

    Виды промежуточного программного обеспечения

    Помимо сервера транзакций существует промежуточное ПО еще пяти видов.
    • Связь с унаследованным ПО
      Объединяет «унаследованные» приложения и обеспечивает доступ к ним, то есть к более старым приложениям, которые используют иные технологии, чем более новые системы, установленные в организации.

    • Доступ к данным
      Обеспечивает синхронные соединения между приложениями и базами данных различного типа для предоставления требуемых данных.

    • Удаленный вызов процедур
      Обеспечивает связь между запрашивающим приложением и удаленным приложением.

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

    • Объектно-ориентированное
      Управляет взаимодействием между распределенными объектами, которые представляют собой автономные, повторно используемые программные модули.

    Источник: International Data Corp.

    Приложения для сервера транзакций

    Серверы транзакций лучше всего подходят для защищенных, высокоскоростных приложений, например:

    • электронная коммерция;
    • торговля ценными бумагами;
    • резервирование авиабилетов;
    • проверка подлинности кредитных карт;
    • интерактивные банковские транзакции.