Веб-сервисы как основа деловых отношений
31.03.08"Телеком. Коммуникации и сети" 3/2008, с. 56
Новое поколение веб-сервисов сегодня успешно сменяет традиционные интернет-приложения. Такие сервисы удобны для поддержания долговременных потоков бизнес-процессов при относительно небольших затратах. Лучше всего данная концепция подходит для интеграции несовместимых программных доменов и связи разнородных технологий, но не предназначена для высокопроизводительных приложений.
На уровне идеи
Основная идея технологии вычислений, основанной на веб-сервисах, заключается в том, чтобы упростить доступ пользователей к программам через Интернет. В ее основе лежат стандарты, открытые протоколы обмена и передачи данных. А в ее разработке участвуют такие гиганты компьютерной индустрии, как Sun Microsystems, Oracle, Hewlett-Packard, Microsoft и IBM.
Построение новых корпоративных решений с применением веб-сервисов реализуется быстрее и дешевле. Ведь основное внимание сосредотачивается на создании бизнес-логики решения, а программирование самих веб-сервисов лишь по необходимости дополняет этот процесс, не требуя больших трудозатрат (за счет эффективного применения повторно используемого кода и адаптированных средств разработки).
Веб-сервис обеспечивает уровень абстрагирования над существующими программными системами, такими как серверы приложений. В общем случае он представляет собой ресурс, реализующий некоторую бизнес-функцию и обладающий следующими свойствами:
-допускает повторное использование;
-определяется одним или несколькими явными технологически независимыми интерфейсами;
-слабо связан с другими подобными ресурсами и может быть вызван посредством коммуникационных протоколов, обеспечивающих возможность взаимодействия ресурсов между собой.
Веб-сервисы пригодны для В2В-интеграции, замыкая приложения, выполняемые различными организациями, в один производственный процесс. Они также могут решать более широкую проблему интеграции приложений (Enterprise Application Integration, EAI), осуществляя связь нескольких приложений предприятия с рядом других приложений, размещенных в домене виртуальной частной сети (VPN). Во всех этих случаях технологии веб-сервисов являются связующим звеном, объединяющим различные части программного обеспечения.
С точки зрения потребителя, веб-сервис — это замкнутое модульное приложение, которое может быть описано, опубликовано, размещено и вызвано в сети (в общем случае в World Wide Web). Веб-сервис во многом похож на функцию в процедурном программировании: она также имеет имя и параметры, а следствием обращения к нему является определенный результат.
Именем является Uniform Resource Identifier (URI — унифицированный идентификатор ресурса), который провайдер веб-службы использует для того, чтобы сервис стал доступен как конечная точка. URI конечной точки является для провайдера адресом, по которому находится и вызывается веб-сервис. При этом в запросе указаны: действие, которое надо выполнить, и параметры, которые потребитель передает сервису при его вызове. После выполнения сервиса конечная точка передает ответ обратно потребителю, в котором сообщается об успешном выполнении или об ошибке и содержится результат работы сервиса.
Выгодные отличия
Далее перечислены основные преимущества для предприятий при использовании рассматриваемой идеологиии:
-веб-сервисы обеспечивают компании интеграцию собственных бизнес-процессов с бизнес-процессами партнеров и клиентов при меньшей стоимости, нежели с использованием иных интеграционных технологий. Стоимость подобных решений на основе веб-сервисов доступна даже для малых и средних предприятий;
-веб-сервисы, организованные в публичные реестры, доступные заинтересованным лицам по всему миру, облегчают выход компаний на новые рынки и увеличивают возможности для наращивания клиентской базы;
-веб-сервисы обеспечивают преемственность используемых в компании информационных систем и позволяют сохранить сделанные ранее инвестиции в ИТ-инфраструктуру.
Принципы, лежащие в основе веб-сервисов, очень просты:
-лицо, ответственное за сервис, определяет формат запросов к нему и получаемых от него ответов;
-любой компьютер, подключенный к Интернету, может запросить веб-сервис;
-сервис обрабатывает запрос, выполняет какое-либо действие, а затем отправляет ответ пользователю.
В самом простом случае инициатор запроса к сервису отсылает HTTP-запрос сервис-провайдеру. HTTP-запрос оформляется в формате XML, а запрос сервиса оформляется в XML-строке, в формате WSDL-сервиса. После получения запроса сервис отвечает на него, посылая XML-строку в HTTP-ответе. Весь процесс выполняется в режиме HTTP-запросов и ответов. Единственная разница в том, что запрос и ответ оформляются в XML-строках.
Отличием веб-сервисов от других подходов к интеграции являет-ся тот факт, что потребитель может динамически связываться с его провайдером. Типичные примеры веб-сервисов: набор программ в www.amazon.com, с помощью которых пользователи могут заказать книги; программы в www.ual.com, позволяющие определить расписание полетов.
Такие промышленные лидеры, как, например, IBM, Microsoft, Hewlett-Pаckаrd и Sun Microsystems, быстро развивают инфраструктуру распределенных вычислений (в частности, .NET, WebSphere, Web Service Platform и Java 2 Platform Enterprise Edition). Рабочая группа «Web servіces» консорциума W3C рассматривает веб-сервис как программу, которая идентифицируется по URІ, интерфейс которой может быть определен в виде XML-конструкций. Интерфейс сервиса описывается на языке, читаемом машиной. Другие системы взаимодействуют с веб-сервисом способом, указанным в его описании.
Потребитель может вызвать сервис синхронно либо асинхронно. С точки зрения потребителя различие заключается в следующем:
Синхронный способ. Потребитель использует один поток для вызова сервиса; поток передает запрос, блокируется на время выполнения службы и ждет ответа.
Асинхронный способ. Потребитель использует два потока для вызова сервиса: один — для передачи запроса, второй — для приема ответа.
Стандарты веб-сервисов
С веб-сервисами связано множество технологий и стандартов. Сама концепция возникла в конце 90-х годов XX века. К настоящему моменту архитектура, которую она предлагает, стала отраслевым стандартом в сфере ИТ. Говоря о веб-сервисах, сегодня обычно подразумевают решения, основанные на следующих трех стандартах:
-SOAP (Simple Object Access Protocol);
-UDDI (Universal Description, Discovery and Integration);
-WSDL (Web Service Definition Language).
На сегодняшний день разработаны языки моделирования бизнес-процессов, такие как XLANG, WSFL (Web Services Flow Language) и более поздний BPEL4WS (Business Process Execution Language for Web Services), однако все они описывают контент веб-сервисов в терминах синтаксиса XML без определения семантики. Другие значимые стандарты и технологии представлены следующими организациями:
-OASIS — обработка входящих в ebXML спецификаций и другие предложения XML, такие как ВТР, SAML, UDDI и WS-Security;
-RosettaNet — концепции веб-сервисов, разрабатываемых группой производителей электроники для осуществления взаимодействия типа В2В через Интернет;
-USERLand — разработчик XML-RPC (предшественника SOAP);
-OAGI (Open Applications Group) — определение канонических форматов XML-документа для коммерции и промышленности.
Работа подобных групп зачастую концентрировалась на содействии принятию XML для специальных коммерческих целей, таких как использование базовых стандартов для определения форматов документов и протоколов, которые должны использоваться в электронной промышленности, финансовой сфере, здравоохранении и других областях. Поскольку веб-сервисы основаны на языке XML, весьма значимой становится деятельность организаций, занимающихся стандартизацией XML-технологий. Результатом этой работы являются ВТР и SAML, появившиеся в ходе развития веб-сервисов и ставшие кандидатами на утверждение консорциумом W3C.
Веб-сервисы используют XML для обмена данными между приложениями вне зависимости от их операционной системы, аппаратной платформы и разработчика.
Основываясь на вышесказанном, введем новое определение. Веб-сервисы — это XML-приложения, осуществляющие связывание данных с программами, объектами, базами данных либо с деловыми операциями целиком. Между веб-сервисом и программой осуществляется обмен ХМL-документами, оформленными в виде сообщений. Стандарты веб-сервисов определяют формат таких сообщений, интерфейс, которому передается сообщение, правила привязки содержания сообщения к приложению, реализующему сервис, и обратно, а также механизмы публикации и поиска интерфейсов.
Интерфейсы веб-сервисов получают из сетевой среды стандартные XML-coобщения, преобразуют XML-данные в формат, понимаемый конкретной прикладной программной системой, и отправляют ответное сообщение. Программная реализация веб-сервисов (базовое программное обеспечение, нижний уровень) может быть создана на любом языке программирования с использованием любой операционной системы и любого связующего программного обеспечения (middleware).
Многие спецификации связаны между собой: например, XML Base и XML Namespaces добавлены непосредственно как дополнение к XML v1.0. Большинство из этих спецификаций находится в процессе развития.
К сожалению, XML не достает как четко определенной семантики, так и достаточной выразительной мощности для того, чтобы реализовать представление о разнообразных веб-сервисах с подходящей степенью интероперабельности. Реальная интероперабельность между сервисами, которые не разрабатывались для того, чтобы работать вместе, требует программы, обеспечивающие описания их собственных возможностей и понимание возможностей других сервисов. Они должны сообщить основные свойства документов и запросов, которыми обмениваются, а также побочные эффекты, связанные с выполнением запросов. Кроме того, они должны быть способными понимать эти характеристики других сервисов. Чтобы реализовать данный подход, необходимо описать веб-содержимое, в частности контент веб-сервисов и их функционал, на языке, возможности которого превосходят XML.
XML-технологии и стандарты могут использоваться промышленными консорциумами по-разному, например ebXML и OASIS, а также продукты типа «посредник интеграции» таких производителей, как IBM, Microsoft, IONA и WebMethods, стремятся сконцентрироваться на приложениях для веб-сервисов типа «бизнес-процесс» (ориентация на обработку документов), в то время как продукты других производителей, в том числе Web Services Toolkits, поставляемый в составе WebLogic компании ВЕА, и J2EE Edition компании IONA, нацелены на взаимодействие RPC-типа.
Веб-сервисы используют протокол SOAP для посылки сообщений по протоколу HTTP и другим интернет-протоколам; WSDL — для описания программных интерфейсов веб-сервисов; UDDI — для их индексации.
Информация о том, какие функции предоставляет данный веб-сервис, содержится в его описании — документе WSDL, а для поиска существующих сервисов предполагается использование специальных реестров, совместимых со спецификацией UDDI. Другие системы взаимодействуют с веб-сервисом, используя сообщения в стандарте SOAP. Серверы приложений являются хранилищами веб-сервисов и делают их доступными через HTTP GET, HTTP POST и HTTP SOAP.
Стандартные составляющие
SOAP (Simple Object Access Protocol) — стандарт передачи сообщений по Интернету, разработанный Microsoft для удаленного вызова процедур (RPC, Remote Procedure Call) по протоколу HTTP. Он позволяет передавать информацию по сети в формате XML. При этом могут использоваться любая сеть, любой протокол передачи данных, произвольная информация (заказы, прогноз погоды, выписки об уровне товарных запасов и т. д.), разнообразные вычислительные устройства (в том числе мобильные).
Спецификация SOAP определяет XML-«конверт» для передачи сообщений, метод для кодирования программных структур данных в формате XML, а также средства связи по протоколу HTTP.
Используют два различных типа SOAP-сообщений: запрос (Request) и ответ (Response). Запрос вызывает метод удаленного объекта, ответ возвращает результат выполнения данного метода.
SDL (Web Services Description Language) — основанный на XML и предложенный Консорциумом W3C стандарт описания того, как пользоваться сервисом. Описание веб-сервиса на WSDL содержит технические детали, необходимые для его интеграции в приложение (формат сообщений, операции и т. п.). На данный момент язык WSDL поддерживают продукт от Microsoft — SOAP Toolkit 2.0 (его часть WSDL Generator) и продукт от IBM — WSDL Toolkit. Язык описания веб-сервисов только определяет синтаксис того, как сервис может быть вызван, он ничего не говорит о его семантике. Это порождает ряд проблем при использовании веб-сервисов.
UDDI (Universal Description, Discovery, and Integration) предоставляет механизм обнаружения веб-сервисов. UDDI формирует бизнес-реестр (UDDI Business Registry), в котором провайдеры могут регистрировать свои сервисы, а разработчики — искать необходимые им сервисы. Компании сами регистрируют себя в реестре Business Registry, представляющем собой базу данных общего пользования. UDDI (который, по сути, тоже является веб-сервисом) позволяет описывать, интегрировать и публиковать сервисы.
Сервис UDDI складывается из двух главных составляющих: регистрации и нахождения данных. Регистрационная часть означает, что коммерческая организация отправляет в UDDI информацию, которую другое предприятие может запросить и найти, что и образует вторую составляющую. Организации и частные лица используют UDDI с помощью программных интерфейсов SOAP или одного из пользовательских интерфейсов, предоставляемых операторами или производителями других веб-сервисов. Для обеспечения регистрации и поиска данных операторы UDDI посылают WSDL-описания своих сервисов. UDDI предлагает отдельные WSDL-файлы для служб регистрации и обнаружения данных на основе своего собственного формата XML-документов.
Коды и идентификаторы
Коммерческая информация UDDI обычно подразделяется на три основные категории:
—«Белые страницы» — название и адрес организации, контактная информация, адрес веб-страницы и номер в универсальной системе нумерации данных (Data Universal Numbering System, DUNS) или другой идентифицирующий номер.
—«Желтые страницы» — вид коммерческой деятельности, место расположения и выпускаемая продукция, включая различные данные для определения категории в зависимости от географического расположения, отрасль промышленности, идентификатор коммерческой деятельности и т. п.
—«Зеленые страницы» — спецификации коммерческих услуг, порядок взаимодействия с ними, определение бизнес-процесса и т. д. Здесь размещается указатель на WSDL-файл, если таковой имеется. Информация данной категории описывает функциональные возможности и характеристики сервиса, в том числе его уникальный идентификационный номер. Эта категория является достаточно новой и специфичной для Интернета.
С целью облегчения поиска коммерческие предприятия могут добавлять любое количество классификаций. Классифицирующая и идентифицирующая информация включает в себя, например, такие сведения, как IRS-коды отраслей промышленности, DUNS-номера по каталогам компаний Dun и Bradstreet, коды продукции, географические коды и т. д.
Основные таксономические системы с информацией о категории:
-Североамериканская система классификации отраслей промышленности (North American Industry Classification System, NAICS) — www.census.gov/epcd/www/naics. html.
-Универсальная стандартная классификация товаров и услуг (Universal Standard Products and Services Classification, UNSPSC) — www.unspsc.org.
-Стандарт ISO 3166 Международной организации по стандартизации (International Organization for Standardization), касающийся указания географических регионов, кодов стран и т. д. — www.din.de/gremien/ nas/nabd/iso3166ma.
Операторы сайтов проверяют достоверность информации о кодах отраслей промышленности, указанных с помощью NAICS, о товарах и услугах согласно UNSPSC и о географических кодах, уточненных посредством ISO 3166. В то же время размещение информации о некоторых из этих категорий или о всех них не является обязательным, так же как и проверка этих данных при регистрации. Могут использоваться и другие таксономические группы, но они не обеспечивают проверки корректности данных.
Зарегистрированные данные могут быть проверенными или непроверенными. UDDI v2 использует опробованные или непроверенные системы классификации и идентификации. Поскольку UDDI проверяет и подтверждает классифицирующую или идентифицирующую информацию только с помощью NAICS, UNSPSC и ISO 3166, UDDI.org поддерживает возможность предоставления этого дополнительного сервиса сторонним участникам.
Кроме SOAP, WSDL и UDDI, которые образуют основную инфраструктуру веб-сервисов, для обеспечения интегрированного компьютерного окружения необходимы также средства безопасности, управления информационными потоками, транзакциями, гарантированной передачи сообщений и т. д.
Некоторые из основных спецификаций и технологий веб-сервисов, предназначенных для «полной комплектации» архитектуры веб-сервисов и решающих следующие задачи:
-безопасность — конфиденциальность, целостность, аутентификация (проверка регистрационной информации пользователя) и авторизация веб-сервисов;
-управление потоками (последовательностью выполнения) процессов (process flow) — «оркестровка» потока выполнения нескольких параллельно работающих веб-сервисов;
-транзакции — координирование веб-сервисов;
-обмен сообщениями — настройка путей прохождения сообщений и их надежной маршрутизации при наличии многочисленных сетевых транзитов, включая посредников и ретрансляторы.
Базовая инфраструктура веб-сервисов складывается из двух составляющих:
-технологий, обеспечивающих функциональность веб-сервисов;
-технологий, обеспечивающих качество работы веб-сервисов.
Как уже стало ясно, главным преимуществом веб-сервисов как концепции построения распределенных информационных систем является их универсальность, то есть возможность применения для любых операционных систем, языков программирования, серверов приложений и т. д. Таким образом, веб-сервисы решают исходную задачу — интеграции приложений различной природы и построения распределенных ИС. В этом и заключается основное принципиальное отличие веб-сервисов от предшествующих интернет-технологий.
В следующей части статьи, которая будет опубликована в одном из ближайших номеров, мы рассмотрим особенности сервис-ориентированной архитектуры, а также принципы реализации и компоновки веб-сервисов, в том числе интеллектуальных.
Анатолий Гладун, Международный научно-учебный центр информационных технологий и систем НАНУ и МОНУ, [email protected]
Web-droid редактор
Не пропустите интересное!
Підписывайтесь на наши каналы и читайте анонсы хай-тек новостей, тестов и обзоров в удобном формате!


Samsung Galaxy A36 и Galaxy A56 — доступные флагманские технологии



У Samsung Galaxy A36 и Galaxy A56 одинаково хорошие дисплеи, емкие аккумуляторы, есть поддержка обновлений софта в течение 6 лет. Расскажем подробнее чем еще они интересны

Электромотоцикл Verge TS Pro установил рекорд запаса хода электротранспорт
Финский стартап Verge установил новый мировой рекорд по дальности хода электрического мотоцикла на одном заряде
Google признана судом США виновной в монополизме на рынке онлайн-рекламы Google поиск суд
Иск был инициирован Министерством юстиции США и коалицией отдельных штатов и касался работы рекламной экосистемы Google