На выставке Открытых систем в ноябре 1991 года фирмой USL (UNIX System Laboratories) было продемонстрировано, как на смеси компьютеров различных фирм-производителей, различных операционных систем, баз данных и сетевых интерфейсов можно интегрировать коммерческую среду. "Клеем" послужила система обработки распределенных транзакций TUXEDO. EUROBANK уже использует TUXEDO в автоматизации банковских служб.
Введение
Традиционной платформой оперативной обработки транзакций (On-Line Transaction Processing - OLTP) в настоящее время остаются mainframe-системы. Однако наблюдается тенденция к использованию компьютеров среднего класса и программной платформы ОС UNIX для поддержки технологии OLTP. Центральную роль в системах OLTP играет монитор транзакций (Transactions Monitor - TM) - специализированная программная система, основное назначение которой состоит в оперативном управлении обработкой транзакций, затрагивающих разнородные базы данных, принадлежащие различным узлам распределенной вычислительной среды.
Аналитики предрекают интенсивный рост популярности этого типа программного обеспечения. По оценкам, приведенным в журнале "Open Systems Today", несмотря на то, что в 1990 году лишь 5% пользователей ОС UNIX применяли монитор транзакций, ожидается, что в 1995 году их число увеличиться до 55%. Объем рынка систем OLTP для UNIX"а составил в 1990 году 2.8 миллиардов долларов; прогнозируется его рост в 1995 году до 11.6 миллиардов.
Сейчас на платформе UNIX есть три основные системы OLTP:
- TUXEDO ETP System, Release 4.2 (USL)
- TOP END (NCR)
- ENCINA Release 1.01 (Transarc Corporation)
Первая из названных систем приобрела особую популярность и представляет несомненный интерес для государственных и некоммерческих структур, чья деятельность в той или иной степени связана с обработкой транзакций. В первую очередь TUXEDO имеет исключительно важное значение в качестве перспективного решения проблем автоматизации банковской деятельности.
Среда обработки транзакций
На рисунке изображена архитектура Среды обработки транзакций, состоящая из трех рядов: ряд 1: персональные компьютеры (Personal Workstation), ряд 2: UNIX-компьютеры (UNIX Transaction Processing Server - UPTS), ряд 3: mainframe-системы (Proprietary Transaction Processing Servers - PTPS).
Компьютеры ряда 1, функционирующие как под управлением операционных систем MS-DOS, OS/2, так и под управлением ОС UNIX, объединены в локальную сеть. Они используются для управления вводом/выводом и для поддержки интерфейса с пользователем. Включение в среду обработки транзакций ряда персональных компьютеров расширяет спектр поддерживаемых интерфейсов, в том числе и графических.
Ряд 2 составляют UNIX-компьютеры среднего класса с программным обеспечением обработки транзакций, таким как мониторы транзакций и системы управления реляционными базами данных. Сеть, объединяющая компьютеры этого ряда, может быть локальной (возможно, это будет та же сеть, к которой подключены компьютеры ряда 1, как показано на рисунке) либо глобальной. Компьютеры ряда 2 обеспечивают обработку распределенных транзакций в среде ОС UNIX, включая обращение к доступным в UNIX"е СУБД. Кроме того, они связывают персональные компьютеры с mainframe-системами.
Ряд 3 представлен mainframe-компьютерами, работающими под управлением собственных ОС и мониторов транзакций, таких как MVS/CICS. В настоящее время такие компьютеры берут на себя большую часть всего объема обработки транзакций, концентрируют огромные вычислительные ресурсы и содержат большие массивы данных. При переносе основной нагрузки по обработке транзакций на компьютеры ряда 2 потребуется обеспечить доступ к этим ресурсам и данным, что и позволит сделать система обработки распределенных транзакций.
Таким образом, Среда обработки транзакций представляет своего рода "клей", который связывает вместе перечисленные выше ряды аппаратного обеспечения в открытую унифицированную среду обработки транзакций. Она обеспечивает коммуникационные, административные и транзакционные сервисные средства для прикладных программистов и администраторов, которые доступны на компьютерах всех трех рядов.
Ключом к интеграции прикладных программ, выполняющихся на компьютерах различных рядов, является общий интерфейс программирования приложений для межпрограммного взаимодействия и управления транзакциями, обеспечивающий:
- для ряда 1 - формирование и передачу запросов от клиентов к серверам, выполняющимся на компьютерах ряда 2
- для ряда 2 - поступление запросов от клиентов, их обработку и, по необходимости, формирование и направление запросов к серверам, выполняющимся на компьютерах ряда 3.
- для ряда 3 - обработку запросов, поступающих от серверов ряда 2
TUXEDO ETP SYSTEM
TUXEDO (Transaction Processing Systems) - система для открытой стандартизованной оперативной обработки транзакций.
В июне 1992 года компания UNIX System Laboratories, Inc. анонсировала новую версию системы обработки транзакций TUXEDO ETP System, Release 4.2. Основная задача, решенная в рамках этой версии - расширение возможностей открытой оперативной обработки распределенных транзакций для программных платформ, отличных от UNIX System V. Система управляет обработкой транзакций как на компьютерах, функционирующих под управлением ОС UNIX, так и на станциях сети, в качестве которых выступают персональные компьютеры, а также обеспечивает шлюз к mainframe-системам и объединяет компьютеры этих типов в единую открытую среду обработки транзакций.
TUXEDO System развивается и совершенствуется в течение более чем десяти лет, в настоящее время приобрела статус стандарта "де-факто" для открытых систем OLTP и в этом качестве имеет все предпосылки для того, чтобы занять лидирующее положение на рынке таких систем. В 1986 году система стала коммерческим программным продуктом. В России она впервые была представлена на Международной конференции SUUG в сентябре 1992 года в Санкт-Петербурге.
Архитектура
TUXEDO ETP System, Release 4.2 состоит из четырех основных компонентов:
- TUXEDO System/T - монитор транзакций
- TUXEDO System/WS - PC-расширение
- TUXEDO System/Host - mainframe-расширение
- TUXEDO System/D - СУБД
Монитор транзакций распределяет запросы клиентов между серверами, реконфигурирует серверы, управляет двухфазовой фиксацией глобальных транзакций, затрагивающих разнородные базы данных (в настоящее время это возможно для СУБД Oracle 7.0, Informix-Online 5.0, HP Allbase/SQL F.0 и TUXEDO System/D) и поддерживает работу всей системы в целом. Кроме того, System/T работает с большинством СУБД, не обладающих протоколом двухфазовой фиксации.
System/WS позволяет использовать персональные компьютеры для запуска клиентов System/T. Прикладные программы, выступающие в качестве клиентов, могут работать в среде UNIX System V, MS-DOS, OS/2, MS Windows, System/Host представляет собой программное обеспечение шлюза в среду mainframe. Из всех четырех компонентов только System/T явялется такой обязательной.
TUXEDO ETP System, Release 4.2 доступна на компьютерах Amdahl, BULL, DEC, Data General, FUJITSU, HP, IBM, ICL, Oki, Olivetty, Pyramid, Sequent, Sun, Tandem, Teradata, Toshiba, Unisys и в операционных системах UNIX SVR3, UNIX SVR4, VMS, Sun OS, OS/2(/WS), HP UX, AIX, UTS, Ultrix, MS-DOS(/WS), MVS/CICS (/Host). Цена системы в двоичных кодах варьируется от 1000 до 75000 долларов в зависимости от поставщика.
Монитор транзакций
Расширенная модель "клиент-сервер". В модели "клиент-сервер" клиент рассматривается как процесс, отвечающий за поддержку интерфейса с пользователем и ввод/вывод данных, поступающих извне. Клиент формирует запрос на управление ресурсами, направляет его серверу, получает от сервера ответ на запрос, интерпретирует его и извещает пользователя о реакции системы.
Сервер является процессом, отвечающим за обработку запросов клиентов. Сервер управляет ресурсами (например, базой данных) путем использования сервисных программ, обрабатывающих запросы клиентов и оперирующих ресурсами. Серверы также могут играть роль клиентов и посылать запросы другим серверам.
Расширение модели "клиент-сервер" в архитектуре System/T заключается в допустимости параллельного выполнения нескольких запросов одного клиента. Кроме того, запросы клиента обрабатываются в соответствии с приоритетами, устанавливаемыми для запросов разработчиком прикладных программ.
Распределенные сервисные программы. System/T поддерживает сетевое взаимодействие приложений на компьютерах неоднородной архитектуры. Для организации межпроцессорного сетевого обмена прикладные программы в среде System/T могут использовать как библиотеки TLI, так и библиотеки Sockets BSD. Кроме того, могут быть использованы и другие сетевые интерфейсы, такие как X.25 или Novell.
От разработчиков прикладных программ System/T не требуется знание особенностей архитектуры процессоров и сетевых структур. Для разработки приложений предназначен высокоуровневый интерфейс ATMI (Application Transaction Monitor Interface) - интерфейс Прикладная программа - Монитор Транзакций, который разрешает клиентам и серверам взаимодействовать не зависящим от расположения способом. Это, в частности, означает, что в запросах на обслуживание используются символические имена и, следовательно, клиенты и серверы разрабатываются без учета архитектуры процессоров, на которых они будут выполняться, расположения данных, количества одновременно выполняемых серверов и т.д.
ATMI специально спроектирован для поддержки расширенной модели "клиент-сервер" в System/T; он позволяет разработчику прикладных программ организовать взаимодействие между клиентом и сервером синхронным и асинхронным способом. Асинхронное взаимодействие означает, что клиенту разрешено выполнять другие работы, пока его запросы обрабатываются сервером.
ATMI позволяет разработчику прикладных программ определять внутри них границы транзакций; в границах транзакции может быть инициирован процесс управления ресурсами, затрагивающий разнородные базы данных в неоднородной вычислительной среде, причем монитор транзакций гарантирует ее выполнение в целом или откат назад (rolling back) всех изменений, декларированных данной транзакцией.
Обработка распределенных транзакций. System/T гарантирует глобальную целостность данных, принадлежащим, быть может, разнородным базам данных, доступным в сети. System/T управляет распределенными транзакциями, допуская обновление данных в нескольких узлах (sites). В System/T использовано понятие глобальной транзакции (global transaction) и принят протокол двухфазовой фиксации (two-phase commit protocol), гарантирующий сохранение целостности данных во всех узлах, затрагиваемых транзакцией.
System/T также управляет откатом назад глобальных транзакций в случае сьоев в одном из узлов, сетевых ошибок или ситуации "смертельного объятия". System/T использует ХА-интерфейс для связи с различными менеджерами ресурсов (resource manager).
Специальные буфера. Прикладные программы, взаимодействующие с монитором транзакций посредством ATMI, передают и получают данные через буфера (typed buffers), выделяемые непосредственные System/T. Они представляют собой структуры данных, определенные разработчиками прикладных программ и известные монитору транзакций.
Цель использования буферов заключается в минимизации операций копирования данных в оперативной памяти и в возможности выборочного декодирования данных при их передаче между процессорами различной архитектуры.
Администрирование и поддержка. System/T обеспечивает богатый набор возможностей администрирования и поддержки, требуемый для приложений OLTP.
Определение приложения. System/T позволяет разработчику прикладных программ определять в одном файле аппаратные, программные, сетевые ресурсы, которые доступны в OLTP приложениях. Он, в частности, может установить, где будут запущены сервер и сервисные программы, определить, куда они будут мигрировать в случае сбоя процессора. System/T обеспечивает управление конфигурацией и инструментарий для динамического старта, остановки и администрирования приложений.
Динамическая реконфигурация. В процессе работы серверы могут запускаться или останавливаться; новые компьютеры, серверы и сервисные программы могут быть добавлены в конфигурацию без прерывания работы прикладной программы. Если произошел сбой процессора, System/T разрешает серверам и сервисным программам мигрировать на другие процессоры без прерывания прикладной программы.
Баланс загрузки. В целях обеспечения максимальной пропускной способности, System/T автоматически поддерживает баланс загрузки и планирует пропускную способность системы.
Интернациональные версии. System/T поддерживает возможности диагностики и выдачи системных сообщений на языке страны, где используется система. System/T соответсвует стандарту X/Open XPG.
Стандарт X/Open XA. System/T построена в соответствии со стандартом X/Open XA, который устанавливает особенности управления транзакциями между несколькими разнородными СУБД. Интерфейс ХА является частью модели X/Open DTP. Наличие этого интерфейса в System/T предоставляет пользователю следующие возможности:
Свобода выбора базы данных: при разработке прикладных программ System/T может использоваться любая СУБД.
Безболезненная интеграция: если прикладная программа содержит утверждения SQL, взаимодействуя с реляционной СУБД, то сама СУБД может быть заменена на другую, использующую тот же стандарт SQL, без внесения изменений в текст прикладной программы.
Обновление данных, затрагивающее несколько узлов: возможность в рамках одной транзакции доступа к данным, расположенным в различных узлах.
Безопасность. System/T обеспечивает четыре уровня безопасности прикладных программ:
Уровень 1 -- права доступа на чтение, запись и выполнение, принятые в ОС UNIX.
Уровень 2 -- обеспечение безопасности с помощью паролей прикладных программ: администратор устанавливает пароль, который пользователь должен ввести, когда он собирается запустить программу.
Уровень 3 -- полное установление достоверности. Попытки пользователя получить доступ к прикладной программе разрешаются системными средствами.
Уровень 4 -- безопасность, поддерживаемая системой Kerberos.
TUXEDO System/WS
System/WS позволяет разрабатывать с использованием ATMI прикладные программы, запускаемые на компьютерах ряда 1, которые выступают в качестве клиентов, использующих возможности обработки транзакций монитора транзакций TUXEDO System/T. Поскольку программный интерфейс остается прежним, постольку исключается необходимость переобучения разработчиков, мигрирующих с ряда 2 на ряд 1. Кроме того, за счет переноса функций управления вводом/выводом и поддержки интерфейса с пользователем на ряд 1 освобождаются вычислительные ресурсы ряда 2, так как исключается необходимость поддержки ОС UNIX символьного ввода, осуществляемого с терминалов.
Версия DOS System/WS поддерживает бездисковые и дисковые компьютеры под управлением DOS. Вместе с System/WS поставляются библиотеки для разработки программ-клиентов, запускаемых под управлением DOS и использующих ATMI для связи с System/T. Взаимосвязь между клиентами и построенными в среде UNIX приложениями обеспечивается средствами Novell LAN WORKPLACE. Для организации сетевого взаимодействия используется протокол TCP/IP.
TUXEDO System/WS обеспечивает расширенную безопасность, поддерживаемую Kerberos или другими системами аутентификации /WS-клиентов.
TUXEDO System/HOST
TUXEDO System/HOST обеспечивает доступ прикладных программ, разработанных в рамках System/T, в среду CISC mainframe-систем. TUXEDO System/HOST поддерживает интерактивное взаимодействие по схеме "запрос-ответ" с MVS/CICS-процессами через протокол LU6.2; MVS/CISC-компьютер должен быть класса IBM 308X, 309X, 43XX, или эквивалентным.
TUXEDO System/HOST обеспечивает трансляцию кодов ASCII-EBCDIC при обмене с MVS/CICS-средой для всех специальных буферов, поддерживаемых в TUXEDO System/T. Эта трансляция кодов прозрачна для разработчика прикладных программ.
Функции администрирования TUXEDO System/HOST, такие как загрузка, завершение работы, доступ к серверам, инициируются с компьютеров ряда 2 в рамках возможностей администрирования, представляемых TUXEDO System/T. TUXEDO System/HOST разрешает прикладным программистам TUXEDO System использовать интерфейс ATMI, для клиентов или серверов, которые запускаются на компьютерах ряда 2, но имеют доступ к сервисным программам, функционирующих в среде MVS/CICS.
TUXEDO System/D
TUXEDO System/D является высокопроизводительной системой управления базами данных для OLTP-приложений. Это - соответствующая ХА-стандарту СУБД, включающая генератор отчетов, SQL-интерфейс, сетевой интерфейс и полный набор средств для построения и администрирования баз данных.
SQL-интерфейс позволяет использовать утверждения языка SQL в стандарте ANSI в программах на языке С. System/D включает командный интерпретатор для поддержки интерактивного SQL.
Для защиты целостности данных используется понятие транзакции. Аппарат конкурирующих транзакций позволяет многим пользователям получать одновременный доступ к данным, сохраняя при этом их целостность. Обеспечиваются эффективные средства архивирования баз данных, включая возможность архивирования в момент работы СУБД.