Раздел описывает программные системы, с которыми непосредственно взаимодействуют пользователи, внешние приложения и бизнес-процессы.

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

Основные направления

  • Устройство прикладных систем — клиент-серверное взаимодействие, компоненты приложения, бизнес-логика, состояние и путь пользовательского запроса через систему.
  • Пользовательские и веб-интерфейсы — браузер, HTML, CSS, клиентский JavaScript, компоненты, маршрутизация, формы, доступность и адаптивность.
  • Серверные приложения — обработка запросов, выполнение сценариев, работа с данными, управление ресурсами и взаимодействие с внешними зависимостями.
  • API и программные контракты — REST, GraphQL, RPC, gRPC, WebSocket, схемы данных, ошибки, пагинация, версионирование и документирование интерфейсов.
  • Идентификация и управление доступом — сессии, cookies, токены, OAuth, OpenID Connect, роли, атрибуты и межсервисная аутентификация.
  • Фоновые процессы и обмен событиями — планировщики, очереди задач, уведомления, обработка файлов и операции вне основного цикла запроса.
  • Интеграции с внешними системами — синхронные и асинхронные вызовы, webhooks, адаптеры, преобразование моделей и обработка частичных отказов.
  • Качество и эксплуатационные свойства приложений — валидация, безопасность, тестирование, локализация, конфигурация, кеширование, аудит, наблюдаемость и производительность.

Типы прикладных систем

  • Пользовательские приложения — веб-, мобильные и настольные приложения с интерактивным интерфейсом.
  • Серверные приложения — сервисы, обрабатывающие запросы, бизнес-операции, интеграции и фоновые задачи.
  • Консольные и автоматизационные приложения — программы, запускаемые пользователем, скриптом или планировщиком без графического интерфейса.
  • Интеграционные системы — шлюзы, адаптеры и сервисы обмена данными между независимыми платформами.

Основные вопросы раздела

Материалы раздела должны помогать отвечать на следующие вопросы:

  • Как пользовательское действие проходит через интерфейс, сервер и хранилище данных?
  • Где должна находиться бизнес-логика прикладной системы?
  • Как организовать состояние клиентского и серверного приложения?
  • Как выбрать стиль API и определить его контракт?
  • Как развивать API без нарушения работы существующих клиентов?
  • Как организовать аутентификацию, сессии и проверку полномочий?
  • Когда операцию следует выполнять синхронно, а когда переносить в фон?
  • Как обеспечить надёжность интеграции с внешней системой?
  • Как проверять пользовательский ввод и обрабатывать ошибки без потери контекста?
  • Какие данные необходимы для аудита и наблюдаемости приложения?
  • Как оценивать производительность пользовательского сценария целиком?
  • Как тестировать интерфейсы, API и взаимодействие компонентов?

Границы раздела

Раздел посвящён устройству прикладных приложений, пользовательских интерфейсов, API и интеграций.

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

в этой папке 0 элементов