Базы данных - модели, разработка, реализация

       

прикладные функции, определяющие основные алгоритмы


  • функции ввода и отображения данных (Presentation Logic);


  • прикладные функции, определяющие основные алгоритмы решения задач приложения (Business Logic);


  • функции обработки данных внутри приложения (Database Logic);


  • функции управления информационными ресурсами (Database Manager System);


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


  • 201

    Структура типового приложения, работающего с базой данных приведена на рис. 10.2.

    Рис. 10.2. Структура типового интерактивного приложения, работающего с базой данных

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

  • формирование экранных изображений;


  • чтение и запись в экранные формы информации;


  • управление экраном;


  • обработка движений мыши и нажатие клавиш клавиатуры.


  • Некоторые возможности для организации презентационной логики приложений предоставляет знако - ориентированный пользовательский интерфейс, задаваемый моделями CICS (Customer Control Information System ) и IMS/DC фирмы IBM и моделью TSO (Time Sharing Option) для централизованной main-фреймовой архитектуры. Модель GUI - графического пользовательского интерфейса, поддерживается в операционных средах Microsoft?s Windows, Windows NT, в OS/2 Presentation Manager, X-Windows и OSF/Motif.

    Бизнес-логика, или логика собственно приложений (Business processing Logic), -это часть кода приложения, которая определяет собственно алгоритмы решения конкретных задач приложения. Обычно этот код пишется с использованием различных языков программирования, таких как С, C++, Cobol, SmallTalk, Visual-Basic.

    Логика обработки данных (Data manipulation Logic) - это часть кода приложения, которая связана с обработкой данных внутри приложения.


    Данными управляет собственно СУБД (DBMS). Для обеспечения доступа к данным используются язык запросов и средства манипулирования данными стандартного языка SQL.

    202

    Обычно операторы языка SQL встраиваются в языки 3-го или 4-го поколения (3GL, 4GL), которые используются для написания кода приложения.

    Процессор управления данными (Database Manager System Processing) - это собственно СУБД, которая обеспечивает хранение и управление базами данных. В идеале функции СУБД должны быть скрыты от бизнес - логики приложения, однако для рассмотрения архитектуры приложения нам надо их выделить в отдельную часть приложения.

    В централизованной архитектуре (Host-based processing) эти части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы.

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

  • распределенная презентация (Distribution presentation, DP);


  • удаленная презентация (Remote Presentation, RP);


  • распределенная бизнес-логика (Remote business logic, RBL);


  • распределенное управление данными (Distributed data management, DDM);


  • удаленное управление данными (Remote data management, RDA).


  • Рис. 10.3. Распределение функций приложения в моделях "клиент - сервер"

    203

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

    Содержание раздела