Рис. 7. Воздействия на определение WSDL
WSDL обеспечивает языковые абстракции для определения интерфейсов Web-сервисов. В нем поддерживается идентификация типов портов (port-type), которые соответствуют модулям или типам в других IDL, идентификация операций и сигнатур операций. Обсудим теперь происхождение WSDL. Трассы воздействий, приведших к возникновению WSDL, показаны на рис. 7.
4.2. Web Services Description Language
Консорциумом World-Wide-Web было принято семейство спецификаций XML, включающее спецификации самого языка XML [ ], XML Schema [ ] и XPath [ ]. XML образует основу для SOAP, WSDL и BPEL. XML происходит из стандартизованного ISO языка SGML (Standardized General Markup Language) [ ]. SGML был определен той же группой, которая разрабатывала GML (General Markup Language) компании IBM [ ], работа над которым была начата в Кэмриджском научном центре IBM в MIT. В [ ] признается, что понятие процедурной разметки (procedural markup) было введено в работе [ ], посвященной системе обработки документов Scribe. Полностью система Scribe описывалась в [ ]. Центральной идеей GML, сохранившейся в SGML и XML, являлось строгое разделение аспектов содержания и представления. Разделение аспектов не является особым новшеством для специалистов по разработке программного обеспечения, и поэтому не удивительно, что Голдфарб использовал в [ ] в качестве практического примера применения GML технологический процесс подготовки учебника Клиффа Джонса ( ) по инженерии программного обеспечения [ ].
В SOAP используется XML [ ] для кодировки данных запросов и ответов, передаваемых между клиентом и сервером при обработке вызова Web-сервиса. В начале работы над SOAP язык для определения системы типов XML был не слишком хорошо развит. В частности, в XML отсутствовали язык определения схем и спецификация XML Schema, используемые в окончательном варианте SOAP для определения типов данных. Окончательная спецификация XML Schema появилась только в 2004 г. [ ]. Отсутствие языка определения схем для XML несколько задержало процесс стандартизации SOAP, и была быстро определена и принята промежуточная спецификация XML/RPC [ ]. В своем окончательном варианте SOAP поддерживает как вызовы в стиле RPC в соответствии с предложениями, изложенными в [ ], так и документально-литеральные вызовы, при выполнении которых передаются типизированные XML-сообщения, в которых кодируются данные запроса и ответа.
В настоящее время действует и широко используется спецификация SOAP 1.2, принятая в качестве рекомендации консорциума World-Wide-Web в июне 2003 г. Разработка SOAP началась в 1998 г., и с тех пор спецификация подвергалась ряду изменений. Эволюция спецификации SOAP засвидетельствована в [ ] первым автором исходной заметки по поводу SOAP, опубликованной World-Wide-Web. В этом отчете Дон Бокс, по существу, утверждает, что SOAP происходит непосредственно из ранних протоколов RPC, отмечая, что «мы посмотрели на существующие форматы сериализации (ASN.1 BER, NDR, XDR, CDR, JRMP) и протоколы RPC (GIOP/IIOP, DCE/DCOM, RMI, ONC) и постарались найти лакомый кусочек , который полностью бы удовлетворял нас в 80% случаев и мог бы быть как-то применен в оставшихся 20% случаев». Таким образом, Бокс утверждает, что SOAP был создан под влиянием и на основе технологий вызовов удаленных процедур и распределенных объектов. В разд. 7 и 8 мы обсудим происхождение этих технологий.
SOAP часто реализуется в Web-сервере или Web-контейнере, к числу которых относятся и Microsoft IIS ( ). Серверы приложений, обеспечивающие прямую поддержку SOAP, включают BEA Web Logic Server, , , и Microsoft BizTalk Server. Инструментарий для обработки SOAP-сообщений включает инструментальный комплект Apache, доступный на Java и C++, и . Имеется также несколько SOAP-процессоров с открытым кодом, реализованных на языках Perl, PHP и Ruby.
Рис. 6. Воздействия на определение SOAP
SOAP это стандартный формат сообщений, основанный на eXtensible Markup Language (XML). SOAP обеспечивает механизм для представления вызова объекта и его результата в XML-сообщениях, которые затем передаются с использованием основного сетевого транспортного протокола, такого как HTTP или SMTP. Таким образом, SOAP является независимым от транспортных протоколов. SOAP поддерживает два стиля передачи сообщений: RPC и документально-литеральный. На рис. 6 показаны трассы воздействий, которые привели к определению SOAP.
4.1. Simple Object Access Protocol
Web-сервисы теперь реализуются во всех продуктах серверов приложений, включая , компании BEA, компании IBM, , и различные другие продукты категории open source. Результирующее воздействие Web-сервисов является гигантским. По данным компании Forrester Research, около 50% крупных предприятий уже использует SOA или будет использовать ее до конца 2006 г. [ ]. Следует заметить, что технологии Web-сервисов являются не только вычислительной платформой. Они начинают изменять бизнес-модель программного обеспечения от ориентации на продажу программного обеспечения на ориентацию на продажу услуг через Web, а также и способ развития бизнеса. Поэтому воздействие Web-сервисов и SOA выходит за пределы [ , ]. Обсудим теперь происхождение основных спецификаций, образующих основу технологии Web-сервисов.
Появление в 2000 г. технологий SOAP и WSDL немедленно вызвало энтузиазм. Однако, поскольку по своей природе они являлись платформенными технологиями, потребовалось несколько лет для разработки вспомогательных технологий, таких как объемистые спецификации Service Security [ ], а также для получения технической зрелости и опыта для разработки распределенных приложений с использованием Web-сервисов. Современные Web-сервисы обеспечивают универсальную и общепринятую инфраструктуру для построения распределенных систем. Такая инфраструктура является незаменимой для межкорпоративной интеграции приложений.
Ключевыми технологиями, лежащими в основе любых Web-сервисов, являются Simple Object Access Protocol (SOAP) [ , ], Web Services Description Language (WSDL) [ , ] и Business Process Execution Language (BPEL) [ ]. На этих технологиях основываются большинство корпоративных сервис-ориентированных архитектур. Отследим происхождение этих технологий промежуточного программного обеспечения, но сначала кратко охарактеризуем их актуальность.
Со времени своего возникновения в 2000 г. технологии Web-сервисов развивались с удивительной скоростью. Ряд спецификаций, относящихся к Web-сервисам и сервис-ориентированным архитектурам (Service Oriented Architecture, SOA), уже стандартизован, и еще большее число спецификаций находится в стадии разработки. Поскольку Web-сервисы это платформенная технология, они оказывают гигантское влияние на практику разработки программного обеспечения. Хорошее введение в технологию Web-сервисов обеспечивается в [ ].
4. Промежуточное программное обеспечение для сервис-ориентированного компьютинга
Перевод: Сергей Кузнецов
Вольфганг Эммерих, Микио Аояма, Джо Свентек
Влияние исследований на технологию промежуточного программного обеспечения
Море(!) аналитической информации!
Влияние исследований на технологию промежуточного программного обеспечения
Комментариев нет:
Отправить комментарий