Способы разработки и выполнения приложений

Современные СУБД позволяют решать широкий круг задач по работе с базами дан­ных без разработки приложения. Тем не менее, есть случаи, когда целесообразно разра­ботать приложение. Например, если требуется автоматизация манипуляций с данны­ми, терминальный интерфейс СУБД недостаточно развит, либо имеющиеся в СУБД стандартные функции по обработке информации не устраивают пользователя. Для раз­работки приложений СУБД должна иметь программный интерфейс, основу которого составляют функции и/или процедуры соответствующего языка программирования.

Существующие СУБД поддерживают следующие технологии (и их комбинации) разработки приложений:

• ручное кодирование программ (Clipper, FoxPro, Paradox);

• создание текстов приложений с помощью генераторов (FoxApp в FoxPro, Personal Programmer в Paradox);

• автоматическая генерация готового приложения методами визуального програм­мирования (Delphi, Access, Paradox tor Windows). При ручном кодировании программисты вручную набирают текст программ при­ложений, после чего выполняют их отладку. .

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

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

Разработанное приложение обычно состоит из одного или нескольких файлов опе­рационной системы.

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

Независимые приложения позволяют получать, например, СУБД FoxPro и система визуального программирования Delphi. Отметим, что с помощью средств Delphi обыч­но независимые приложения не разрабатывают, так как это достаточно трудоемкий процесс, а привлекают процессор баз данных BDE (Borland DataBase Engine), играю­щий роль ядра СУБД. Одним из первых средств разработки приложений для персо­нальных ЭВМ является система Clipper, представляющая собой «чистый компилятор».

Во многих случаях приложение не может исполняться без среды СУБД. Выпол­нение приложения состоит в том, что СУБД анализирует содержимое файлов прило­жения (в частном случае — это текст исходной программы) и автоматически строит

необходимые исполняемые машинные команды. Другими словами, приложение вы­полняется методом интерпретации.

Режим интерпретации реализован во многих современных СУБД, например, Access, Visual FoxPro и Paradox, а также в СУБД недавнего прошлого, к примеру, FoxBase и FoxPro.

Кроме этого, существуют системы, использующие промежуточный вариант между компиляцией и интерпретацией — так называемую псевдокомпиляцию. В таких систе-

мах исходная программа путем компиляции преобразуется в промежуточный код (псев­докод) и записывается на диск. В этом виде ее в некоторых системах разрешается даже редактировать, но главная цель псевдокомпиляции — преобразовать программу к виду, ускоряющему процесс ее интерпретации. Такой прием широко применялся в СУБД, работающих под управлением DOS, например, Foxbase+ и Paradox 4.0/4.5 for DOS.

В СУБД, работающих под управлением Windows, псевдокод чаще используют для того, чтобы запретить модифицировать приложение. Это полезно для защиты от случай­ной или преднамеренной порчи работающей программы. Например, такой прием приме­нен в СУБД Paradox for Windows, где допускается разработанные экранные формы и отчеты преобразовывать в соответствующие объекты, не поддающиеся редактированию.

Некоторые СУБД предоставляют пользователю возможность выбора варианта раз­работки приложения: как интерпретируемого СУБД программного кода или как не­зависимой программы.

Достоинством применения независимых приложений является то, что время выполне­ния машинной программы обычно меньше, чем при интерпретации. Такие приложения целесообразно использовать на слабых машинах и в случае установки систем «под ключ», когда необходимо закрыть приложение от доработок со стороны пользователей.

Важным достоинством применения интерпретируемых приложений является легкость их модификации. Если готовая программа подвергается частым изменениям, то для их вне­сения нужна инструментальная система, т. е. СУБД или аналогичная среда. Для интерпре­тируемых приложений такой инструмент всегда под рукой, что очень удобно.

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

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

Для пользователя, имеющего современный компьютер и планирующего создать несложное приложение, по всей видимости, больше подойдет СУБД интерпретирую­щего типа. Напомним, что такие системы достаточно мощны, имеют высокоуровне­вые средства, удобны для разработки и отладки, позволяют быстро выполнить разра­ботку и обеспечивают удобное сопровождение и модификацию приложения.

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