Всю сложность лишнюю скрывать.


Звенья

Систему можно разделить

На несколько частей, к примеру,

На сервер и клиент. Решить,

Как будет лучше это сделать,


Обычно, первый из шагов

Архитектуры приложения.

Ряд слабосвязанных узлов

Отдельных называют звенья.


Файл-сервер

Для файл-серверных систем

Предполагается возможность

Хранения данных в файлах. Всем

К ним должен быть открытый доступ.


Двухзвенная архитектура клиент-сервер

Двухзвенная архитектура

Предполагает два звена

И два подхода, как структура,

И логика разделена.



Удаленный доступ к данным (Remote Data Access, RDA)

В модели RDA (Эрдэа́), иначе –

Доступа к удаленным данным –

Вся логика и все задачи

На стороне клиент-программы,


А в базе лишь хранение данных.

При этом больше трафик и

Выше возможность нежеланных

Вмешательств с третьей стороны.


DBS (Database Server)

В модели сервера баз данных,

Иначе – в DBS (Дэбээ́с)-модели –

Клиент – собрание форм экранных,

А логикой владеет сервер.


Но мощь хранимых процедур,

Которыми реализуют

Здесь логику, и их структур,

Пред кода силами пасуют.


Многозвенная архитектура

Сервер приложений (Application Server, AS)

В модели «сервер приложений»

Есть основные три звена:

«Клиент» ведёт отображение,

А серверов, обычно, два.


«Сервер баз данных» для хранения.

И сервер приложения, где

Проходят бизнес-вычисления.

Быть может не один вполне.


Модель подобная сложнее,

Но есть и целесообразность:

Поддержка проще и прямее,

Гораздо выше безопасность.


Многозвенная web-архитектура

Другой вариант трёхзвенки – это

Веб-приложение. Для него

Сервер баз данных будет где-то

И сервер приложения. Но


На сервере и вычисления,

И построение интерфейса.

И лишь одно отображение

В веб-браузере на клиенте.


Микросервисы

Когда систему разделяют

На много маленьких программ,

Их все отдельно запускают

В процессах, службах, тут и там…


По сути, функция – программа –

Отдельный код и разработчик.

Для масштабирования – славно,

Для эффективности – не очень.


Глава 11. Проектирование компонентов


Сложность интеграции изменений единого крупного проекта при командной работе

Когда система велика,

В едином связном коде очень

Бывает сборка не легка,

И каждый новый разработчик


Здесь добавляет свой кусок

При интеграции системы,

На это тратится часок,

А у кого-то и неделя.


Компонент

При разработке код программ

Подразделяют на проекты.

Они потом помогут нам

Разрезать всё на компоненты.

Купите полную версию книги и продолжайте чтение
Купить полную книгу