Материал: Л-2 - Архитектурные решения

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Централизованная архитектура (3)

Многопользовательскую работу обеспечивали:

режим мультипрограммирования (одно приложение считывает данные из ВЗУ, другое приложение обрабатывается процессором);

режим разделения времени (пользователям по очереди выделяются кванты времени на выполнении их программ).

Технология была распространена в эпоху больших ЭВМ

(IBM-370, ЕС-1045, ЕС-1060).

Основной недостаток – резкое снижение производительности при увеличении числа пользователей.

Отход от централизованной архитектуры

Увеличение сложности задач, появление ПК и локальных вычислительных сетей – появление новых архитектур.

Все компьютеры сети обладают ресурсами, и разумно распределить нагрузку.

Необходимо было разработать модель разбиения монолитного приложения на отдельные части и определить принципы взаимодействия этих частей.

Функции стандартного интерактивного приложения разделяются на 5 групп различной природы.

1. Представление данных

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

Основные задачи презентационной логики:

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

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

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

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

2. Функциональная обработка

Функциональная обработка (Business Logic) – часть кода приложения, реализующая основные алгоритмы решения задач пользователя.

Для банковской системы – открытие счета, перевод денег с одного счета на другой и т. д.

Эти бизнес-правила реализуются средствами высокоуровневого языка программирования (C++, Visual Basic) или расширенного языка манипулирования данными.

3. Управление данными

Управление данными (Database Logic) – часть кода приложения, связанная с манипулированием данными базы данных.

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