Константин Васильевич Рочев

Справочник программиста в стихах. От проектирования до внедрения


Скачать книгу

данных быть не может,

      Всё состояние – внутри.

      Конкретных связей, функций – тоже –

      Лишь интерфейсы между них.

      Благодаря такой структуре

      Слои возможно заменять.

      Внутри слоёв в архитектуре

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

      Звенья

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

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

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

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

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

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

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

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

      Файл-сервер

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      DBS (Database Server)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Сложность интеграции изменений