Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную информацию об использовании файлов cookies можно найти здесь, наши правила обработки персональных данных – здесь. Продолжая пользоваться сайтом, вы подтверждаете, что были проинформированы об использовании файлов cookies сайтом НИУ ВШЭ и согласны с нашими правилами обработки персональных данных. Вы можете отключить файлы cookies в настройках Вашего браузера.

  • A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2024/2025

Сервис-ориентированные архитектуры

Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 3-й курс, 3, 4 модуль
Формат изучения: с онлайн-курсом
Онлайн-часы: 20
Охват аудитории: для своего кампуса
Преподаватели: Син Денис Дмитриевич
Язык: английский
Кредиты: 4

Course Syllabus

Abstract

В рамках этого курса вы познакомитесь с ключевыми подходами к организации веб-сервисов, а также ключевыми подходами к формированию API. Также, мы рассмотрим, как развитие сервис-ориентированных систем на базе облачных решений привело к появлению микросервисного подхода. Рассмотрим паттерны проектирования сервисов, подходы к отказоустойчивости и масштабируемовсти.
Learning Objectives

Learning Objectives

  • Знать понятие сервис-ориентированной архитектуры (СОА). Типы СОА API.
  • Знать общие принципы организации СОА.
  • Знать основные технологии организации RPC API на примере JSON RPC, gRPC, SOAP XML Веб-сервисов.
  • Знать основные концепции и методы разработки веб-сервисов в соответствии с концепцией REST.
  • Знать особенности организации интерфейсов в соответствии с концепцией API Сообщений, ключевые паттерны работы с очередями сообщений.
  • Уметь организовывать взаимодействие между независимыми сервисами посредством очередей сообщений.
Expected Learning Outcomes

Expected Learning Outcomes

  • Знание ключевых паттернов организации микросервисной архитектуры: API Gateway, Service Mesh, Message Queue, Event Sourcing.
  • Умение принимать решения об архитектуре системы в зависимости от требований.
  • Знание особенностей организации связи на основе протоколов TCP и UDP.
  • Знание особенностей обеспечения безопасности СОА: технологии OAuth, JSON Web Token.
  • Знание подходов к тестированию сервисов в микросервисной архитектуре.
  • Уметь разрабатывать gRPC сервисы.
  • Знание подходов к мониторингу и наблюдаемости сервисов.
Course Contents

Course Contents

  • Введение в SOA.
  • Микросервисная архитекутра.
  • Границы сервисов и DDD.
  • Cети TCP, UDP, HTTP и виды интеграций.
  • Синхронные интеграции REST, gRPC, SOAP.
  • Ассинхронные интеграции Kafka.
  • Взаимодействие с БД в сервис-ориентированной архитектуре.
  • Паттерны .
  • Отказоустойчивость.
  • Масштабирование.
  • Развертывание системы.
  • Docker и Kubernetes.
  • Наблюдаемость и мониторинг.
  • Тестирование в SOA.
Assessment Elements

Assessment Elements

  • non-blocking Домашнее задание
  • non-blocking Экзамен
Interim Assessment

Interim Assessment

  • 2024/2025 4th module
    0.7 * Домашнее задание + 0.3 * Экзамен
Bibliography

Bibliography

Recommended Core Bibliography

  • Mark Richards, & Neal Ford. (2019). Fundamentals of Software Architecture : An Engineering Approach. O’Reilly Media.
  • Современный подход к программной архитектуре: сложные компромиссы. - 978-5-4461-2024-6 - Форд Нил, Ричардс Марк, Садаладж Прамод, Дехгани Жамак - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/391724 - 391724 - iBOOKS
  • Создание микросервисов - 978-5-496-02011-4 - Ньюмен С. - 2016 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/351337 - 351337 - iBOOKS

Recommended Additional Bibliography

  • Архитектура и проектирование программных систем, Назаров, С. В., 2013

Authors

  • SOLDATOVA TATYANA VLADIMIROVNA