В настоящее время на рынке сетевых операционных систем лидируют три продукта: NetWare, Windows NT, Unix. Ниже приведена краткая оценка этих ОС.
Проблема выбора. В каждом конкретном случае необходимо выбрать наиболее подходящую для решения задач операционную систему. Рассмотрим несколько систем.
NetWare. Эта ОС имеет два общепризнанных преимущества: у нее самая быстрая файловая система и печать; она имеет более совершенное средство организации и управления системной БД NDS (NetWare Directory Services). Но у NetWare ограниченные возможности по разработке серверов СУБД и приложений.
Из-за этих недостатков NetWare редко используется как сервер СУБД и сервер приложений.
Windows NT. В настоящее время Windows NT, по мнению специалистов, пользуется определенным успехом как коммерческая серверная платформа. Серверы Windows NT чаще всего применяют для поддержки приложений в отделениях компаний и рабочих групп, обеспечивая возможности печати и совместного использования файлов. Похоже, что они отвоевывают долю рынка у операционной системы NetWare компании Novell, а не у ОС Unix, которая обычно функционирует в крупных информационных системах, где необходима очень высокая производительность. Как отмечают аналитики, Microsoft провела огромную работу по привлечению на свою сторону независимых производителей программного обеспечения, таких, как SAP America, Oracle и др., продукты которых играют решающую роль в борьбе за крупного корпоративного заказчика. Кроме того, Microsoft с каждой новой версией делает свою ОС все более мощной. Пользователей также привлекает низкая стоимость и простота взаимодействия с Windows NT.
Unix. Если говорить о коммерческом применении, то Unix стала ведущей ОС для корпоративных серверов и особенно популярной в области поддержки крупных приложений БД.
|
Ведущие производители Unix-серверов, включая Hewlett-Packard, IBM и Sun Microsystems, планируют создание более масштабируемых и мощных систем.
За рубежом рынок серверов сетей масштаба предприятия можно сегментировать на три мини-рынка, на которых влияние Windows NT и Unix различно.
1. К первому относятся корпоративные рабочие среды. Серверы для них обычно покупаются, инсталлируются и обслуживаются центральным отделом информационных систем, который также осуществляет централизованное управление ими. Иногда эти серверы играют вспомогательную роль в много уровневой сети клиент/сервер. Информация в такой корпоративной рабочей сети генерируется локально, но совместно используется в глобальной среде. Здесь позиции ОС Unix остаются сильными, и, по мнению ряда специалистов, Windows NT будет очень трудно потеснить Unix в данном секторе.
2. Второй сегмент называется «рабочей средой с тиражированием». Здесь каждый сервер работает более или менее независимо. Инсталляцией и обслуживанием локальных систем часто занимается местный персонал. Информация также генерируется локально, но совместно используется в глобальной среде лишь периодически, например при составлении ежемесячных отчетов о продажах (данные собираются с локальных систем и подытоживаются). Типичным приложением для серверов рабочей среды с тиражированием является обработка транзакций на предприятиях розничной торговли или в системе управления имуществом отеля. В данном секторе также сильны позиции отдельных разновидностей Unix. Безусловно, в этой области большую роль играет SCO Unix, a Windows NT еще не удалось сколько-нибудь укрепиться.
|
3. К третьему мини-рынку относятся так называемые независимые рабочие среды. В них задачи выбора и покупки, инсталляции и обслуживания системы ложатся на местный персонал. Часто это недорогие системы, и их приобретение не требует согласования с руководством или центральным
отделом информационных систем. Информация в такой среде создается и используется локально. Совместная работа с информацией, хранящейся на этих серверах, в масштабе компании отсутствует. Именно здесь находит спрос Windows NT. Благодаря своей системе продаж, Microsoft имеет очень хорошие позиции на этом рынке.
Интеграция различных сетевых ОС. Связь серверов Unix и Windows NT поддерживается достаточно просто на базе протокола TCP/IP, чего не скажешь о NetWare.
В России 80–90 % локальных вычислительных сетей работают под управлением NetWare. При переходе к распределенной обработке вероятно возникнет вопрос об организации связи ОС NetWare с Windows NT и Unix. Рассмотрим принципы организации взаимодействия NetWare с ОС Windows NT и Unix.
Фирма Microsoft выпускает ряд продуктов, которые облегчают взаимодействие серверов Windows NT и NetWare в сети или обеспечивают переход с NetWare на серверы Windows NT. Эти продукты перечислены в табл. 13.1.
Таблица 13.1. Продукты Microsoft, обеспечивающие взаимодействие серверов Windows NT и NetWare
На рис. 13.1 представлена схема взаимодействия Windows NT-клиентов и NetWare-клиентов (работающих по протоколу IPX) соответственно с ОС NetWare и Windows NT Server, функционирующих в одной сети.
|
Рис. 13.1. Схема взаимодействия клиентов с ОС NetWare и Windows NT Server
Рассмотрим, как обеспечивается взаимодействие NetWare с ОС Unix. Для этой цели можно использовать продукт NetWare NFS 1.2с. Он функционирует как совокупность NLM-модулей, устанавливаемых на файловом сервере NetWare (табл. 13.2).
Таблица 13.2. NLM-модули NetWare NFS 1.2с, обеспечивающие взаимодействие NetWare с Unix
Рис. 13.2. Схема взаимодействия клиентов с ОС NetWare и Unix
На рис. 13.2 представлена схема взаимодействия (на базе NetWare NFS 1.2c) Unix-клиентов и NetWare-клиентов соответственно с ОС NetWare и Unix-сервером, функционирующих в одной сети.
Но средство NetWare NFS 1.2с не обеспечивает доступ клиентов NetWare к файловой системе Unix. Для этого можно использовать следующие продукты.
1. LAN Workplace или LAN WorkGroup (Novell), обеспечивающие включение протокола ТСР/IР в стек протоколов рабочей станции, в пакет LAN Workplace входят следующие приложения:
• FTP-клиент и FTP-сервер для DOS и Windows;
• NFS-клиент;
• Telnet для DOS и Windows;
• TN3270 для Windows;
• Web-броузер Netscape Navigator;
• сервер и клиент X Windows System;
• Windows Dialer с поддержкой протоколов SLIP и РРР;
• клиент SMTP/POP3;
• finder для DOS и Windows;
• rsh, rexec, rcp для DOS и Windows;
• поддержка различных режимов печати в Unix из DOS (Windows) и наоборот;
• talk для Windows.
2. PC Protocol Services for Solaris (SunSoft), обеспечивающий включение IPX в стек протоколов на Unix-сервере с ОС Solaris.
Варианты выбора распределенной СУБД
Почему используют архитектуру клиент/сервер? В настоящее время для построения систем распределенной обработки данных используются модели сервера БД и сервера приложений, поддерживающие архитектуру клиент/сервер, т.е. прикладная или системная программа (клиент) выставляет запрос на выполнение SQL-оператора или сервис-приложения. Сервер СУБД обрабатывает этот запрос и возвращает программе результаты выполнения.
Одной из основных причин перехода на технологию клиент/сервер является более высокое быстродействие систем, поддерживающих эту технологию. В параграфе 12.2 приведен пример небольшой системы, функционирующей в архитектуре клиент/сервер. Предположим, что такая же система реализована с помощью СУБД, функционирующей на основе модели файлового сервера, например, FoxPro. В этой СУБД приложения и ядро функционируют на рабочей станции, а файлы БД (таблицы, индексы и др.) хранятся на файловом сервере.
Сравним для двух технологий число пакетов (кадров), которые передаются между рабочей станцией и сервером при выполнении запроса, описанного в § 12.2. Предполагается, что таблица Счет имеет сложный индекс (код клиента, тип счета).
1. Предположим, что в программе, написанной на языке СУБД FoxPro выполняется следующий оператор поиска в таблице Счет:
LOCATE FOR код клиента = 1.AND. тип счета <= 4;
В табл. 13.3 приведен ориентировочный расчет числа пакетов, передаваемых по сети при выполнении этого запроса. Здесь приняты следующие обозначения и значения параметров:
а = 1024 байт – размер пакета, передаваемого по сети;
1 = 32 байт – длина записи таблицы Счет;
b = 1024 байт – размер блока индекса;
c = 80 – количество строк в блоке индекса;
n = 106 – число записей в таблице Счет.
Таблица 13.3. Пример расчета числа пакетов, передаваемых по сети при выполнении оператора LOCATE
2. Пусть теперь в СУБД с архитектурой клиент/сервер выполняется следующий запрос:
SELECT остаток
FROM счет
WHERE код клиента = 1 AND тип счета <= 4;
В табл. 13.4 приведен ориентировочный расчет числа пакетов для этого случая.
Таблица 13.4. Пример расчета числа пакетов передаваемых по сети при выполнении запроса SELECT
Даже в этом простом примере число передаваемых пакетов для СУБД с моделью файлового сервера в 4–6 раз превышает число пакетов для СУБД с моделью сервера БД. При увеличении сложности запроса преимущество СУБД клиент/сервер будет только возрастать.
Преимущества архитектуры клиент/сервер проявляются в том случае, если ядро СУБД функционирует на мощном сервере (обслуживающем до 100 клиентов).
Важным преимуществом использования СУБД типа клиент/сервер является также то, что во всех этих СУБД (Oracle, Sybase, Informix и др.) языком описания и манипулирования данными выступает язык SQL. Это позволяет объединить разнородные СУБД в одну систему. Более того, международная организация ISO определила стандарт SQL/89 и его расширение SQL/92. Эти стандарты в целом приняты всеми основными разработчиками СУБД с архитектурой клиент/сервер.
СУБД, поддерживающие распределенную обработку данных. В настоящее время в основном продукты трех компаний: Oracle, Sybase, Informix, поддерживают распределенную обработку в наиболее полном виде. Более того, эти компании удерживают 80 % рынка серверов СУБД. Ниже анализируются возможности продуктов этих компаний.
Oracle – современное состояние. В 1985–1986 гг. Oracle Corporation выпустила на рынок версию СУБД с программой SQL*Net, поддерживающей неоднородные среды. В ней были впервые разрешены распределенные запросы, т.е. запрос мог обращаться к данным, физически размещенным в разных узлах.
Разработчики последующих версий стремились создать инструмент построения крупномасштабных информационных систем, ориентированных на обработку транзакций в режиме реального времени. Oracle стал первым многопользовательским сетевым сервером БД для различных ОС. В версии были заложены принципиально новые возможности, в полном объеме реализованные позже. Во-первых, SQL-предложения могли использоваться совместно с утверждениями языка PL/SQL и посылаться для исполнения на сервер как анонимные процедуры. Во-вторых, тот же язык PL/SQL был введен в язык четвертого поколения SQL*Forms в качестве средства программирования приложений (в версии 7 расширенный язык PL/SQL стал средством описания хранимых процедур и триггеров базы данных). В-третьих, в описание схемы БД на синтаксическом уровне были введены (в соответствии с ANSI/ISO стандартом) декларативные определения ограничений референциальной целостности.
В области администрирования БД также введен ряд новшеств: зеркальный журнал транзакций, динамическое создание журналов данных, команда ANALYZE, позволяющая собирать статистику об использовании таблиц, индексов и других физических объектах (эта статистика используется оптимизатором запросов), профили пользователей на использование системных ресурсов: ЦПУ, ввода/вывода и др. Были полностью реализованы декларативные ограничения референциальной целостности в соответствии со стандартами ANSI/ISO. В рамках этих ограничений (первичные и внешние ключи) пользователь может специфицировать каскадное удаление связанных с некоторым первичным ключом записей. Процедуры PL/SQL описываются на уровне схемы БД (хранимые процедуры) и вызываются любым приложением, другими процедурами и триггерами. Взаимосвязанные процедуры могут быть сгруппированы в пакеты и использовать общие переменные и определения. Значения переменных, объявленных на уровне пакета, сохраняются в течение всей пользовательской сессии и могут совместно использоваться процедурами и функциями пакета.
Важным нововведением явились триггеры БД. Триггер представляет собой пару (событие+действие), где событие – это удаление/включение/обновление записей таблицы, а действие (тело триггера) – процедура PL/SQL, выполняемая при совершении события. Триггеры определяются на уровне утверждений (DELETE, INSERT, UPDATE) или на уровне отдельных строк (FOR EACH ROW-триггеры, которые, к тому же, могут работать со старыми и новыми значениями строк). С помощью триггеров реализуют сложные правила контроля целостности, прав доступа, вывода значений и другие.
Управление безопасностью и целостностью существенно упростилось благодаря введению «ролей». Роль – это совокупность прав доступа к объектам БД (DELETE, INSERT, UPDATE, SELECT) и системных прав (CREATE TABLE, ALTER SYSTEM и др.). Определив роль, АБД может одной командой GRANT дать пользователю привилегии для работы с некоторым приложением.
Эффективность выполнения распределенных запросов повысилась за счет глобальной оптимизации: оптимизатор обладает информацией об индексах и статистике удаленных таблиц, и, например, скорость соединения таблиц, расположенных в разных узлах сети, существенно возрастает благодаря тому, что из удаленных таблиц выбираются лишь строки, соответствующие строкам локальной таблицы.
В области распределенной обработки данных вводится асинхронная симметричная репликация данных и асинхронный вызов удаленных процедур.
История развития Oracle показывает, что открытость всегда была одной из стержневых идей создателей системы. Рассматривать Oracle как открытую систему следует, очевидно, в трех измерениях: сервер-сеть-клиент.
Со стороны сервера открытость означает поддержку распространенных вычислительных платформ и независимость серверной части разрабатываемых прикладных систем от рабочей платформы. Здесь Oracle находится вне конкуренции, поддерживая около 200 платформ и работая практически на любой вычислительной системе – от персональных до мэйнфреймов и многопроцессорных систем. При этом перенос программ не требует изменения исходного кода.
Независимость от источников данных, как важная составляющая открытости Oracle, реализована с помощью двух наборов продуктов: Oracle Transparent Gateways (прозрачные шлюзы) и Oracle Procedural Gateways (процедурные шлюзы). Прозрачные шлюзы обеспечивают доступ из SQL к БД и файловым системам – DB2, Rdb, ADABAS, IDMS, IMS, SQL/DS, SQL/400, VSAM – и плоским файлам. Процедурные шлюзы реализуют интерфейс с мониторами транзакций, ОС и внешними приложениями из языка PL/SQL.
Механизм многопротокольного обмена – MPI (Multiple Protocol Interchange) – осуществляет преобразование данных из одного протокола в другой и позволяет существенно снизить число узлов сети, требующих поддержки нескольких протоколов. Кроме того, Oracle совместим со спецификацией X/Open XA коммуникации мониторов транзакций и менеджеров ресурсов, благодаря этому Oracle 7 работает с мониторами TopEnd, Encina и Tuxedo.
Интегрированная функционально полная среда разработки CDEI (Cooperative Development Environment) Oracle предоставляет разработчику приложений набор инструментальных средств: Oracle Forms, Oracle Reports, Oracle Graphics, Oracle Book и др.
Oracle предоставляет широкий набор средств конечного пользователя: Oracle Data Query – позволяет пользователю, не знакомому с языком SQL, строить запросы и отчеты; Oracle Browser – помогает через дружелюбный графический интерфейс легко и эффективно находить информацию в распределенной среде; Oracle Office – пакет для автоматизации офисной деятельности.
Архитектура Sybase System 11. Фирма Sybase – один из ведущих производителей промышленных СУБД, средств разработки приложений и других продуктов, реализующих технологию клиент/сервер. Sybase System выпущена для основных Unix-платформ.
Sybase SQL Server – реляционная СУБД. Sybase SQL Server 11 относится к классу открытых систем. Ниже перечислены основные принципы построения Sybase SQL Server 11.
1. Масштабируемость, производительность и эффективность системы основывается на следующих факторах:
• Sybase SQL Server 11 работает на множестве платформ (от персональных компьютеров до многопроцессорных суперсерверов);
• обеспечена высокая производительность на каждой платформе благодаря тесному взаимодействию с производителями аппаратуры и оптимизации характеристик;
• полностью симметричная многопотоковая СУБД.
2. Sybase SQL Server 11 обеспечивает надежность и целостность данных:
• сервер поддерживает механизмы триггеров и хранимых процедур, декларативной ссылочной целостности, транзакций и т.д.;
• СУБД соответствует уровню безопасности С2 NCSA (National Computer Security Council).
3. Доступность данных повышает производительность системы:
• Sybase SQL Server 11 программно поддерживает зеркальный журнал и зеркальную БД;
• высокоскоростные средства загрузки и восстановления минимизируют влияние этих операций на работу системы.
4. Соответствие стандартам:
• Sybase SQL Server 11 соответствует стандартам ANSI/ISO SQL-89 и entry-level ANSI/ISO SQL-92;
• поддерживает приложения в стандарте ODBC и X/Open XA;
• Sybase SQL Server 11 может поддерживать различные сетевые протоколы, что позволяет подключить клиента к серверу практически на каждой платформе.
5. Управление и поддержка:
• наличие многопотоковой архитектуры означает, что на компьютере запускается и требует управления только один процесс – СУБД;
• для симметричной мультипроцессорной обработки можно конфигурировать количество процессоров, доступных для СУБД;
• имеется набор продуктов для конфигурирования областей памяти, пользователей, контроля доступа и производительности – от одной БД до множества сетей в масштабах предприятия.
Sybase SQL Server 11 имеет свои особенности.
1. Запись в журнал из кэша происходит пакетами, что повышает производительность.
2. При создании таблицы или индекса можно указывать максимальное число строк, хранимых на странице данных или индекса.
3. Sybase SQL Server 11 поддерживает новый уровень изоляции 0, позволяющий другим транзакциям считывать измененные, но незафиксированные данные.
4. Имеется возможность конфигурирования того времени, через которое выполняется проверка взаимных блокировок транзакций.
5. Можно управлять эскалацией блокировок, т.е. предельным числом блокировок страниц данных для таблицы, при достижении которого транзакция будет блокировать таблицу целиком.
6. Сетевым обменом могут заниматься все процессоры в SMP-системе (в Sybase SQL Server 10 сетевым обменом занимался только один процессор).
7. Библиотеки Sybase обеспечивают работу серверных и клиентских компонентов со множеством сетевых протоколов от разных производителей. Архитектура Sybase SQL Server 11 позволяет как приложению-клиенту, так и серверу одновременно работать с несколькими интерфейсами.
8. Sybase SQL Server 11 поддерживает как синхронную, так и асинхронную модель управления транзакциями. Модель выбирается в соответствии с требованиями ПО.
Sybase MPP – это расширение Sybase SQL Server 11, разработанное и оптимизированное для массовой параллельной обработки. Это средство обладает открытой параллельной архитектурой, предназначенной для поддержки очень больших БД (VLDB). Sybase MPP использует стандартный SQL и открытые интерфейсы. С ним работают те же приложения, что и с Sybase SQL Server 11, без необходимости перепрограммирования.
Sybase MPP параллельно выполняет операции считывания (выборки), добавления, обновления и удаления записей. Параллельно выполняются загрузка/восстановление и создание индексов. Архитектура Sybase MPP не содержит узких мест, связанных с разделяемой памятью или разделяемым дисковым пространством. При выполнении параллельной выборки Sybase MPP использует индексы.
Дополнительные процессоры и диски могут добавляться в систему постепенно, достигая масштабируемости в сотни раз. Имеется возможность тиражировать и перезагружать ключевые компоненты распределенной системы так, чтобы обеспечить быстрое ее восстановление при сбоях.
С точки зрения приложений и пользователей Sybase MPP выглядит как сервер с одной логической БД. Для этой БД работает оптимизатор запросов. Поддерживаются хранимые процедуры и глобальный репозитарий, где хранится информация о размещении данных. Для управления системой имеются графические утилиты.
Sybase IQ – серверный механизм построения битовых индексов для высокоскоростного выполнения сложных запросов к большим объемам данных. В отличие от технологий, основанных на B -деревьях, при добавлении, например, 10 млн строк в таблицу, где уже есть десятки миллионов строк, Sybase IQ просто построит дополнительные страницы индекса и не потребует перестраивать весь индекс целиком.
Sybase SQL Anywhere – «легкая» полнофункциональная СУБД на Intel-платформах для мобильных пользователей и небольших групп. Sybase SQL Anywhere – это новое название для пятой версии Watcom SQL. Это название отражает как интеграцию продукта в архитектуру Sybase System 11, так и появление средств обеспечения работы удаленных пользователей и обмена данными.
Sybase Replication Server – репликационный сервер для построения распределенных систем на основе тиражирования данных.
Sybase OmniConnect – сервер, обеспечивающий работу приложений-клиентов в прозрачном режиме с несколькими серверами так, как будто работа идет с одним сервером. При этом в распределенную систему могут включаться СУБД различных производителей: Sybase, Oracle, Informix, IBM и т.д. OmniConnect осуществляет унифицированный доступ приложений к разнородным источникам данных. Специальные шлюзовые компоненты организуют работу в системе со многими промышленными СУБД, включая Oracle, Informix, Ingres, DB/2, RMS, ISAM и др.
Вспомогательные серверные продукты Sybase System 11 содержат следующие компоненты.
1. Sybase Backup Server – специальный сервер для выгрузки и загрузки БД, не требующий остановки SQL Server и не снижающий его производительности.
2. Sybase Monitor Server – в сочетании с графической клиентской частью выполняет мониторинг различных параметров состояния SQL Server.
3. Sybase Replication Agent – специальные компоненты, отслеживающие изменения в данных через журналы транзакций различных СУБД для включения их в систему репликации. Replication Agent существуют, в частности, для Sybase SQL Server, Oracle, DB2, Sybase SQL Anywhere.
4. Sybase Audit Server записывает информацию о действиях пользователей в специальную БД, доступную для анализа.
К инструментальным средствам фирмы Sybase относятся, в частности, средства быстрой разработки приложений PowerBuilder и CASE-система S-Designor, выпускаемые подразделением Powersoft. Эти средства работают со всеми основными СУБД.
Продукты фирмы Informix. Informix реализует стратегию открытых систем. Общую основу для эволюционного развития программных продуктов фирмы Informix составляют различные варианты систем-серверов БД.
Серверы баз данных.
1. INFORMIX-OnLine Dynamic Server – мощный многопотоковый сервер баз данных, предназначенный для использования как на традиционной однопроцессорной архитектуре, так и на многопроцессорных системах.
2. INFORMIX-OnLine Secure/Dynamic Server – развитие OnLine Dynamic Server с возможностями многоуровневой защиты данных.
3. INFORMIX-OnLine – мощный OLTP-сервер БД, поддерживающий хранимые процедуры, триггеры, контроль целостности данных.
4. INFORMIX-OnLine/Optical – позволяет использовать внешнюю память на оптических дисках большого объема для хранения двоичных объектов большого размера (BLOB).
5. INFORMIX-OnLine Workstation Manual – интерактивная справочная система, обеспечивающая удобную работу с документацией по OnLine Dynamic Server.
6. INFORMIX-SE (запусти и работай) – простой в работе и обслуживании сервер БД. Обеспечивает высокую производительность, сохранение данных, поддержку архитектуры клиент/сервер, стандарта SQL с минимальными требованиями к администрированию.
7. INFORMIX-OnLine Extended Parallel Server (OnLine XPS) – расширяет архитектуру на слабо связанные структуры и структуры типа shared-nothing, включая кластеры симметричных многопроцессорных систем и массовые параллельные системы. OnLine XPS разработан для поддержки масштабируемых СУБД оперативной обработки транзакций, хранилищ данных, обработки изображений, обработки и хранения документов и приложений, связанных с документооборотом. OnLine XPS предоставляет новые возможности, включая параллельное выполнение расширенного набора SQL-операций, средства повышения надежности и комплект инструментов для управления системами, который базируется на Tivoli Management Environment (ТМЕ).
Средства интеграции.
1. INFORMIX-STAR – обеспечивает реализацию распределенных БД для сервера OnLine, включая средства выполнения операций многоузлового соединения и прозрачного завершения транзакций методом двухфазной фиксации (эти возможности встроены в OnLine Dynamic Server).
2. INFORMIX-NET – создание связей клиент–сервер между OnLine Dynamic Server и приложениями на базе продуктов Informix.
3. INFORMIX-Gateway with DRDA – интегрирует реляционные БД фирмы IBM (DB2, DB2/400, DB2/VM и др.) с Informix-приложениями без установки продуктов Informix на машинах IBM.
4. INFORMIX-TP/XA – средство связи серверов Informix с менеджерами транзакций X/Open-ХА с полной поддержкой транзакций в глобальной распределенной БД или компьютерной сети.
5. INFORMIX-Enterprise Gateway – эта система-шлюз позволяет интегрировать обширный набор реляционных СУБД других фирм-поставщиков с инструментарием и готовыми прикладными системами, создаваемыми на базе средств Informix, в операционных средах Unix или MS Windows.
Доступ к внешним БД обеспечивается пакетом EDA/SQL как с помощью запросов на стандартном языке SQL, так и с помощью механизма удаленного вызова процедур. Среди СУБД, доступ к которым осуществляется через шлюз INFORMIX-Enterprise Gateway, – Adabas, IBM DB2, Ingres, Oracle, Sybase, Total (всего более 60 СУБД для 35 различных платформ).
6. C-ISAM – библиотека функций на языке С, обеспечивающая работу с файлами баз данных Informix. Согласуется с Х/Ореп.
Средства разработки приложений.
1. INFORMIX-NewEra – инструментальная среда нового поколения для разработки масштабируемых высокопроизводительных систем клиент–сервер, которая предоставляет мощный и гибкий язык разработки приложений, средства визуального программирования, поддержку коллективной работы над проектом, средства связи с существующими базами данных (Sybase, Oracle). INFORMIX-NewEra является расширением реализованного ранее в инструментарии Informix языка 4GL. Графический интерфейс дополняется в INFORMIX-NewEra мощным объектно-ориентированным языком разработки приложений и средствами моделирования технологических процессов обработки данных. Библиотеки классов для систем программирования на основе языка C++ легко интегрируются в библиотеку многократно используемых компонентов, которой располагает пользователь INFORMIX-NewEra.
2. INFORMIX-4GL – язык четвертого поколения (4GL) – отличительная черта всех современных распределенных СУБД. Группа инструментальных программ INFORMIX-4GL включает систему быстрого макетирования RDS, интерактивный отладчик ID и компилятор 4GL. Для ускорения разработки ПП на языке 4GL можно использовать инструмент 4GL Forms – генератор образов документов и текстов программ на языке 4GL.
3. INFORMIX-4GL for Windows – может переносить готовые компоненты задач из Unix в MS Windows либо создавать системы клиент/сервер на базе двух этих сред. Для переноса компонентов задач предназначена среда INFORMIX-4GL/GX, а для новых разработок целесообразно использовать группу инструментов INFORMIX-4GL for Windows. В этом случае наиболее полно используются все возможности графического пользовательского интерфейса. Интеграция аналогичных возможностей INFORMIX-4GL для Unix достигается использованием инструментов в среде OSF-Motif.
4. INFORMIX-NewEra ViewPoint Pro – набор графических средств разработки малых и средних по размеру прикладных систем; включает генератор форм и отчетов, конструктор пользовательских приложений и редактор SQL-запросов с возможностью создания высокоспециализированных схем баз данных.
Средства пользовательского доступа.
INFORMIX-NewEra ViewPoint – этот инструмент позволяет готовить образы отчетных документов высокого полиграфического качества. Как инструмент для конечного пользователя, он не требует навыков программирования (применяется известная модель «отметь и подтверди» – point & click). Использование ViewPoint не требует знания языка запросов к БД и знания структуры БД. Применяется принцип «сокрытия сложности», реализуемый благодаря созданию администратором БД «панорам баз данных» – SuperViews.
Серверы приложений. В настоящее время для разработки серверов приложений все чаще используют мониторы обработки транзакций (Transaction Processing Monitor – ТРМ), или, проще, мониторы транзакций -программные системы, обеспечивающие эффективное управление информационно-вычислительными ресурсами в распределенной системе. ТРМ относят к категории middleware, т.е. к посредническому или промежуточному программному обеспечению. Они представляют гибкую, открытую среду для разработки и управления мобильными приложениями, ориентированными на оперативную обработку распределенных транзакций. Важными характеристиками ТРМ являются: масштабируемость, поддержка функциональной полноты целостности приложений, достижение максимальной производительности обработки данных при невысоких стоимостных показателях, поддержка целостности данных в гетерогенной среде. ТРМ опираются на трехзвенную модель клиент/сервер (модель сервера приложений). Естественно, что все преимущества модели отражаются и на программных системах, построенных на ее основе.
На современном рынке мониторов транзакций основными «действующими лицами» являются такие системы, как ACMS (DEC), CICS (IBM), TOP END (NCR), PATHWAY (Tandem), ENCINA (Transarc), TUXEDO System (USL – разработчик, ВЕА System – владелец этого продукта). Несмотря на принципиальное сходство, конкретные ТРМ отличаются рядом характеристик, причем различия часто вытекают из специфики операционной системы, в которой реализован и функционирует ТРМ. Ниже описаны основные возможности ТРМ на базе ОС Unix.
Рис. 13.3. Корпоративная среда обработки транзакций ЕТР
ТРМ на базе ОС Unix опирается на фундаментальное понятие – корпоративную среду обработки транзакций (Enterprise Transaction Processing -ЕТР). Архитектура ЕТР – это три ряда компьютеров (рис. 13.3):
• ряд 1: персональные станции (Personal Workstations);
• ряд 2: компьютеры под управлением ОС Unix (Unix Transaction Processing Servers – UPTS);
• ряд 3: Mainframe-системы (Proprietary Transaction Processing Servers – PTPS) или компьютеры под управлением Unix с RISC-архитектурой процессоров.
Таким образом, среда обработки транзакций формируется из набора разнородных компьютеров (и соответствующих ОС), ранжируемых от персональных компьютеров до мэйнфрейм-систем. ТРМ на базе ОС Unix представляет своего рода «клей», который связывает вместе компьютеры трех рядов в открытую унифицированную среду обработки транзакций.
Ключом к интеграции систем, функционирующих на компьютерах различных рядов, является специализированный интерфейс прикладного программирования ATMI (Application Transaction Manager Interface), обеспечивающий:
• для ряда 1 – формирование и передачу запросов от клиентов к серверам, выполняющимся на компьютерах ряда 2;
• для ряда 2 – обработку запросов, поступающих от компьютеров ряда 1 (в том числе и с обращениями к менеджеру ресурсов), и, при необходимости, формирование и направление запросов к серверам, выполняющимся на компьютерах ряда 3;
• для ряда 3 – обработку запросов, поступающих от серверов ряда 2.
ТРМ целесообразно использовать в следующих случаях:
• необходимо, чтобы система автоматически выполняла маршрутизацию запросов к распределенным сервисам-приложениям (см. ниже Tuxedo);
• имеет место большая интенсивность обращений рабочих станций к общим прикладным программам (бизнес-правилам);
• используются маломощные рабочие станции и низкоскоростные сети.
Х/Ореп DTP-интерфейс с монитором транзакций. Понятия транзакций в ТРМ и в традиционных СУБД значительно отличаются. Суть остается одной, но в понимании СУБД транзакция – это атомарное действие над БД, в то время как в ТРМ транзакция трактуется гораздо шире (включает не только операции с данными, но и любые другие действия – передачу сообщений, выдачу отчетов, запись в индексированные файлы, опрос датчиков и т.д.). Это позволяет реализовать в ТРМ прикладные транзакции, бизнес-транзакции, что в СУБД, вообще говоря, сделать невозможно.
ТРМ опирается на модель (стандарт) обработки распределенных транзакций X/Open DTP, которая описывает взаимодействие трех субъектов обработки транзакций – ПП (в качестве ПП фигурирует как сервер приложения, так и клиент приложения), менеджера транзакций (Transaction Manager – ТМ) и менеджера ресурсов (Resource Manager – RM) – рис. 13.4.
Рис.13.4. Х/Open DTP-интерфейс
На RM возложено управление информационными ресурсами (файлы, БД или что-то другое). Приложение взаимодействует с RM либо с помощью набора специальных функций, либо, если в качестве RM выступает реляционная SQL-ориентированная СУБД, посредством языка SQL, инициируя необходимые операции с данными. Последние оформляются как транзакции, обработку которых берет на себя ТМ. Если с помощью ТМ необходимо решать задачи обработки распределенных транзакций, то роль RM должна выполнять СУБД, поддерживающая двухфазовый протокол фиксации транзакции и удовлетворяющая стандарту X/Open XA (например, Oracle 7.x, OpenINGRES, Informix-OnLine 7.x).
Назначение ТМ в модели X/Open DTP – выполнять роль диспетчера, главного координатора транзакций. Он обладает полным набором функций управления, как локальными, так и глобальными, распределенными транзакциями. В последнем случае транзакция может обновлять данные на нескольких узлах, причем управление данными на них осуществляется различными RM. Обработка распределенных транзакций обеспечивается за счет использования протокола двухфазовой фиксации транзакций, который гарантирует целостность данных в ИС, распределенной по нескольким узлам, независимо от того, какой RM управляет обработкой данных на каждом узле. Эта уникальная возможность как раз и позволяет рассматривать ТРМ как средство интеграции в гетерогенной информационной среде.
Функции ТМ в модели X/Open DTP не ограничиваются только управлением транзакциями. Он выполняет также координацию взаимодействия клиента и сервера (поэтому ТРМ иногда называют менеджером транзакций и коммуникаций). При этом используется высокоуровневый интерфейс ATMI (см. выше), представляющий набор вызовов функций на языке третьего поколения (например, на языке С). С его помощью разработчик реализует один из нескольких режимов взаимодействия клиента и сервера в рамках расширенной модели клиент/сервер. Ни сервер приложений, ни клиент приложения не содержат явных вызовов менеджера транзакций – они включены в библиотечные функции ATMI и невидимы извне. Таким образом, подробности взаимодействия ПП и монитора транзакций скрыты от разработчика, что и дает основание говорить об ATMI как о высокоуровневом интерфейсе.
Модель X/Open DTP не описывает в деталях структуру ТРМ. Она лишь определяет, из каких компонентов должна состоять система и как эти компоненты взаимодействуют друг с другом. Будучи воплощенной в конкретной системе, модель дополняется возможностями, существенно расширяющими традиционные представления о технологии клиент/сервер.
Менеджер транзакций Tuxedo. Схема функционирования Tuxedo. На рис. 13.5 приведена схема взаимодействия клиентов, менеджера транзакций (ядра сервера приложений) и менеджера ресурсов (сервера СУБД).
Рис. 13.5. Схема взаимодействия клиента, сервера приложений и СУБД