Бакалавриат
2024/2025



Сервис-ориентированные архитектуры
Статус:
Курс по выбору (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 3, 4 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
20
Охват аудитории:
для своего кампуса
Преподаватели:
Син Денис Дмитриевич
Язык:
английский
Кредиты:
4
Course Syllabus
Abstract
В рамках этого курса вы познакомитесь с ключевыми подходами к организации веб-сервисов, а также ключевыми подходами к формированию API. Также, мы рассмотрим, как развитие сервис-ориентированных систем на базе облачных решений привело к появлению микросервисного подхода. Рассмотрим паттерны проектирования сервисов, подходы к отказоустойчивости и масштабируемовсти.
Learning Objectives
- Знать понятие сервис-ориентированной архитектуры (СОА). Типы СОА API.
- Знать общие принципы организации СОА.
- Знать основные технологии организации RPC API на примере JSON RPC, gRPC, SOAP XML Веб-сервисов.
- Знать основные концепции и методы разработки веб-сервисов в соответствии с концепцией REST.
- Знать особенности организации интерфейсов в соответствии с концепцией API Сообщений, ключевые паттерны работы с очередями сообщений.
- Уметь организовывать взаимодействие между независимыми сервисами посредством очередей сообщений.
Expected Learning Outcomes
- Знание ключевых паттернов организации микросервисной архитектуры: API Gateway, Service Mesh, Message Queue, Event Sourcing.
- Умение принимать решения об архитектуре системы в зависимости от требований.
- Знание особенностей организации связи на основе протоколов TCP и UDP.
- Знание особенностей обеспечения безопасности СОА: технологии OAuth, JSON Web Token.
- Знание подходов к тестированию сервисов в микросервисной архитектуре.
- Уметь разрабатывать gRPC сервисы.
- Знание подходов к мониторингу и наблюдаемости сервисов.
Course Contents
- Введение в SOA.
- Микросервисная архитекутра.
- Границы сервисов и DDD.
- Cети TCP, UDP, HTTP и виды интеграций.
- Синхронные интеграции REST, gRPC, SOAP.
- Ассинхронные интеграции Kafka.
- Взаимодействие с БД в сервис-ориентированной архитектуре.
- Паттерны .
- Отказоустойчивость.
- Масштабирование.
- Развертывание системы.
- Docker и Kubernetes.
- Наблюдаемость и мониторинг.
- Тестирование в SOA.
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