Service-Oriented Architecture
Service-Oriented Architecture:
Please enter your variant number to get your task text.
Вопросы к защите лабораторной работы:
- Подходы к проектированию приложений. "Монолитная" и сервис-ориентированная архитектура.
- Понятие сервиса. Общие свойства сервисов.
- Основные принципы SOA. Подходы к реализации SOA, стандарты и протоколы.
- Общие принципы построения и элементы сервис-ориентированных систем.
- Понятие веб-сервиса. Определение, особенности, отличия от веб-приложений.
- Категоризация веб-сервисов. RESTful и SOAP. Сходства и отличия, области применения.
- RESTful веб-сервисы. Особенности подхода. Понятия ресурса, URI и полезной нагрузки (payload).
- Виды RESTful-сервисов. Интерпретация методов HTTP в RESTful.
- Правила именования ресурсов в RESTful сервисах.
- Спецификация RESTful-сервисов. Стандарт OpenAPI.
- Автодокументирование RESTful-сервисов. Swagger Editor, Swagger UI (и Swagger Codegen).
- Архитектурный принцип HATEOAS.
Please enter your variant number to get your task text.
Вопросы к защите лабораторной работы:
- Разработка RESTful сервисов. Языки программирования, фреймворки и библиотеки.
- RESTful сервисы на платформе Java EE. Технология JAX-RS.
- Основные и вспомогательные аннотации JAX-RS.
- Описание ресурсов в JAX-RS.
- Разработка RESTful веб-сервисов на платформе Spring.
- Технология Spring Web MVC REST. Отношение к Spring Web MVC, сходства и отличия от JAX-RS.
- Элементы архитектуры Spring Web MVC: Dispatcher Servlet, Handler Mapping, View Resolver.
- Аннотации Spring Web MVC.
- Сериализация / десериализация данных в Spring Web MVC REST.
- Технология Spring Data REST. Преимущества и недостатки относительно JAX-RS и Spring Web MVC REST.
- Spring Data REST: стратегии экспорта репозиториев, типы ресурсов, автоматическое описание сервисов.
- Интеграция веб-сервисов. Настройка защищённого соединения между узлами. Основы криптографии.
- TLS & SSL. Основные термины.
- Симметричное и асимметричное шифрование. Приватный и публичный ключи, сертификаты. Генерация сертификатов.
- Доверенные центры сертификации. Иерархия сертификатов, самоподписанные сертификаты.
- Настройка защищённого соединения в Java. Доверенные узлы, хранилища сертификатов.
- Keystore & Truststore. Утилита keytool.
Please enter your variant number to get your task text.
Вопросы к защите лабораторной работы:
- Микросервисная архитектура. Особенности реализации. Сходства и отличия от "обычной" СОА.
- Разработка сервисов в микросервисной архитектуре. Стандарты и технологии. Принципы декомпозиции приложений на микросервисы.
- Масштабируемость микросервисных приложений. Балансировщики нагрузки.
- Концепция Service Discovery. Подходы и технологические решения.
- Consul. Установка и конфигурация. Регистрация сервисов.
- Разработка микросервисов на Java EE. Реализация Service Discovery и балансировки нагрузки.
- Разработка микросервисов на Spring. Интеграция с балансировщиками нагрузки и провайдерами Serviсе Discovery.
- Spring Cloud. Особенности, отличия от "голого" Spring Boot. Spring Cloud Netflix.
Please enter your variant number to get your task text.
Вопросы к защите лабораторной работы:
- Протокол SOAP. Особенности, отличия от REST, преимущества и недостатки.
- Дескрипторы сервисов на SOAP. Формат WSDL.
- Реестры сервисов. UDDI.
- Сервисные шины. Назначение, протоколы, особенности работы. Отличия, достоинства и недостатки относительно микросервисной архитектуры и инфраструктурного ПО для неё.
- Mule ESB. Установка, конфигурация, поддерживаемые протоколы.
- Реализация взаимодействия веб-сервисов через Mule ESB.