Centura/Raima - основа нового поколения информационных систем
Большаков С. А.
Многие руководители разработок и программисты часто находятся в безальтернативной ситуации при выборе программных средств для переработки своих информационных систем с устаревших платформ (DOS, ранние версии Windows и других) на новые современные платформы. Дело в том, что все широко распространенные инструментальные средства базируются на SQL технологиях. С другой стороны, практика уже однозначно выявила негативные стороны SQL-интерфейса - в частности, при решении задач оперативного доступа и оперативного ввода больших массивов информации. Временные характеристики запросов в этих случаях не удовлетворительны, а некоторые операции невыполнимы. Приемлемой альтернативы для перевода под WINDOWS задач, к примеру, разработанных с использованием CA Clipper пока не было. Появление продуктов Centura/Raima - RDM (Raima Database Manager) и Velocis на рынке программных продуктов способно разрешить данную проблему и многие другие проблемы, возникающие при разработке информационных бизнес систем.
Почему фирма Raima, ставшая в прошлом году частью фирмы Centura, предлагает именно эти два продукта? Здесь можно выделить следующие основные причины:
Во-первых, нужно заполнить нишу разработок со встраиваемыми СУБД, в которой на данный момент нет достойных представителей для современных платформ (RDM отвечает всем современным требованиям встраиваемых СУБД для создания программных систем под WINDOWS),
Во-вторых, большинство СУБД - серверов не обеспечивают одновременно SQL и NON SQL способы доступа к данным (Velocis - СУБД, являясь сервером БД, для таких режимов и разрабатывался),
В-третьих, дефицит СУБД, поддерживающих сетевые модели данных, значительно ограничивает области использования современных информационных систем, и, наконец,
В-четвертых, практика показывает, что помимо супермощных СУБД необходимо иметь системы промежуточного звена, для поддержки, в частности, технологий распределенного сбора и обработки информации.
Эти факторы, как и многие другие, несомненно, определяют пользовательский интерес к продуктам Centura/Raima. Совместно с инструментом CTD (Centura Team Developer) и СУБД - SQLBase они составят основу для создания многих систем обработки данных и управления. Рассмотрим краткую характеристику данных программных продуктов Centura/Raima, выделив основные три:
RDM (Raima Database Manager)- СУБД, встраиваемая в приложения и обеспечивающая тем не менее многопользовательский режим взаимодействия программ и БД - это достигается за счет специального диспетчера (LockManager). RDMпредставляет собой набор библиотек и интерфейсных файлов, которые подключаются к программам статически или динамически. Кроме того, специальные утилиты в RDMобеспечивают действия, необходимые для создания, сопровождения и взаимодействия с БД (импорт, экспорт, реорганизация, инициализация и др.). RDM позволяет строить сетевые структуры БД с помощью специальных наборов (Sets), за счет чего структура сложных БД выглядит наглядней, а взаимодействие с данными значительно упрощается. При этом эффективность доступа не только не теряется, но становится намного выше. Производительность приложений со встраиваемыми СУБД чрезвычайно высока, что, в частности для RDM достигается применяемыми алгоритмами и прямым доступом к записям и файлам. Для повышения уровня оперативности работы с данными пользователю разрешено самому планировать структуру файлов и делать распределение записей и ключей по файлам, что позволяет практически без затрат оптимизировать размещение данных и снизить времена манипулирования записями. Одновременно с навигационным режимом доступа к данным (first, last, next и др.) в RDM обеспечивается выбор данных с помощью SQL операторов, которые могут формироваться в программах или инициироваться из специальных файлов запросов. Возможность работы с любыми системами программирования СИ++, поддержка широкого круга платформ техники и операционных систем, предоставление пользователю исходных текстов программ - все это предопределяет привлекательность программного продукта - RDM, на основе которого могут создаваться как простые приложения, так и программное обеспечение сложных многопользовательских информационных систем. Ранее этот программный продукт, а он ведет свою историю с 1987 года, был известен под названием dbVista, сейчас последняя версия называется RDM++ v4.5.
Velocis- полнофункциональная СУБД серверного типа, предназначенная для работы в одноранговых сетях самых различных платформ. Velocis обеспечивает работу как SQL ориентированных приложений и БД, так и NON SQL приложений и БД соответственно. Velocis для работы и отладки приложений имеет одномашинный вариант (Standalone), при работе с которым достигается полная совместимость программ, интерфейса и БД с серверным сетевым продуктом. В состав Velocis СУБД, помимо утилит, составляющих основу RDM, входят средства администрирования БД, средства SQL - взаимодействия и средства сопровождения БД. Обеспечивается плавный переход от NON SQL к SQL БД и одновременный доступ как в SQL, так и в навигационном режиме. С помощью несложных преобразований БД, работавшую под управлением RDM, можно преобразовать в БД под управлением СУБД Velocis, что позволяет сделать разрабатываемые программные средства более мобильными. Все достоинства, перечисленные выше для RDM, сохранены, включая высокие производительность и надежность. В Velocis СУБД предусмотрены интерфейсы с языком СИ++ (для разных систем программирования), MS VB, BORLAND DELPHY, а также другими языками и средствами разработки, которые обеспечивают работу со стандартными динамическими библиотеками WINDOWS - DLL. Последняя версия СУБД Velocis, которая вышла в конце 1999 года - VELOCIS v2.1.
ROM (Raima Object Manager)- это объектно-ориентированный интерфейс в виде системы взаимосвязанных классов, предназначенный для эффективного построения приложений для продуктов Centura/Raima: RDM и Velocis СУБД. Логичная система классов в ROM определяет язык взаимодействия с данными посредством определения специальных объектов, которые значительно облегчают построение приложений. Например, определение объекта типа запись (StoreObj) сводит традиционную навигацию по БД (first, last, next и др.) к перегруженным операторам ++ и/или другим. При создании приложений с использованием ROM значительно упрощаются модули, предназначенные для манипулирования данными. Они становятся более наглядными, что приводит к уменьшению числа ошибок при программировании. Принято считать, что использование классов снижает производительность программ. Это в принципе неоспоримый факт, однако в ROM для снижения влияния данного фактора приняты специальные меры: операторы и процедуры классов опираются на прямой доступ взаимодействия с файлами, содержащими записи БД. Использование прямого доступа, при котором используется специальный тип переменной (dbAddr), введенный в RDM, обеспечивает оперативный доступ к данным и ключам, что нивелирует расходы, связанные с применением системы вложенных классов. С помощью специального класса запросов (OmQuery) в ROM можно организовать SQL доступ к данным. Система классов также обеспечивает построения различных связей между записями, даже таких, которые не обеспечиваются сетевой моделью в RDM. Так, RDM предлагает связность между объектами БД максимального уровня 1:М, а в ROM обеспечивается возможность самых высоких уровней сетевых моделей БД - N:M. В настоящее время ROM не поставляется в качестве отдельного программного продукта, а является составной частью продуктов RDM++ и Velocis СУБД. Для тех, кто ранее был знаком с данным продуктом, напомним его прежнее название - Vista++.
Рассмотренные программные продукты Centura/Raima обладают рядом положительных свойств, которые привлекательны руководителям групп разработчиков и программистам, создающим сложные информационные системы. Отметим эти свойства:
Прекрасно подготовленная документация по всем продуктам: RDM, Velocis и ROM. Документация представляется в формате файлов PDF и может оперативно использоваться прямо на компьютере в процессе разработки и отладки программных систем. В документации рассматриваются примеры, которые входят в дистрибуцию программных продуктов, поэтому процесс обучения максимально прост.
Программные продукты Centura/Raima заинтересуют как сторонников процедурного подхода к программированию (а таких еще много), так и объектно-ориентирован-ного. И тем и другим обеспечивается полнофункциональный интерфейс для построения приложений (RDM и ROM соответственно).
При построении сложных программных систем продуктами обеспечивается возможность одновременной работы многих пользователей, работы пользователя с разными базами данных одновременно, определении разных задач доступа (Task).
В СУБД RDM и Velocis предусмотрены все необходимые элементы работы с базами данных, в частности, поддержка транзакций, ключи, индексы, защита записей, шифрование информации, поддержка иностранных языков, оптимизация запросов и так далее. Эти свойства СУБД делают их конкурентноспособными в своей области.
Программистам наверняка понравятся легко запоминаемые названия функций, которых немало в системах. Группы функций рассчитаны на все необходимые случаи: по манипулированию данными, по администрированию БД, функции доступа с SQL запросами, для работы с каталогами и многие другие. Кроме того, не закрыта возможность применения функций универсальных языков программирования, так как новые названия функций продуктов по мнемонике не могут пересекаться с существующими (введена префиксация). Поставка вместе с программными продуктами исходных текстов систем также привлекательна для разработчиков.
Для описания БД предусмотрен специальный язык (DDL), на котором легко описываются отдельные записи, ключевые поля, связи записей. В языке DDL пользователю предоставляется возможность определять расположение записей, индексов и связей в файловой системе. Это помогает ему выбрать наилучшую конфигурацию хранения данных в зависимости от характера его задач. Для SQL БД предлагается язык описания и создания БД соответствующий стандарту SQL. Специальные утилиты генерируют структуры БД и обеспечивают их заполнение.
В системах предусматривается автоматическое ведение системных журналов, в которых фиксируются события и операции с данными. Эти журналы могут быть отключены только системным администратором.
Высокий профессионализм программных продуктов Centura/Raima обеспечивает в конечном итоге высокую профессиональность разрабатываемых на их основе приложений. Сочетание SQL и NON SQL технологий, высокая производительность и универсальность одновременно, развитые механизмы описания БД и манипулирования данными, а также поддержка практически всех известных платформ позволяет считать, что продукты Centura/Raima могут стать основой для создания нового поколения информационных систем в своей области.