Веб-сервисы

Специальность / Speciality: 1-31 03 08 Математика и информационные технологии / Mathematics and Information Technology

Направление / Direction: 1-31 03 08-01 Веб-программирование и интернет-технологии / Web Development and Internet Technologies

Учебная дисциплина, модуль / Academic discipline, module: Веб-сервисы / Web services

 

Краткое содержание учебной дисциплины, модуля / Brief summary

Введение. Знакомство и обзор веб-сервисов и их роли в современных распределенных системах. Основные концепции и технологии, такие как SOAP и REST. 

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

XML и JSON, преобразование данных и схемы. Работа с XML и JSON. Преобразование данных между XML и JSON.

Изучение JSON Schema для описания и валидации структуры JSON. Сериализации и десериализации данных. Использование API для работы с большими объемами данных в формате XML/JSON.

Проектирование и документирование API. Проектирование API с учетом лучших практик и стандартов. Использование спецификаций OpenAPI/Swagger для документирования API.

Тестирование API(юнит, интеграционные тесты), оптимизация производительности. Методы тестирования веб-сервисов, включая юнит-тесты для отдельных компонентов и интеграционные тесты для проверки взаимодействия между различными сервисами. Применение инструментов и подходов для повышения производительности веб-сервисов. 

Введение в облачные технологии. GraphQL. Websockets. Основы работы с облачными платформами, облачными вычислениями, предоставляя обзор платформ и инструментов, таких как AWS, Azure и Yandex Cloud. Использование GraphQL для оптимизации запросов к серверу и WebSockets для обеспечения двусторонней связи в реальном времени между клиентом и сервером.

Introduction. An introduction and overview of web services and their role in modern distributed systems. Basic concepts and technologies such as SOAP and REST.

Principles of REST and microservice architectures. Consideration and implementation of the REST architectural style, with its limitations and advantages. Consider and implement microservices as a way to build modular and easily scalable applications.

XML and JSON, data transformation and schemas. Working with XML and JSON. Convert data between XML and JSON.

Learn JSON Schema to describe and validate JSON structure. Serialization and deserialization of data. Using APIs to work with large amounts of data in XML/JSON format.

API design and documentation. API design based on best practices and standards. Using OpenAPI/Swagger specifications to document APIs.

API testing (unit, integration tests), performance optimization. Web service testing techniques, including unit tests for individual components and integration tests to test interactions between different services. Applying tools and approaches to improve the performance of web services.

Introduction to cloud technologies. GraphQL. Websockets. Fundamentals of working with cloud platforms, cloud computing, providing an overview of platforms and tools such as AWS, Azure and Yandex Cloud. Used GraphQL to optimize requests to the server and WebSockets to enable real-time two-way communication between client and server.

Формируемые компетенции / The formed competences

Специализированная компетенция:

Понимание ключевых аспектов веб-сервисов, включая их архитектуру, протоколы и стандарты. Проектирование и реализация масштабируемых и эффективных RESTful интерфейсов и микросервисов. Тестирование веб-сервисов на различных уровнях (юнит и интеграционные тесты). Понимание работы с облачными платформами, а также с GraphQL и WebSockets.

Specialized competence:

Understanding of key aspects of web services, including their architecture, protocols and standards. Design and implement scalable and efficient RESTful interfaces and microservices. Testing web services at various levels (unit and integration tests). Understanding of working with cloud platforms, as well as GraphQL and WebSockets.

Результаты обучения (знать, уметь, владеть) / Learning outcomes (know, can, be able)

В результате освоения учебной дисциплины студент должен знать:

 – Ключевые концепции веб-сервисов

 – Концепции REST-архитектуры

 – Концепции микросервисной архитектуры 

 – Методы тестирования API

 – Документирование и проектирование API

 – Основы облачных технологий 

 – GraphQL и WebSockets 

уметь:

 – Проектировать и разрабатывать RESTful API 

 – Проектировать и разрабатывать микросервисы

 – Проводить тестирование веб-сервисов на различных уровнях

 – Оптимизировать производительность веб-сервисов

владеть: 

 – Навыками работы с облачными сервисами

 – Навыками работы с технологией WebSockets

 – Навыками для эффективного управления данными и обеспечения высокой производительности веб-приложений.

As a result of mastering the academic

discipline, the student must:

know:

 – Key concepts of web services

 – REST architecture concepts

 – Microservice architecture concepts

 – API testing methods

 – API documentation and design

 – Fundamentals of cloud technologies

 – GraphQL and WebSockets

can:

 – Design and develop RESTful API

 – Design and develop microservices

 – Conduct testing of web services at various levels

 – Optimize web services performance

be able to:

 – Skills in working with cloud services

 – Skills in working with WebSockets technology

 – Skills for effective data management and ensuring high performance of web applications.

Семестр изучения учебной дисциплины, модуля / Semester of study

7

7

Пререквизиты / Prerequisites

Разработка Веб-приложений 

Основы облачных технологий 

Тестирование ПО

Development Web Application

Cloud Basics

Software testing

Трудоемкость в зачетных единицах (кредитах) / Credit units

1 зачетная единица

1 credit unit

Количество аудиторных часов и часов самостоятельной работы / Academic hour of students’ class work, 

hours of self-directed learning

Всего 90 часов, из них 54 аудиторных часа и 36 часов самостоятельной работы.

A total of 90 hours, of which 54 academic

hours of students’ class work and 36 hours

of self-directed learning.

Требования и формы текущей и промежуточной аттестации / Requirements and forms of current and interim certification

Опрос, письменный отчет с устной защитой по лабораторной работе, письменный отчет с устной защитой по домашнему заданию, письменный отчет с устной защитой по решению лабораторных работ.

Экзамен.

Survey, written report with oral defense on laboratory work, written report with oral defense on homework, written report with oral defense on laboratory work solutions.

Exam.