Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач / 1302_3_Курсовая.docx
Скачиваний:
0
Добавлен:
27.12.2025
Размер:
533.61 Кб
Скачать

1. Теоретические основы и архитектурные принципы Web-сервисов

Веб-сервис (Web Service) – это программная система, идентифицируемая строкой URI, чьи общедоступные интерфейсы определены на языке XML (или описаны иным способом), использующая эти интерфейсы для взаимодействия с другими программными системами посредством сообщений на базе XML (или JSON) через протоколы интернета.

В настоящее время доминирующими являются два подхода к построению веб-сервисов: протокол SOAP и архитектурный стиль REST. Понимание их фундаментальных различий необходимо для обоснованного выбора технологий при проектировании информационных систем.

1.1. Протокол soap и стандарты ws-*

SOAP (Simple Object Access Protocol) – это стандартизированный протокол обмена структурированными сообщениями в распределенной вычислительной среде. Первоначально разработанный Microsoft в 1998 году, сейчас он поддерживается консорциумом W3C [2].

Структура сообщения SOAP

В отличие от произвольных HTTP-запросов, SOAP строго регламентирует структуру каждого передаваемого пакета. Сообщение представляет собой XML-документ, состоящий из следующих элементов:

  1. Envelope (Конверт): Корневой элемент, который определяет XML-документ как сообщение SOAP.

  2. Header (Заголовок): Необязательный элемент, содержащий метаданные запроса, такие как токены аутентификации, информация о транзакциях или маршрутизации. Это позволяет отделять инфраструктурные данные от бизнес-данных.

  3. Body (Тело): Обязательный элемент, содержащий полезную нагрузку (payload) – данные запроса или ответа.

  4. Fault (Ошибка): Специальный элемент внутри Body, используемый для передачи информации об ошибках, возникших при обработке сообщения.

Язык описания WSDL

Неотъемлемой частью SOAP является WSDL (Web Services Description Language). Это XML-формат для описания сетевых сервисов как набора конечных точек (endpoints). WSDL выполняет роль строгого контракта между клиентом и сервером [3].

Структура WSDL включает:

  • Types: Определение типов данных (обычно через XSD – XML Schema Definition).

  • Message: Абстрактное определение передаваемых данных.

  • PortType: Абстрактный набор операций (интерфейс сервиса).

  • Binding: Привязка операций к конкретному протоколу (SOAP) и формату данных.

  • Service: Физический адрес сервиса (URL).

Семейство стандартов WS-*

Одним из главных преимуществ SOAP в корпоративной среде является поддержка расширений WS-* (WS-Security, WS-ReliableMessaging, WS-AtomicTransaction) [10]. Эти стандарты позволяют реализовать на уровне протокола такие функции, как:

  • Гарантированная доставка сообщений (даже при сбоях сети).

  • Сквозное шифрование и цифровая подпись сообщений.

  • Распределенные ACID-транзакции.

Рассмотрим ключевые спецификации WS-* подробнее, так как именно они являются решающим фактором выбора SOAP в банковской и государственной сферах:

  • WS-Security (WSS): Обеспечивает безопасность на уровне сообщения, а не транспортного канала. В отличие от HTTPS, который шифрует весь канал «трубу», WS-Security позволяет зашифровать только часть XML-документа или подписать его цифровой подписью. Это позволяет сообщению безопасно проходить через множество промежуточных узлов, сохраняя целостность и конфиденциальность payload-а.

  • WS-ReliableMessaging: Протокол гарантированной доставки. Он определяет механизм подтверждений (ACK) и повторных отправок, гарантируя, что сообщение будет доставлено получателю ровно один раз, в правильном порядке, даже при нестабильном сетевом соединении (например, при обрыве связи).

  • WS-AtomicTransaction: Позволяет координировать транзакции между несколькими разнородными сервисами. Поддерживает протокол двухфазной фиксации (Two-Phase Commit), гарантируя, что изменения будут применены либо во всех системах, участвующих в транзакции, либо ни в одной, обеспечивая соблюдение принципов ACID в распределенной среде.

Соседние файлы в папке курсач