• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Bachelor 2024/2025

Service-Oriented Architectures

Area of studies: Applied Mathematics and Information Science
When: 3 year, 3, 4 module
Mode of studies: distance learning
Online hours: 20
Open to: students of one campus
Instructors: Denis Sin
Language: English
ECTS credits: 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