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

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

Классифицировать средства разработки можно с различных позиций, например по таким признакам, как:

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

Средства разработки приложений баз данных должны отвечать ряду критериев:

  • 1) являться компиляторами;
  • 2) работать и создавать исполнимые файлы для платформы Windows;
  • 3) давать возможность низкоуровневой отладки (просмотр произвольных областей памяти, расстановка точек останова и пошаговая отладка как по исходным кодам, так и по дизассемблированным, просмотр и модификация значений переменных);
  • 4) иметь интегрированную среду разработки и отладки;
  • 5) работать с базами данных SQL-серверного типа;
  • 6) давать возможность доработки стандартных библиотек и (или) компонентов (вплоть до низкоуровневой работы с Win32 API, использования ассемблерных вставок, работы с указателями);
  • 7) поддерживать разработку многоуровневых приложений, в частности современных стандартов DCOM, CORBA, транзак-ционно-объ- ектных серверов;
  • 8) поддерживать компонентный подход в разработке (как с точки зрения использования готовых компонентов, так и с точки зрения создания собственных);
  • 9) поддерживать групповую разработку.

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

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

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

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

Основой разработки файл-серверных приложений для локальных сетей ПК является инструментальное окружение различных персональных СУБД: FoxPro, Clipper, Paradox, Clarion, dBase, Access и др. Такие инструменты, как правило, реализованы в виде диалоговой интегрированной среды, имеющей три уровня доступа:

  • • программирование и создание приложений на языке, сочетающем возможности языка 3GL с некоторыми возможностями языков четвертого поколения 4GL;
  • • создание и ведение структуры БД и индексов, а также интерактивная генерация макетного приложения и его компонентов (меню, форм или окон, отчетов, запросов и программных модулей);
  • • использование диалоговой среды и генераторов конечными пользователями для создания, ведения и просмотра БД, а также формирования несложных запросов и отчетов.

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

В настоящее время широко используются визуальные объектно-ориентированные версии инструментальных средств и СУБД на ПК (MSAccess, VisualFoxPro, CA-VisualObjects и VisualdBase). Эти продукты направлены сугубо на создание Windows-приложений и содержат средства объектно-ориентированного диалога, событийноуправляемого программирования, визуального конструирования интерфейса пользователя и многие другие черты, присущие системам программирования 4GL и средствам быстрой разработки RAD. Кроме того, они поддерживают структурный язык запросов SQL, который характерен для приложений клиент-сервер.

Архитектура клиент-сервер спроектирована для решения проблем файл-серверных приложений путем разделения компонент приложения и размещения их там, где они будут функционировать более эффективно. Особенностью архитектуры клиент-сервер является использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL и выполняющих поиск, сортировку и агрегирование информации на месте без излишней перекачки данных на рабочие станции. Клиенты серверов БД получают последовательно и порциями только результаты запросов. Для реализации серверов БД используется системное программное обеспечение (ПО) реляционных СУБД, понимающих язык запросов SQL, например: Oracle, Informix, Sybase, MSSQLServer. Многие из этих СУБД работают на различных аппаратных платформах и в средах разных ОС.

Объектами разработки в приложениях клиент-сервер помимо диалога и логики обработки являются прежде всего реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов для этой БД.

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

Группу инструментальных средств для создания информационных приложений с архитектурой клиент-сервер можно разделить на следующие подгруппы:

  • • среды разработки приложений для серверов баз данных;
  • • независимые от СУБД инструменты для создания приложений клиент-сервер;
  • • средства поддержки распределенных информационных приложений.

Среды разработки приложений для серверов БД представляют собой системы программирования четвертого поколения 4GL или инструментальные средства быстрой разработки приложений RAD (Rapid Application Development). Особенностями этой подгруппы средств являются:

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

В качестве примера можно назвать инструменты Informix/4GL, Oracle*Forms и др.

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

  • • возможность распределения приложения на клиентах и (или) серверах;
  • • создание приложений для разных серверов БД;
  • • поддержка спецификации ODBC (Open DataBase Connectivity) для доступа к различным серверам БД, включая СУБД для ПК;
  • • связь с мониторами транзакций для организации трехзвенной архитектуры приложений клиент-сервер;
  • • объектно-ориентированное программирование приложений;
  • • визуальный характер генерации приложения;
  • • ведение репозитория объектов и их свойств, что облегчает интеграцию со средствами автоматизации проектирования программ CASE;
  • • управление проектами и версиями приложений;
  • • интеграция приложения с электронной почтой и средствами офисной автоматизации.

Известными примерами независимых инструментальных средств разработки являются PowerBuilder, JAM, Uniface и др.

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

  • • интерфейсы доступа к базам данных ODBC и IDAPI;
  • • шлюзы для систем управления базами данных;
  • • протоколы и команды мониторов обработки транзакций;
  • • почтовые интерфейсы MAPI, VIM, MHS, X.400wEDI
  • • средства обмена сообщениями MOM',
  • • протоколы связывания и встраивания объектов OLE и динамического обмена данными DDE',
  • • протоколы удаленного вызова процедур RPC и именованных конвейеров NamedPipes;
  • • средства коммуникационного ввода-вывода BSDSockets и Win Sock.

Самостоятельную группу инструментальных средств составляют

объектно-ориентированные базы данных, которые используют для хранения объектов реляционные БД или применяют специальные хранилища объектов.

Контрольные вопросы

  • 1. Дайте определение информационной системе.
  • 2. Перечислите признаки классификации информационных систем.
  • 3. Какие типы архитектур построения информационных систем вы знаете?
  • 4. Дайте определение банку данных.
  • 5. Поясните назначение словаря данных.
  • 6. Перечислите основные компоненты банка данных и охарактеризуйте их.
  • 7. Дайте определение базе данных.
  • 8. Какими свойствами должна обладать база данных?
  • 9. Что такое предметная область?
  • 10. Дайте определение СУБД.
  • 11. Перечислите состав компонентов СУБД.
  • 12. Перечислите основные функции СУБД.
  • 13. Представьте основные программные компоненты среды СУБД.
  • 14. Что собой представляет архитектура клиент-сервер?
  • 15. Чем вызвано появление трехуровневых моделей технологии клиент-сервер?
  • 16. Приведите классификацию СУБД.
  • 17. Перечислите критерии выбора СУБД.
  • 18. Приведите классификацию средств разработки СУБД.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >