1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /119, 1995 г./ | Бонус | Поиск  

Аналитика

Современные продукты компании Informix

Надежда Вьюкова


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

(Окончание. Начало в N 117-118.)

Распределенные вычисления

Все продукты Informix построены на принципах архитектуры "клиент-сервер". Сервер INFORMIX-OnLine DS содержит все необходимые средства для организации взаимодействия локальных или удаленных клиентов с сервером базы данных.

Если в сети имеется несколько серверов баз данных, то в целях повышения эффективности доступа к данным (или из других соображений) администраторы могут перемещать или дублировать базы данных или таблицы с одного сервера на другой. Механизм синонимов, поддерживаемый INFORMIX-OnLine DS, позволяет экранировать от прикладных программ изменения в местоположении данных.

INFORMIX-OnLine DS поддерживает запросы к распределенным базам данных и автоматически применяет протокол двухфазовой фиксации для транзакций, которые модифицируют информацию более чем на одном сервере баз данных. Тем самым обеспечивается целостность распределенных данных. Пример:

CONNECT TO stores@italy

BEGIN WORK

UPDATE stores:manufact SETmanu_code = 'SHM'

WHERE manujiame = 'Shimara'

INSERT INTO stores@france:manufact

VALUES ('SHM', 'Shimara', 30)

INSERT INTO stores@australia:manufact

VALUES ('SHM', 'Shimara', 30)

COMMIT WORK

Внешне такая транзакция выглядит как транзакция в локальной базе. На самом деле она состоит из локальных транзакций на серверах itali, trance, australia, каждая из которых может быть либо зафиксирована, либо прервана. Распределенная транзакция регистрируется только в том случае, если зафиксированы все локальные транзакции. Если хотя бы одна из локальных транзакций была прервана, то необходимо прервать и все остальные.

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

Для обеспечения целостности данных в случае отказа одного из серверов в INFORMIX-OnLine DS предусмотрены специальные процедуры восстановления, которые автоматически выполняют необходимые действия с учетом того, в какой ситуации и на каком сервере произошел отказ. Единственное, что должен сделать в этой ситуации администратор, – это перезапустить сервер. С точки зрения доступности данных важны средства разрешения тупиковых ситуаций. Тупиковая ситуация возникает, например, в том случае, когда оба одновременно работающих пользователя блокируют объект данных, необходимый в данный момент коллеге. Для того чтобы завершить обработку и разблокировать свой объект, каждому из них необходимо получить доступ к объекту, заблокированному другим пользователем. Если оба объекта находятся на одном сервере, то INFORMIX-OnLine DS самостоятельно обнаруживает и предотвращает подобные ситуации. При обработке распределенных запросов используется параметр конфигурации, задающий время, в течение которого INFORMIX-OnLine DS ожидает разблокирования объекта. По истечении этого периода пользователю выдается сообщение об ошибке.

Шлюз INFORMIX-Enterprise Gateway 7.1

В компаниях, которые ранее хранили и обрабатывали информацию на мейнфреймах, формируются распределенные вычислительные среды, включающие разнородные аппаратные платформы и операционные системы – как открытые, так и собственные (proprietary), реляционные и нереляционные СУБД. Существование такой среды рождает сложные проблемы для отделов информационных систем, которые должны обеспечить своим пользователям единообразный доступ ко всей имеющейся на предприятии информации.

Шлюз INFORMIX-Enterpnse Gateway предлагает современную промышленную технологию интеграции, отвечающую потребностям корпоративного доступа к данным. Он обеспечивает для инструментальных средств и приложений баз данных, выполняемых под управлением операционной системы UNIX или Microsoft Windows, доступ к информации, хранящейся в базах данных разных типов. Доступ реализуется с помощью комплекта программных продуктов Enterprise Data Access SQL (EDA/SQL) фирмы Information Builders, Inc.

Шлюз INFORMIX-Enterpnse Gateway обеспечивает доступ более чем к 60 типам реляционных и нереляционных источников данных на 35 различных аппаратных платформах. Среди поддерживаемых источников данных – IMS, VSAM, CA-IDMS, Adabas, Oracle, Sybase, Ingres. Поддерживаемые операционные системы – UNIX, MVS, VM, VMS. Шлюз позволяет выполнять распределенные соединения таблиц из разнородных баз данных и импортировать "чужую" информацию в базы данных Informix

Enterprise Gateway выполняется как процесс сервера баз данных Informix, который конвертирует запросы клиентов Informix в запросы EDA/SQL. Когда от клиентского приложения поступает инструкция SQL или удаленный вызов процедуры, предназначенный для Enterprise Gateway, он перенаправляется на EDA/SQL Server, который обращается к соответствующим реляционным или нереляционным источникам данных. Информация, полученная от EDA/SQL Server, возвращается с помощью Enterprise Gateway приложению клиента.

Конечные пользователи обращаются к Enterprise Gateway так же, как к серверу баз данных Informix. Доступ на чтение и запись осуществляется посредством инструкций SQL, отвечающих стандарту синтаксиса ANSI-92 SQL, или удаленного вызова процедур (RPC, Remote Procedure Call).

Доступ с помощью RPC обеспечивается для приложений и инструментов разработки Informix, а также третьих фирм. Удаленные вызовы процедур EDA/SQL выглядят как обращения к хранимым процедурам, поэтому для их использования требуется внести в приложения лишь минимальные изменения. RPC позволяют выполнять операции чтения и записи и возвращать многострочные результаты.

Для обработки многострочных наборов данных, полученных в результате выполнения RPC или инструкции SQL, в Enterprise Gateway поддерживается механизм роллируемых курсоров (scroll cursors), который позволяет осуществлять прямой и обратный просмотр наборов данных.

Сопряжение INFORMIX-OnLine DS с менеджерами транзакций

В состав инструментального продукта INFORMIX-ESQL/C входит библиотека С-программ INFORMIX-TP/ ХА. Эта библиотека обеспечивает приложениям, построенным с помощью INFORMIX-ESQL/C, сопряжение сервера INFORMIX-OnLme DS с менеджерами транзакций, основанными на стандарте Х/Ореn-ХА, например, TUXEDO System/!". Аналогичную возможность дает библиотека 4GL-функций INFORMIX-TP/Toolkit для приложений на основе INFORMIX-4GL. Таким образом, можно организовать участие сервера Informix в разнородных распределенных транзакциях с серверами баз данных других поставщиков, поддерживающих стандарт Х/Open-XA, и использовать прочие преимущества, которые предоставляют современные менеджеры транзакций:

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

 – Перераспределение и баланс нагрузки, максимально эффективное использование системных ресурсов.

 – Масштабируемость и динамическое переконфигурирование прикладной среды с учетом изменяющихся потребностей.

 – Обеспечение высокой доступности путем перенаправления запросов к дублирующим серверам в случае отказов.

Informix-NewEra 1.0 – инструмент разработки приложений

Informix-NewEra – объектно-ориентированный инструмент разработки пользовательских приложений в архитектуре "клиент-сервер" на основе СУБД Informix или других СУБД. Продукт представляет собой комплекс графических и языковых средств, позволяющих описывать модели данных, строить компоненты графического пользовательского интерфейса и задавать их поведение, программировать объекты и процедуры обработки данных, собирать и отлаживать приложения. Комплекс Informix-NewEra включает в себя следующие инструментальные средства:

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

 

Поведение органов управления задается в виде программ на языке NewEra.

Взаимодействие с БД реализуется специализированными органами управления – супертаблицами. Супертаблицы строятся на основе таблиц и представлений (view) базы данных, их структура определяется при помощи простых графических инструментов. Супертаблицы обладают развитой встроенной функциональностью, позволяющей легко реализовать такие операции, как просмотр и ввод данных, запросы по образцу (см. рис. 8). В первой версии поддерживаются супертаблицы двух форматов – свободного и матричного

Результатом работы генератора окон является модуль на языке NewEra, содержащий описание окна. Этот модуль затем объединяется с другими модулями, созданными при помощи генератора окон или непосредственно программистом

 – Язык NewEra – ядро инструментальной среды Informix-NewEra. Сочетает свойства языков четвертого поколения(встроенные операторы SQL, средства подготовки отчетов, полный набор типов данных для обмена с БД) с возможностями пол неценного языка объектно-ориентированного программирования. Предоставляет развитые библиотеки предопределенных классов, реализующих элементы графического пользовательского интерфейса, взаимодействие с СУБД, обработку файлов и др. Поддерживает программирование приложений, управляемых событиями.

Преимущество языка NewEra перед объектно-ориентированными языками общего назначения – его тесная интеграция с СУБД.

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

 – Компилятор файлов сообщений и справок, используемых в приложениях.

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

 – Генератор приложений. Поддерживает базу данных с информацией о проектах. Собирает приложения, состоящие из многих компонентов – окон, построенных при помощи генератора окон, модулей, созданных программистами на языках NewEra, С или C++, библиотек, поставляемых с Informix-NewEra или приобретенных у независимых поставщиков, справочных файлов. В зависимости от выбранного режима порождает интерпретируемый или выполняемый вариант приложения.

 – Интерактивный символьный отладчик программ на языке NewEra.

 – Электронная документация, доступная в интерактивном режиме.

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

 – Демонстрационные базы данных.

 – Вспомогательный продукт Informix-NewEra ViewPoint Pro, который содержит:

 – инструменты администрирования баз данных и репозитория данных NewEra;

 – средства для построения простых приложений без программирования на SQL или каких-либо других языках. Приложения ViewPoint Pro состоят из серии форм для ввода-вывода данных, отчетов и управляющих окон, содержащих только кнопки для перехода в другие окна и элементы текстового и графического оформления.

Ознакомление с первой версией INFORMIX-NewEra показало, что это перспективный профессиональный инструмент, сильную сторону и прочный фундамент которого составляет объектно-ориентированный язык NewEra. Важнейшие характеристики продукта INFORMIX-NewEra:

 – Многоплатформность, кроссплатформность. INFORMIX-NewEra работает в системах MS Windows, OSF/Motif и Macintosh. Приложения или компоненты приложений, разработанные на одной платформе, могут работать на других платформах.

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

 – Поддержка наряду с объектно-ориентированными разработками традиционного структурного программирования.

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

 – Открытость создаваемых приложений по отношению к используемой СУБД. В комплект поставки входят библиотеки взаимодействия с СУБД Informix, а также с СУБД, доступными через интерфейс ODBC. Определен объектный интерфейс для создания других аналогичных библиотек доступа к СУБД.

 – Преемственность по отношению к более раннему продукту INFORMIX-4gl. Благодаря существенной совместимости языков NewEra и 4gl возможен перенос приложений 4gl в среду INFORMIX-NewEra.

Почти заключение

СУБД Informix, первая версия которой была реализована в 1980 г., традиционно использовалась для создания прикладных систем малых и средних предприятий. Но, начиная с версии 6.0, она приобрела такие качества, которые ставят ее в один ряд с СУБД "большой четверки" – Oracle, Sybase, Ingres. И во всем мире, и в России Informix все чаще стали применять для реализации больших проектов и создания крупных хранилищ данных.

АО Jet Infosystems, где работает автор, занимается поддержкой и сопровождением именно таких крупномасштабных сетевых проектов, реализуемых на базе вычислительной техники Sun Microsystems, Inc. (серверы SPARCcenter 2000, SPARCserver 1000 и др.) и современных СУБД. Jet Infosystems является также официальным дистрибьютором компании Informix Software, Inc. и располагает специалистами, которые имеют большой опыт инсталляции и поддержки продуктов Informix, проводят техническое консультирование.

В настоящее время компания Jet Infosystems совместно со своими партнерами объявила о программе поставки нового типа серверов – DataServer, представляющем собой высокопроизводительный UNIX-компьютер Sun Microsystems с установленным на нем сервером баз данных Informix или Ingres. В течение льготного периода DataServer вместе с гарантиями на аппаратуру и годовой поддержкой СУБД предлагается по цене базового компьютера.

Контактные телефоны Jet Infosystems: 973.48.55,972.11.82. Е-mail: dataserver@jet.msk.su, niva@jet.msk.su.

Что дальше?

Основные направления, на которых Informix концентрирует сейчас свои усилия, – это дальнейшее развитие архитектуры сервера OnLme DS, создание новой модели сервера Informix-OnLine extended Parallel Server (XPS) и совершенствование своего основного инструмента разработок Informix-NewEra.

Сервер Informix-OnLine XPS – новая модель сервера, в которой преимущества архитектуры DSA распространяются на слабосвязанные кластерные архитектуры, состоящие из симметричных многопроцессорных систем (SMP) и систем с массовым параллелизмом (МРР). В ней получат дальнейшее развитие средства параллельной обработки запросов, фрагментации таблиц, механизмы обеспечения высокой готовности и др. Сервер будет снабжен мощными инструментами управления, наблюдения и администрирования, основанными на технологиях среды Tivoli Management Environment (TME).

Новая модель сервера ориентирована прежде всего на создание крупных хранилищ данных со средствами обработки образов документов, мультимедийными возможностями, сложным контекстным поиском информации и других прикладных сред, основанных на так называемых очень больших базах данных (VLDB). Существенно, что Informix предлагает своим клиентам путь плавного перехода (без существенного перепрограммирования приложений) к использованию OnLme XPS по мере того как их потребности в объемах переработки данных и уровне готовности перерастают возможности систем SMP.

Informix-NewEra. В новых версиях этого продукта появятся дополнительные инструментальные компоненты, повышающие продуктивность и надежность программирования, усиливающие возможности повторного использования кода: навигатор библиотек классов (позволяет просматривать описания классов и иерархию их наследования); специализированный редактор программ NewEra; расширенный репозитории приложений; инструментарий групповых разработок и поддержки версий; инструмент, который позволит многократно использовать в приложениях не только окна, но и другие компоненты графического пользовательского интерфейса.

Кроме того, разработчики получат средства для построения приложений, имеющих более гибкую, многоуровневую архитектуру "клиент-сервер". В таком приложении на машине-клиенте обслуживается только интерфейс с пользователем, а прикладная бизнес-логика реализуется на одной или нескольких серверных машинах. Предполагается возможность интеграции с другими приложениями: например, посредством механизма OLE можно быстро  обратиться к серверным программам NewEra из приложений Excel или VisualBasic. Таким образом, помимо хранимых процедур, появляются дополнительные возможности для распределения вычислительной нагрузки в сетевой среде.

Инструментарий распределенного программирования NewEra будет включать библиотеку классов прикладного сервера (Application Server Class Library), средства, автоматизирующие программирование коммуникаций между удаленными компонентами, а также распределенный отладчик.

Широкие перспективы для развития Informix-NewEra открываются благодаря объектно-ориентированному характеру этого инструмента. Расширение возможностей будет в значительной мере осуществляться путем создания новых библиотек классов (усилиями самой компании Informix и ее многочисленных партнеров). Уже существуют или появятся в ближайшее время библиотеки, реализующие:

 – визуальные объекты (окна, формы, кнопки и т.п.) для АЦ-терминалов;

 – деловую графику;

 – двух- и трехмерную графику;

 – средства мультимедиа;

 – средства обработки образов документов;

 – сложный контекстный поиск в текстовых документах.

 

{НАЧАЛО ВРЕЗКИ}

Архитектура "клиент-сервер", которую поддерживают все продукты Informix, подразумевает, что сервер СУБД выполняется на одном компьютере, а клиентские приложения -на других компьютерах, связанных с ним сетью. От клиентских приложений серверу пересылаются только SQL-запросы, а от сервера на клиентские машины поступают результаты выполнения запросов. Преимущества такой архитектуры заключаются в том, что серверный компьютер, не загруженный выполнением клиентских приложений, способен эффективно обслужить большее число клиентов. Пользователи же в этом случае могут выбрать наиболее удобную для себя платформу, например, персональный компьютер с MS Windows. В частном случае клиент выполняется на той же машине, что и сервер.

Транзакцияэто выполнение в качестве атомарного действия одной или нескольких операций над базой данных (атомарное действие либо выполняется полностью, либо не выполняется вовсе). Классический пример – снятие суммы с одного счета и добавление ее к другому счету. INFORMIX-OnLme DS поддерживает как локальные транзакции, так и распределенные, затрагивающие таблицы из баз данных, находящихся на разных серверах.

Триггеры предоставляют способ автоматизировать и вынести на сервер некоторые стандартные для данной прикладной среды действия над базой данных. Триггер "срабатывает", когда выполняется заданная операция над заданной таблицей; в результате может быть выполнен один SQL-оператор или вызвана хранимая процедура. Примеры действий, реализуемых при помощи триггеров:

 – журнализация определенных действий (в отдельной таблице фиксируется, кто и когда выполнял операции над счетами);

 – реализация бизнес-правил (выдать на консоль сообщение, если клиент снимает со счета сумму, превышающую его кредит);

 – вычисление зависимых данных (вычисление общей суммы заказанных товаров при включении в заказ дополнительного пункта).

Хранимая процедура INFORMIX-OnLine DSэто процедура, созданная на языке описания процедур (SPL) и хранящаяся в транслированном (и оптимизированном) виде на сервере. С помощью хранимых процедур оформляют часто используемые в конкретной прикладной среде последовательности действий над базами данных. В результате часть вычислительной нагрузки переносится с машин-клиентов на серверы, сокращается сетевой трафик, поскольку нет нужды пересылать промежуточные данные, уменьшается время выполнения, так как процедура заранее транслируется, а оптимальный план ее выполнения можно вычислять относительно редко

ЯзыкSРL содержит средства описания переменных, операторы циклов, условий, обработки ошибок, вызовов других хранимых процедур или команд операционной системы.

{КОНЕЦ ВРЕЗКИ}

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /119, 1995 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru