Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуацииРефераты >> Военная кафедра >> Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации
Другая отличительная черта серверов БД - наличие словарьа данных, в котором записаны структура БД, ограничения целостности данных, форматы и даже серверные процедуры обработки данных по вызову или по событиям в программе. Объектами разработки в таких приложениях помимо диалога и логики обработки являются прежде всего реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов для этой БД.
Большинство конфигураций клиент-сервер использует двухзвенную модель, состоящую из клиента, который обращается к услугам сервера (сх. 3-5 в таблице 3.1, рисунок 3.2). Для эффективной реализации такой схемы часто применяют неоднородную сеть. Как минимум, предполагается, что диалоговые компоненты PS и PL размещаются на клиенте, что позволяет обеспечить графический интерфейс. Далее возможно разместить компоненты управления данными DS и FS на сервере, а диалог (PS, PL), логику BL и DL на клиенте - сх. 3 в таблице 3.1). Типовое определение архитектуры клиент-сервер - приложение на клиенте, СУБД - на сервере - использует эту схему.
Рисунок 3.2.
Варианты построения приложений клиент-сервер.
Поскольку эта схема предъявляет наименьшие требования к серверу, она обладает наилучшей масштабируемостью. Однако сложные приложения, вызывающие большое взаимодействие с БД, могут жестко загрузить как клиента, так и сеть. Результаты SQL-запроса должны вернуться клиенту для обработки, потому что там находится логика принятия решения. Такая схема возлагает дополнительное бремя администрирования приложений, разбросанных по различным клиентским узлам.
Можно сократить нагрузку на клиента и сеть, переместив целиком компонент BL на сервер, при этом вся логика принятия решений оформлена в виде хранимых процедур и выполняется на сервере БД. Хранимая процедура - процедура с операторами SQL для доступа к БД, вызываемая по имени с передачей требуемых параметров и выполняемая на сервере БД. Компиляция повышает скорость исполнения хранимых процедур и сокращает нагрузку на сервер. Но, перегрузив хранимые процедуры прикладной логикой, можно потерять преимущества по производительности. Хранимые процедуры улучшают целостность приложений и БД, гарантируют актуальность коллективно используемых операций и вычислений. Улучшается сопровождение таких процедур, а также безопасность (нет прямого доступа к данным).
Переместив с клиента часть логики приложения на сервер, получим систему клиент-сервер с разделенной логикой. Часть прикладной логики может быть реализована на клиенте, а другая часть логики - в виде обработчиков событий (триггеров) и хранимых процедур на сервере БД. Такая схема при удачном разделении логики приводит к сбалансированной загрузке клиентов и сервера, но при этом затрудняется сопровождение приложений.
Рисунок 3.3.
Приложения клиент-сервер на основе многотерминальной системы.
На основе многотерминальной системы в качестве сервера приложений также возможно создание архитектуры клиент-сервер (рисунок 3.3.). В этом случае в многозадачной среде сервера приложений выполняются программы пользователей, а клиентские узлы вырождены и представлены терминалами.
4. ВЫБОР ЯЗЫКА ПРОГРАММИРОВАНИЯ
Классификация средств разработки информационных приложений
Среди средств разработки информационных приложений можно выделить следующие основные группы:
· традиционные системы программирования;
· инструменты для создания файл-серверных приложений;
· средства разработки приложений клиент-сервер;
Рассмотрим кратко отличительные черты и область применения каждой группы инструментальных средств создания информационных приложений.
4.1.Традиционные системы программирования
Традиционные системы программирования представлены средствами создания приложений на языках третьего поколения 3GL: C, Pascal, Basic и др. Среди них по способам подготовки и выполнения программных модулей различают системы компилирующего и интерпретирующего типа. Инструментальные средства программирования могут быть представлены набором отдельных утилит (редактор текстов, компилятор, компоновщик и отладчик) или интегрированной средой программирования.
Процедурные языки программирования являются традиционными, они лишь претерпели изменения от неструктурных до структурных языков программирования. Объектно-ориентированное программирование - сравнительно новое направление, однако оно в концептуальном плане более привлекательно, позволяет рассматривать и реализовывать информационные и функциональные свойства объектов в неразрывной связи.
Свойствами объектно-ориентированных языков, обуславливающими их преимущества, являются сокрытие деталей реализации объекта (инкапсуляция), наследование процедурных и информационных частей от объектов-родителей, полиморфизм как возможность настройки на различные типы данных и др. Примерами объектно-ориентированных систем программирования являются C++ и Object Pascal.
Системы программирования 3GL нужны для организации специальных модулей в информационных приложениях, для создания эффективных по быстродействию программ обработки данных. Для создания с помощью систем программирования полноценных информационных приложений необходимо расширить их за счет использования библиотек диалога и доступа к базам данных, а также макросредств встроенного языка структурированных запросов Embeded SQL.
Систему программирования Visual Basic можно использовать для создания простых автономных приложений и компонентов VBX и OCX, для расширения и интеграции функциональных пакетов (Word, Excel, Access), а также как средство программирования для расширения систем документооборота и для создания утилит администрирования.
С момента выхода продано существенно больше копий Delphi, чем Visual Basic. Применение продукта возможно для создания расчетно-аналитических программ, для разработки DLL, для сопровождения и развития разработок, выполненных на Turbo и Borland Pascal, а также для быстрого прототипирования будущих приложений. В ряде случаев решающим для выбора будут умеренные требования Delphi-приложения к системно-техническому обеспечению.
С++ применяется для расширения системного программного обеспечения, для разработки крупных проектов, специальных приложений, создания библиотек и классов для предметной области, разработки динамических библиотек DLL, создания программного обеспечения для серверов приложений, разработки ОСХ, использования совместно с CASE-системами, обеспечения многоплатформенности и переносимости (по стандарту ANSI).
4.2. Инструменты для создания файл-серверных приложений
Основой разработки файл-серверных приложений для локальных сетей ПК является инструментальное окружение различных "персональных" СУБД: FoxPro, Clipper, Paradox, Clarion, Paradox, dBase и т.п. Такие средства, как правило, реализованы в виде диалоговой интегрированной среды, предоставляющих три уровня доступа: