|
Informix Magazine Russian
Edition Апрель 1998г.
О переносе приложений среды файл-сервер
в среду Informix
Юрий Подколзин,
менеджер компании Informix
"Нет ничего хуже, чем жить в эпоху
больших перемен"
(афоризм, проверенный на практике)
В настоящее время подымается новая волна
автоматизации на базе промышленных реляционных
СУБД архитектуры клиент-сервер. Однако, в
контексте перехода к реляционным СУБД ситуация в
подразделениях, эксплуатирующих приложения,
разработанные для среды файл-сервер, кратко
может быть охарактеризована как "и хочется и
колется".
1. От X-Base к Informix
Оставив пока в стороне такой аспект
перехода с X-Base на SQL, как полная смена идеологии
построения прикладных программ (структура базы
данных, интерфейс конечного пользователя,
изменение техники программирования), который
касается исключительно сотрудников отдела ИТ,
остановимся на организационной и финансовой
сторонах, затрагивающих интересы организации в
целом.
Одним из главных сдерживающих факторов является
значительно большая стоимость разработки
приложений, работающих с SQL-серверами, по
сравнению с приложения, работающими с базами
данных формата X-Base.
Другой немаловажный момент - проблема внедрения
нового ПО: либо разом заменить все основные
приложения (при этом неизбежен определенный риск
вплоть до полного провала, "ночная штурмовщина"
по исправлению ошибок и конфликты с
функциональным персоналом, которого лишили
привычных удобных программ ), либо производить
замену постепенно, выделяя более-менее
самостоятельные функциональные модули ( в этом
случае, кроме функционального ПО, необходимо
написание всяческих "шлюзов"
обеспечивающих сопряжение по хранимым данным SQL
и X-Base). При этом надо заметить, что чем дольше
эксплуатируются X-Base приложения, чем больше
масштаб их применения в бизнесе компании и чем
больше инвестиций в них вложено, тем сложнее и
рискованней их в одночасье заменить.
Поскольку в основном необходимость в переходе на
промышленную СУБД испытывают именно крупные
компании, давно и глубоко автоматизирующих свой
бизнес, остановимся на поэтапном варианте
перехода к SQL-технологиям. Если внимательно
проанализировать проблемы перехода, то
единственно, чем может манипулировать отдел ИТ
- выбором средств и технологии разработки.
Рис. 1
Проблему поэтапного переноса приложений, в
основе которых лежит X-Base, на SQL технологию
усугубляет отсутствие на рынке программных
средств, которые бы совмещали простоту
визуализации данных X-Base с надежностью и
выразительностью манипулирования данными SQL-серверов.
Такая ситуация объясняется главным образом
следующими фактами:
1) идеологически выборка из SQL-курсора - это
совсем не то, что выборка из X-Base файла;
2) в SQL-курсорах невозможно одновременно
совместить навигацию и обновляемость данных;
Если проанализировать возможные варианты
средств разработки не только с точки зрения "натуральности"
взаимодействия с SQL-сервером но и с точки зрения
стоимости подготовки перехода на промышленную
СУБД (включая затраты на замену и модернизацию
оборудования), то наиболее привлекательной
является технология замещаемых драйверов (Replacement
Database Drivers). Данная технология поддерживается
практически всеми основными поставщиками X-Base
продуктов: CLARION, CA-CLIPPER, FOX-PRO. При всех очевидных
достоинствах, такой подход не позволяет
эффективно работать с произвольными SQL-сервероми
баз данных, поскольку для успешной реализации
такого типа драйверов необходима поддержка
управления размером и способом выборки на уровне
сервера, возможность установки блокировки на
уровне строки.
В настоящее время анонсированный Informix Online(tm)
Dynamic Server 7.3 содержит все необходимые
технологические возможности для реализации
таких драйверов.
2. От Clarion к Informix
В качестве первого шага по реализации
такого подхода для среды разработки бизнес-приложений
CLARION в московском представительстве компании
Informix создан прямой драйвер, обеспечивающий
возможность работы Clarion-приложений (с
сохранением интерфейса конечного пользователя
(front-end) и бизнес-логики) c базами данных Informix. Для
обеспечения независимости от среды выполнения
Clarion-приложений (MS DOS - MS Windows ) драйвер реализует
трехуровневую архитектуру: Client -> MiddleWare->
RDBMS
Рис. 2
Такой подход имеет следующие преимущества:
1) Совместимость по исходным текстам:
Informix Direct Driver поддерживает спецификацию драйвера
файлов данных Clarion 2.1, будучи непосредственно
встроен в стандартные функции работы с файлами
(SET(), NEXT(), PREVIOS(), SKIP() ) - на практике это означает,
что для перехода на Informix достаточно
перекомпилировать приложения, скомпоновав их с
этим драйвером Informix
2) Поддержка унаследованных приложений,
работающих в MS-DOS:
Informix Direct Driver поддерживает MS-DOS приложения,
написанные в среде CDD (Clarion 3.*) или
конвертированные в Clarion 3.* штатной утилитой. Для
работы данных приложений необходимо
скомпоновать их с драйвером Informix
3) Производительность и требования к ресурсам:
Informix Direct Driver обеспечивает быструю (и даже лучшую
в сравнении с традиционным ISAM) скорость реакции,
практически не зависящую от размеров
обрабатываемых таблиц за счет использования
двунаправленных курсоров (для сравнения: при
работе с любым SQL-сервером через ODBC при
последовательной обработки использует только
один курсор, что приводит к значительным
задержкам при скроллинге; причем при скроллинге
таблиц пользователь всегда будет видеть "старые
данные", выбранные на момент запроса);
Поскольку Informix Direct Driver не держит открытых
курсоров и производит оптимизацию запросов
таким образом, что сервер БД не создает
промежуточных временных, данный подход
обеспечивает минимизацию требуемых ресурсов.
4) Обеспечение безопасности:
Двухуровневая архитектура Informix Direct Driver делая,
с одной стороны "Online" абсолютно прозрачным
для соответствующих приложений, с другой стороны
делает сервер БД "невидимым" для
конечных пользователей; ПО промежуточного
уровня, работающее на отдельной машине
фактически является "farewell".
5)Простота администрирования и контроля
за запущенными приложениями:
Для повышения надежности функционирования
рабочих станций "Informix Direct Driver" в качестве
протокола использует IPX/SPX не зависимо от
поддержке его на сервере БД; "Informix Direct
Driver" для своей работы не требует установки
дополнительного ПО на рабочих станциях; В
комплект "Informix Direct Driver" входит программа
мониторинга приложений пользователей в
отношении "открытых файлов", блокировок
отдельных записей и файлов в целом.
|