🔬
Business-system analyst roadmap
  • Roadmap
  • Бизнес-системные аналитики
  • От автора
  • Будущее профессии бизнес и системного аналитика: вызовы, тренды и компетенции будущего
  • Глобальные тенденции занятости IT аналитиков (2025–2030)
  • Базовые знания
    • Гибкие навыки (Soft skills)
      • Анализ (Analysis)
      • Логическое мышление (Logics)
      • Креативность (Creativity)
      • Критическое мышление (Critical thinking)
      • Аналитическое мышление (Analytical thinking)
      • Системное мышление (Systems thinking)
      • Быстрая адаптация (Fast adaptation)
      • Язык и грамматика (Language and literacy)
      • Навыки коммуникации (Сommunication skills)
      • Предметные области (Domain knowledge)
      • Память (Memory)
      • Демонстрации (Demo)
      • Интервью (Interview)
    • Требования (Requirements)
      • Уровни и типы требований
        • Пример: «Создание быстрого заказа»
      • Разработка и управление требований
      • Документирование требований
      • Методы сбора требований
    • Проектирование (Engineering/Design)
      • UX/UI
      • Инструменты проектирования
    • Процесс (Process)
      • Управление и оптимизация бизнес процесса
      • Моделирование процессов
      • Описание процессов
      • Система управления процессами (BPM)
    • Нотации (Notations)
      • UML
      • BPMN
      • ERD
      • Flowchart
      • EPC
      • DFD
    • Документирование (Documentation)
      • Системы управления знаниями (Knowledge Management Systems)
      • Системы контроля версий (Version Control Systems, VCS)
      • requirements‑as‑code
    • Управление продуктом (Product managment)
    • Жизненный цикл программного продукта (Product Development Life Cycle)
      • Методологии разработки программного продукта
    • UX/UI
      • Подробнее о UX/UI
  • Технические навыки
    • Работа с данными (Work with Data)
      • Модель данных
      • Базы данных
        • Реляционные базы данных(Relational Databases)
          • SQL
        • NoSQL databases
        • Графовые базы данных (Graph Databases)
        • Документоориентированные базы данных (Document Databases)
        • Колоночные базы данных (Columnar Databases)
      • ETL
      • Файловое хранилище (File storage)
      • Визуализация данных (Data visualization)
      • Форматы данных (Data formats)
    • Компьютерные сети (Internet)
      • Как работает интернет (How does the internet work)
      • Модели OSI/ISO и TCP/IP
      • HTTP/HTTPS
      • DNS
      • Browser
      • Домены и URI (Domain and URI)
      • Хостинг
    • Разработка (Development)
      • GIT (VCS)
      • Backend
      • Frontend
    • API & Интеграции (API & Integration)
      • Synchronicity / Asynchrony
      • REST
      • SOAP
      • gRPC
      • GraphQL
      • WebSocket
      • Authentication
      • Open API
      • Message broker
      • Contract first / Code first
      • System Integration Patterns
    • Архитектура (Architecture)
      • Serverless
      • Microservices
      • Client/Server
      • Layered
      • Паттерны проектирования (Design patterns)
      • DDD
Powered by GitBook
On this page
  1. Технические навыки
  2. API & Интеграции (API & Integration)

REST

REST (Representational State Transfer) - это архитектурный стиль, используемый при разработке распределенных систем, веб-сервисов и API (Application Programming Interface). Он определяет набор принципов и ограничений для создания масштабируемых, гибких и легко поддерживаемых систем.

Основные принципы REST:

  1. Клиент-серверная архитектура: В REST-архитектуре существует четкое разделение между клиентом (который инициирует запросы) и сервером (который предоставляет ресурсы и обрабатывает запросы). Это позволяет независимо изменять и развивать обе стороны без влияния на другую.

  2. Без состояния (Stateless): Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для обработки этого запроса. Сервер не хранит информацию о состоянии клиента между запросами. Это позволяет легко масштабировать серверную часть, так как каждый запрос обрабатывается независимо.

  3. Кэширование: REST поддерживает механизм кэширования, позволяющий клиентам сохранять локальные копии ответов сервера. Это улучшает производительность, снижает нагрузку на сервер и улучшает пользовательский опыт.

  4. Единообразие интерфейса: REST определяет универсальный интерфейс, состоящий из четырех основных методов HTTP: GET (получение ресурса), POST (создание нового ресурса), PUT (обновление ресурса) и DELETE (удаление ресурса). Эти методы позволяют управлять ресурсами на сервере.

  5. Слои: REST позволяет использовать промежуточные слои (например, прокси-серверы или кэши), которые могут улучшать безопасность, масштабируемость и производительность системы.

RESTful API (RESTful Application Programming Interface) - это API, разработанное с использованием принципов REST. Оно предоставляет доступ к ресурсам и операциям через стандартные методы HTTP. RESTful API широко используется в веб-разработке для создания взаимодействия между клиентскими приложениями и серверами, обмена данными и выполнения операций над ресурсами.

Различия между REST и SOAP

Любимый вопрос на многих собеседованиях

Во-первых SOAP - это протокол, а REST - архитектурный стиль.

Лучше сравнивать реализации:

SOAP: XML поверх SOAP через HTTP

RESTful: JSON через HTTP

Основные отличия:

  • SOAP представляет собой более формализованный и структурированный подход, основанный на использовании XML для обмена сообщениями. REST, с другой стороны, основывается на принципах архитектуры веба, таких как использование URL и HTTP-методов, и обычно использует форматы данных, такие как JSON или XML.

  • REST считается более простым и легковесным, поскольку он не требует сложных структур и форматов сообщений, как в случае с SOAP. REST предоставляет гибкость в выборе формата данных и протокола передачи, так как он может использовать различные HTTP-методы и поддерживает различные форматы данных.

  • Протокол передачи: SOAP может использовать различные протоколы передачи данных, такие как HTTP, SMTP и другие, в то время как REST обычно полагается на протокол HTTP и его методы (GET, POST, PUT, DELETE) для обмена данными.

  • Модель без состояния: RESTful архитектура является без состояния (stateless), что означает, что каждый запрос от клиента содержит всю необходимую информацию для его обработки. SOAP, с другой стороны, может использовать состояние и сохранять контекст между запросами.

  • Описание интерфейса: В SOAP использование языка описания веб-службы (WSDL) является обязательным для описания доступных операций и форматов сообщений. В REST описание интерфейса не является обязательным, хотя может использоваться форматы, такие как OpenAPI (ранее известный как Swagger) для документации API.

Посетите следующие ресурсы, чтобы узнать больше:

PreviousSynchronicity / AsynchronyNextSOAP

Last updated 1 year ago

Введение в REST API за 7 минут
Различия REST и SOAP за 4 минуты
Что такое REST API? (Видео. Англоязычное)