Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Протокол SOAP





Итак, платформы на базе виртуальных машин стали ключевыми технологиями, обеспечивающими кроссплатформенность в гетерогенных системах. Однако проблему промежуточного программного обеспечения (middleware) они не решили. Не нашлось такой платформы, которая бы всех устроила в качестве единой базы. Думается, что некоторых влиятельных игроков на рынке не устраивала в этом смысле платформа чужой разработки. Вместе с тем индустрия (в частности, электронная коммерция) нуждалась в промежуточном обеспечении все сильнее и сильнее.

Microsoft, видя бесперспективность своей технологии DCOM, не собиралась оставлять конкурентам рынок электронной коммерции. Вместо развития DCOM Microsoft перевела противостояние в иную плоскость, выпустив в 1999 г спецификацию протокола SOAP (Simple Object Access Protocol). Если раньше технологии DCOM, CORBA и RMI конкурировали между собой, стремясь вытеснить одна другую, то SOAP представляет собой как бы связующий язык для их взаимодействия (рис. 6).

  SOAP
SOAP- процессор
SOAP- процессор
Приложения на технологии CORBA
Приложения на технологии Java EE

Рис.   Взаимодействие систем посредством протокола SOAP

По своей сути протокол SOAP специфицирует формат сообщений между узлами распределенной гетерогенной системы. Большинство преимуществ SOAP вытекает из его ориентированности на Интернет. Это означает, что SOAP будет работать поверх хорошо зарекомендовавшей себя, глобально распространенной инфраструктуры. Кроме того, любой современный компьютер независимо от используемой платформы может иметь доступ во Всемирную паутину, поддерживает интернет-протоколы, располагает браузерами и пр. Такой компьютер уже обладает всем необходимым для использования SOAP.

SOAP использует текстовый формат сообщений с целью более простой совместимости разных платформ. Эта же идея с успехом используется в Интернет, в частности, в HTML (Hyper Text Markup Language – язык разметки гипертекста). Кроме того, SOAP реализован на базе расширяемого языка разметки XML (Extensible Markup Language), который приобрел большую популярность в конце 1990‑х, а главное – XML рекомендован Консорциумом Всемирной паутины W3C (World Wide Web Consortium).

XML позволяет представлять данные в структурированном виде, например, в виде списков, деревьев (вложенных папок) и пр. Аналогичные структуры данных широко используются в современных языках программирования, поэтому легко трансформируются (отображаются) в XML и обратно. Ниже приводится пример простого SOAP-запроса стоимости некоторого продукта с идентификатором 75:

<soap:Envelope

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

xmlns:xsd ="http://www.w3.org/2001/XMLSchema"

xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance">

<soap:Body>

<GetPrice xmlns="http://www.somesite.com/">

<ItemID xsi:type = "xsd:int" >75 </ItemID>

<Currency xsi:type = "xsd:string">USD</Currency>

</GetPrice>

</soap:Body>

</soap:Envelope>

 

Как показано в примере, SOAP-сообщение представляет собой стандартное обрамление (конверт, обвертку) с тегами Envelope/Body, внутри которых передаются пользовательские данные (теги GetPrice, ItemID, Currency), тип и структура которых определяется конкретным приложением.

До появления SOAP распределенные приложения обменивались между собой данными через Интернет, упаковывая их в HTML-формы или в параметры URL (Uniform Resource Locator – унифицированный указатель информационного ресурса), например:

http://www.google.com/search?q=Baas+thesis&btnG=Google+Search

 

Поскольку HTML/URL не предоставляют механизмов для четкой структуризации и типизации данных, то семантику и значение данных приходилось извлекать, расшифровывая HTML/URL текст нестандартным способом. Если, например, сервер поменяет разметку HTML-страницы, то это непредсказуемым образом может сказаться на клиентах, расшифровывающих данную страницу. Предоставляя недостающие механизмы, протокол SOAP решает указанную проблему.

Еще одним преимуществом SOAP является его расширяемость, которая следует из расширяемости XML. Данное свойство позволяет посредникам (компьютерам через которые передается запрос) обрабатывать часть SOAP-сообщения или добавлять к нему дополнительные данные, что позволяет производить последовательную и асинхронную обработку сообщения несколькими серверами. Не меньшее значение имеет возможность наращивать в будущем протокол SOAP новыми конструкциями. Расширяемость также позволяет создавать шаблоны пользовательских сообщений с четкой структурой, типами данных и накладываемыми на них ограничениями (используя механизм т.н. XML-схем).

SOAP сообщения могут передаваться поверх любого протокола прикладного уровня: HTTP, FTP, SMTP и др. На практике чаще всего используется привязка к самому распространенному в Интернете транспортному протоколу HTTP. При этом не требуется открытия дополнительных портов компьютера или предприятия (что когда-то считалось преимуществом).

Приведенный неполный перечень преимуществ SOAP способствовал тому, что данный протокол очень быстро был одобрен крупнейшими софтверными фирмами (в том числе и непримиримыми конкурентами) и рекомендован консорциумом W3C для использования в Интернет.

Протокол SOAP является типичным декомпозирующим слоем (уровнем косвенности), увязывающим несовместимые технологии.

SOAP имеет и свои недостатки. В частности, текстовый формат сообщений существенно увеличивает поток передаваемой информации (трафик) по сравнению с данными в двоичном представлении. По некоторым оценкам трафик увеличивается приблизительно на порядок.

Date: 2015-09-24; view: 571; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию