Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
полный ответ по веб сервис.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
324 Кб
Скачать
☆

29.Soap хаттамасы

SOAP (от англ. Simple Object Access Protocol — простой протокол доступа к объектам; вплоть до спецификации 1.2) —протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная спецификацияпоследней версии 1.2 протокола никак не расшифровывает название SOAP. SOAP является расширением протоколаXML-RPC.

SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP, HTTPS и др. Однако его взаимодействие с каждым из этих протоколов имеет свои особенности, которые должны быть определены отдельно. Чаще всего SOAP используется поверх HTTP.

SOAP является одним из стандартов, на которых базируются технологии веб-служб.

Структура протокола[править | править вики-текст]

Сообщение SOAP выглядит так:

SOAP-конверт

Пример[править | править вики-текст]

Пример SOAP-запроса на сервер интернет-магазина:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<getProductDetails xmlns="http://warehouse.example.com/ws">

<productID>12345</productID>

</getProductDetails>

</soap:Body>

</soap:Envelope>

Пример ответа:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Body>

<getProductDetailsResponse xmlns="http://warehouse.example.com/ws">

<getProductDetailsResult>

<productID>12345</productID>

<productName>Стакан граненый</productName>

<description>Стакан граненый. 250 мл.</description>

<price>9.95</price>

<currency>

<code>840</code>

<alpha3>USD</alpha3>

<sign>$</sign>

<name>US dollar</name>

<accuracy>2</accuracy>

</currency>

<inStock>true</inStock>

</getProductDetailsResult>

</getProductDetailsResponse>

</soap:Body>

</soap:Envelope>

Недостатки[править | править вики-текст]

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

  • Хотя SOAP является стандартом, некоторые программы часто генерируют сообщения в несовместимом формате. Например, запрос, сгенерированныйAXIS-клиентом, не будет понят сервером WebLogic.

30.SOA бағдарламасы

Се́рвис-ориенти́рованная архитекту́ра (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных(англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.

Программные комплексы, разработанные в соответствии с сервис-ориентированной архитектурой, обычно реализуются как набор веб-служб, взаимодействующих по протоколу SOAP, но существуют и другие реализации (например, на базе jini, CORBA, на основе REST).

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

Преимущества использования SOA

Прежде чем, перечислить преимущества использования SOA, будет уместным напомнить, что преимущества бывают разные: стратегические и тактические. SOA обладает рядом достоинств как стратегических, так и тактических.

Стратегическая ценность SOA:

  • Сокращение времени реализации проектов, или "времени выхода на рынок".

  • Повышение производительности.

  • Более быстрая и менее дорогая интеграция приложений и интеграция B2B - остановимся более подробно на данном пункте.

Известно, что реализация традиционных решений для интеграции прикладных программ - непростая задача, требующая существенных капиталовложений. Кроме того, часто при внедрение необходимо написание программного кода. SOA предусматривает размещение сервисов в сети в режиме исполнения, т.е. позволяет автоматизировать эти ресурсоемкие процессы, благодаря чему существенно сокращаются все расходы на интеграцию.

Тактические преимущества SOA:

  • Более простые разработка и внедрение приложений.

  • Использование текущих инвестиций.

  • Уменьшение риска, связанного с внедрением проектов в области автоматизацией услуг и процессов.

  • Возможность непрерывного улучшения предоставляемой услуги.

  • Сокращение числа обращений за технической поддерж