Р.М.Аксенов, В.К.Дудченко, А.В.Забавский
Sybase
Построение вертикально интегрированной информационной системы с помощью продуктов Sybase
Определяется класс "вертикально интегрированных" информационных систем, создание которых максимально осложнено реальными требованиями и условиями. Рассматривается практическая схема построения подобной системы на продуктах Sybase, способной интегрировать СУБД различных производителей, например, Oracle, Informix, DB2 и др.
Описывается макет частного случая вертикально интегрированной информационной системы, объединяющей распределенные локальные подсистемы, построенные на СУБД Sybase Adaptive Server Anywhere, периодически синхронизируемые с центральной СУБД Oracle. Программными продуктами промежуточного слоя, на которых построено взаимодействие подсистем, являются офф-лайновый репликационный сервер Sybase SQL Remote, Sybase Adaptive Server Enterprise, Sybase Replication Server, обеспечивающий он-лайновый режим, Sybase Replication Agent for Oracle, Sybase Direct Connect to Oracle.
Класс вертикально интегрированных систем
Задачей, актуальной сегодня для многих прикладных областей (предприятия нефтегазового комплекса, торговые объединения, распределенные структуры государственного управления и пр.), является построение вертикально интегрированных информационных систем. Требования бизнеса, в соответствии с которыми возникла потребность в таких структурах, диктуют основные свойства этих систем, которые можно кратко обозначить как централизованность, территориальная распределенность, связность, невысокий уровень оснащения периферийных информационных узлов, гетерогенность. Подробное рассмотрение содержания этих понятий представлено ниже.
Централизованность, точнее - централизованное хранение и обработка информации, является необходимым свойством для построения централизованной системы управления. Это означает, что все данные, требуемые для решения производственных и финансовых задач, включая информацию о работе удаленных подразделений, должны надежно доставляться в центральную базу данных, и наоборот, информация, которой центр делится со всеми или частью подразделений предприятия, должна гарантированно доставляться в эти подразделения.
Территориальная распределенность информационной системы и невозможность обеспечения постоянной связи с центром, обусловленная удаленностью подразделений, является ключевой особенностью для многих современных видов бизнеса. Это свойство системы требует построения автономных (периферийных) информационных узлов с собственными базами данных. Автономность подразумевает наличие собственной клиент-серверной архитектуры в каждом удаленном подразделении. Примерами могут являться районы нефтедобычи, нефте(газо)перекачивающие станции, диспетчерские пункты, склады, торговые точки, локальные государственные структуры и пр. К разряду автономных может быть отнесено также подразделение, имеющее такую выделенную линию связи с центром, которая не обеспечивает требуемой пропускной способности для он-лайновой работы либо не отвечает требованиям надежности.
Связность. Для централизации управления описанными выше распределенными организационными или производственными структурами, с технической точки зрения, необходима надежная синхронизация информации, имеющейся в центре, с информацией автономных подразделений, построенная по принципу копирования транзакций. В отличие от копирования таблиц или отдельных записей, передача транзакций позволяет обеспечить целостность информации у получателя и копирование только измененных данных. Использование периодических (не постоянных) соединений центра с периферийными информационными узлами, обусловленное использованием коммутируемых каналов, требует применения офф-лайновых механизмов для обеспечения репликации.
Невысокий уровень оснащения периферийных информационных узлов (автономных подразделений) вычислительной техникой. Эта особенность зачастую связана с малочисленностью таких подразделений и нецелесообразностью использования в них, например, аппаратно выделенных серверов (даже под Windows NT, не говоря уже о RISC/Unix - системах). Тем не менее, требование построения системы на основе клиент-серверной архитектуры остается в силе. Частным случаем автономного подразделения является отдельный компьютер, принадлежащий мобильному служащему, сочетающий базу данных, периодически синхронизируемую с центром, и прикладную клиентскую часть.
Гетерогенность, т.е. объединение в единую инфраструктуру баз данных и других элементов информационной системы, поставляемых различными производителями, является актуальным свойством любой реальной информационной системы в силу исторических факторов, действующих в обстоятельствах реального бизнеса, а также в силу того, что прикладные системы разной функциональности, необходимые для деятельности компании, могут быть построены на СУБД различных производителей.
Рисунок 1 иллюстрирует представление о функциональной структуре вертикально интегрированной информационной системы. Двунаправленная репликация в такой системе обеспечивает периодическую синхронизацию содержимого центральной базы данных и баз данных автономных информационных узлов, установленных в удаленных подразделениях компании. Подсистема репликации и шлюзования обеспечивает не только обмен транзакциями (собственно репликацию), но и возможность использования в качестве центральной базы СУБД разных производителей.
Макет вертикально интегрированной информационной системы на технологических средствах Sybase
В спектре продуктов Sybase присутствует весь набор средств, необходимых для построения вертикально интегрированной информационной системы. Для демонстрации возможности построения такой системы и изучения ее свойств, а также особенностей реализации прикладных систем на ее базе, был построен макет, функциональная схема которого приведена на рис.2. Помимо демонстрационных целей, при построении макета преследовалась цель получения конфигурации, которая была бы легко тиражируема и используема в качестве начального приближения при построении новых экземпляров вертикально интегрированных систем.
В макете, построенном в основном на продуктах Sybase, качестве СУБД центрального подразделения был использован сервер Oracle, что позволило продемонстрировать возможность построения гетерогенной системы. В случае применения в качестве центральной СУБД Sybase Adaptive Server Enterprise вся схема существенно упрощается, поскольку отпадает необходимость в специальных модулях, служащих для обеспечения взаимодействия Sybase и Oracle.
Программным продуктом, предназначенным для использования в автономных подразделениях, является Sybase Adaptive Server Anywhere. Эта СУБД работает на широком спектре операционных систем, включая Windows 95, Windows NT, QNX, ряде RISC/Unix систем, позволяет построить клиент- серверную архитектуру, требует минимальных ресурсов для сервера (2 мегабайта оперативной памяти), реализуя в то же время все черты и свойства современных реляционных СУБД. Для репликации транзакций в этой СУБД существует офф-лайновый репликационный сервер SQL Remote. В качестве транспорта для передачи данных может использоваться электронная почта, ftp, общий файловый ресурс и др. Sybase Adaptive Server Anywhere практически не требует администрирования и настройки. Все действия по конфигурированию SQL Remote также очень просты и могут быть выполнены с помощью мыши.
Главной составляющей блока репликации и шлюзования данных является Replication Server. Он представляет собой так называемый Open-Server продукт и выполняет следующие действия:
- Создание коннектов (соединений) между компонентами репликационной системы (Adaptive Server Enterprise, Oracle, Replication Agent for Oracle) и их восстановление в случае прерывания связи.
- Отслеживание в Adaptive Server Enterprise завершения транзакций, являющихся копиями поступивших с удаленных узлов через SQL Remote, и направление этих транзакций в очередь для последующей передачи в СУБД Oracle;
- Получение (через Replication Agent for Oracle) из БД Oracle данных, подвергшихся изменениям, и отправление их в очередь сообщений для помещения в Adaptive Server Enterprise с последующей передачей на удаленные узлы через SQL Remote.
- Обработка очереди сообщений: отправление данных к месту назначения (на сервер БД, куда эти данные должны реплицироваться), и, в случае успешного изменения данных сервером, удаление сообщений (транзакций) из очереди;
При использовании в качестве центрального сервера СУБД Sybase Adaptive Server Enterprise отслеживание изменений в данных, подлежащих репликации в автономные подразделения, может выполнять непосредственно Replication Server. В случае использования в качестве центральной базы СУБД Oracle для контроля за изменениями данных требуется специальный продукт - Sybase Replication Agent for Oracle. Он может быть установлен как на том же компьютере, где находится БД Oracle, так и на отдельной машине, связанной с сервером БД через локальную сеть. В процессе установки Replication Agent создает в БД Oracle ряд объектов (таблицы, процедуры и др.), а также специальную таблицу - "виртуальный лог", в который впоследствии помещаются изменения данных на сервере (те, которые необходимо реплицировать). Для таблиц автоматически создаются триггеры (на удаление, вставку и модификацию данных), которые и помещают транзакции, содержащие измененные данные, в виртуальный лог.
Для организации записи в БД Oracle данных, реплицируемых из автономных информационных узлов, Replication Server использует в качестве шлюза комплекс продуктов Sybase - Adaptive Server Enterprise с Extended Enterprise Option и Direct Connect for Oracle. Эти продукты позволяют создавать в Adaptive Server proxy-таблицы - виртуальные таблицы, которые не содержат данных, а только описывают структуру таблиц, находящихся на другом сервере БД (в нашем случае - на БД Oracle). Работа с этими таблицами ничем не отличается от работы с обычными таблицами - Adaptive Server Enterprise переадресует все обращения к proxy-таблицам на сервер Oracle, где и располагаются физические таблицы. Таким образом, создав proxy-таблицы для таблиц из Oracle, и указав Replication Server, что данные будут реплицироваться в эти proxy-таблицы, мы получаем транзитную схему, которая работает следующим образом. Replication Server, отслеживающий в Adaptive Server Enterprise завершения транзакций, поступивших из автономных подразделений через SQL Remote, будет переносить соответствующие изменения в proxy-таблицы, вызывая на самом деле передачу изменений в БД Oracle.
Испытания этого макета продемонстрировали полную функциональную адекватность примененной схемы построения системы, надежность и сравнительную простоту настройки и администрирования.