Определение
Сервер транзакций, как можно установить из названия, управляет бизнес-транзакциями. Он размещается между клиентом и сервером и действует как своеобразный клей, объединяя важнейшие операции обработки данных. Он позволяет сохранять целостность гигантских объемов информации и гарантирует завершение транзакций без прерываний и искажения данных
Сервер транзакций располагается в самом центре информационной системы. Сервер транзакций отвечает за поддержку высокой производительности, готовности и целостности данных. Он также следит за равномерностью загрузки компьютеров в сети.
Когда сервер транзакций выясняет, что один из компьютеров несет слишком большую нагрузку, он автоматически распределяет работу между всеми имеющимися машинами, объединяя ресурсы, чтобы предотвратить сбой на любой из них.
При обновлении базы данных сервер транзакций выполняет операцию, называемую управлением состоянием. В случае, если компьютер не может завершить транзакцию, сервер приостанавливает работу программы и возвращается в исходное состояние без искажения данных.
«Вас не устроит, если работа будет завершена наполовину. Вам нужно, чтобы или базы данных были полностью обновлены, или, если процесс не может быть закончен, все вернулось в исходное состояние, как будто бы эта транзакция вообще не начиналась», — заметил Эд Экли, аналитик International Data Corp.
Процесс
Сервер транзакций — это нечто большее, нежели некий конкретный программный или аппаратный продукт.
Как подчеркнул Морган Герхар, аналитик Meta Group, сейчас все реже можно найти сервер транзакций, который продается как отдельный продукт. Сервер транзакций представляет собой либо часть операционной системы, либо часть промежуточного программного обеспечения, то есть программы, которая размещается между клиентскими компьютерами и сервером. Промежуточное программное обеспечение гарантирует, что когда клиенты запрашивают информацию, серверы обязательно ее предоставляют, даже если они работают на различных вычислительных платформах.
На этой схеме показан сервер транзакций, расположенный между центральным сервером и тремя клиентами. В представленной модели он действует как промежуточное программное обеспечение и выполняет следующие функции:
|
Фундаментальные характеристики промежуточного программного обеспечения — независимость и открытость. Это универсальная инфраструктура, в состав которой могут входить самые разнообразные инструментальные средства.
В эпоху мэйнфреймов сервер транзакций назывался монитором транзакций. Выйдя за рамки мэйнфреймов, он взял на себя также управление распределенными объектно-ориентированными приложениями в архитектуре клиент-сервер.
Объектно-ориентированные программы создаются на основе правил, позволяющих программным компонентам действовать как независимые объекты, которые работают вместе, обмениваясь друг с другом сообщениями. Компоненты таких программ оказываются многократно используемыми, поэтому программистам не нужно еще раз создавать те же самые объекты. Подобный подход позволяет также заменить один объект на другой, так что нет необходимости переписывать всю программу целиком.
Кроме того, сервер транзакций, действующий как промежуточное программное обеспечение, решает поистине уникальную задачу. По словам Экли, «сначала существовали только клиенты и серверы, но не было места для размещения приложений. Их всегда втискивали либо в клиент, либо в сервер баз данных». Промежуточное программное обеспечение заполнило этот пробел.
Спрятанная инфраструктура
Где бы ни размещался сервер транзакций, он инкапсулирует в себе базовую инфраструктуру программы. Он предоставляет такую программную среду, в которой разработчикам при создании нового приложения не придется беспокоиться о реализации базовых функций.
В будущем же, возможно, мы попросту забудем выражение «сервер транзакций», поскольку его функции распределятся по другим приложениям.
Знаете ли вы? |
Виды промежуточного программного обеспеченияПомимо сервера транзакций существует промежуточное ПО еще пяти видов.
|
Приложения для сервера транзакций |
Серверы транзакций лучше всего подходят для защищенных, высокоскоростных приложений, например:
|