Проблем у разработчиков - не счесть

Питер Коффи

Если бы кто-то взялся перечислить технические трудности, с которыми приходится сталкиваться при разработке Web-сервисов, результат был бы весьма настораживающим. В этом списке мы увидели бы примерно те же проблемы, что связаны с любой другой технологией разработки ПО. Особенно пугает, что за последний десяток лет, а то и больше, ситуация существенно не изменилась!

Для превращения Всемирной паутины в открытую платформу для создания приложений программистам нужно совершить прорыв по целому ряду направлений: потребуются средства для скрупулезного описания требований, надежной генерации кодов на основе поддающихся проверке спецификаций, а также для обеспечения быстрого поиска модулей многократного использования, предлагаемых сторонними разработчиками. Web-сервисы при этом вполне могут стать катализатором развития по всем этим направлениям, но возможен и обратный сценарий. Фундаментальные проблемы на пути технического прогресса способны ограничить роль Web-сервисов, превратив их просто в еще одно средство интеграции приложений. В этом случае они наверняка будут окружены дымовой завесой из заявлений производителей ПО, наподобие “основано на стандартах, но еще лучше”.

Если Web-узел организован в виде HTML-страниц либо его страницы динамически создаются с помощью технологий ASP или JSP, разработчику вполне достаточно ограничиться написанием отдельного модуля (в худшем случае - набора модулей с четко определенными взаимозависимостями). Правда, в этом случае, когда с браузера клиента поступает команда “обновить”, ситуация становится сходной с перезагрузкой ПК: разработчик снова получает девственно чистое состояние объекта.

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

Создание Web-сервисов просто невозможно без их интегрального тестирования в среде разработки. В середине 90-х годов эти среды начали предлагать функции просмотра реальных данных, хранящихся в СУБД. Сейчас нечто подобное требуется создателям Web-сервисов: среда разработки должна обеспечить им “живое” взаимодействие с реальными удаленными ресурсами и их имитациями. Это крайне необходимо для анализа поведения сервиса при возможных сбоях.

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

Разработка Web-сервисов ставит примерно такие же проблемы, что и “решеточные” вычислительные системы - еще одна животрепещущая тема нынешнего времени. Выступая в феврале на глобальном форуме grid-вычислений, который прошел в Торонто (Канада), исследователь Калифорнийского технологического института Пол Мессина (председатель консультативного комитета grid-вычислений) высказал мнение о неминуемости конвергенции таких вычислений с Web-сервисами. “Успех, - заявил он, - будет достигнут тогда, когда между этими направлениями почти не останется различий”.

Что ж, будем надеяться, что их общая судьба пополнит список успешного слияния технологий, а не станет еще одним примером громких обещаний, которые отрасль так и не смогла претворить в жизнь.

Конвергенция может охватить и базы данных

Базы данных - не что иное, как точка пересечения множества различных технологий клиентского доступа к информации. А это делает репозитории естественными кандидатами на роль Web-сервисов.

Разработчики СУБД уже предвидят такую конвергенцию, а некоторые из них даже закладывают в свои продукты функции Web-сервисов первого поколения.

Корпорация Microsoft, например, предложила для своего SQL Server 2000 набор средств для простого и удобного развертывания Web-сервисов. Этот набор включен в бесплатный и полностью поддерживаемый добавочный пакет SQLXML 3.0 для SQL Server 2000 (его можно скачать с сайта www.microsoft.com/sql). Правда, чтобы воспользоваться этим дополнением, на машине должен быть установлен ряд других технологий этой же корпорации, включая SOAP Toolkit 2.0 SP2 и Web-сервер Internet Information Services.

SQLXML обеспечивает передачу данных клиентам, делающим запросы к Web-сервисам, опубликованным на Web-сервере IIS. Простые запросы к БД и хранимые процедуры Transact-SQL можно будет оформлять в качестве сервисов SOAP, и, кроме того, появляется возможность преобразовывать исходящие данные XML перед их пересылкой клиенту. Имеется в пакете и инструментальная программа массовой загрузки данных XML на SQL Server. Работает новый набор инструментария в средах Visual Studio 6 и Visual Studio .Net.

Корпорации Oracle, IBM и фирма Sybase в качестве интерфейсов подключения Web-сервисов к базам данных используют собственные серверы приложений. Все три производителя уже включают в свои СУБД встроенные средства преобразования данных в формат XML, позволяющие, кроме всего прочего, переформатировать XML в нужную схему.

Чтобы превратить обычные XML-данные в Web-сервис, администратору базы данных нужно соответствующим образом упаковать их, а затем опубликовать, воспользовавшись для этого функциями поддержки Web-сервисов, предлагаемыми серверами приложений всех трех производителей. Такой подход не столь прост, как в СУБД Microsoft, оснащенной встроенными функциями Web-сервисов, однако вполне работоспособен.

В DB2 8.1, выпуск которой IBM начинает нынешней осенью, также предусмотрена возможность для показа SQL-клиентам внешних Web-сервисов в виде SQL-таблиц. Таким образом, здесь обеспечивается “прозрачный” интерфейс подключений к источнику данных реального времени (функция, правда, требует наличия WebSphere).

СУБД на базе XML постепенно проникают в Web-сервисы и в качестве технологии доступа. Об этом, в частности, свидетельствует то, что содержимое таких баз данных все чаще сохраняется непосредственно в формате XML.

Фирма Ipedo включила в свою СУБД Ipedo XML Database 3.0 поддержку SOAP-запросов, расширив тем самым список интерфейсов, который раньше включал в себя запросы на основе Java и Microsoft COM.

Система управления базами данных XML под названием NeoCore XMS 2.6 фирмы NeoCore - ее выпуск начался в августе - также предлагает интерфейс подключения данных к Web-сервисам, однако использует для этого технологию REST (Representational State Transfer - передача статуса представления). Основанная на механизме доступа по адресам URL, она не столь популярна у разработчиков Web-сервисов, как SOAP, поэтому NeoCore уже пообещала включить поддержку интерфейса SOAP в очередную версию 2.7 своей СУБД, выпуск которой намечен на IV квартал.

Системы управления контентом и порталы дают фору

Джим Рапоза

Производителям порталов и средств управления контентом о поддержке Web-сервисов размышлять не приходится: подобные функции были присущи их продукции даже в те времена, когда о Web-сервисах никто и слыхом не слыхивал.

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

Сходным образом действуют и системы управления контентом, которые делят все элементы динамического Web-узла на небольшие, легко управляемые приложения или сервисы. На новостном сайте, скажем, может использоваться Web-сервис управления рекламными блоками, Web-сервис “горячих” новостей или связанного с новостями контента.

Кроме того, системы управления контентом упрощают обмен с другими Web-узлами - чем не Web-сервис совместного использования информационного наполнения?

Таким образом, нет ничего удивительного в том, что в части развития Web-сервисов порталы и системы управления контентом оказались в большом отрыве от своих конкурентов. Более того, производители таких систем стали инициаторами разработки некоторых стандартов отображения и доставки Web-сервисов.

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

Foundation Server фирмы Epicentric и Content Server фирмы Divine, активно использующие XML и другие открытые стандарты, интегрируются с Web-сервисами очень легко. Если же основу продукта составляют специализированные коды, то чтобы сделать его совместимым с Web-сервисами, программистам придется затратить немало времени и усилий.

Тем же компаниям, что уже развернули портал и системы управления контентом, стоит подумать о том, как расширить их возможности с помощью Web-сервисов.

Преобразовав, например, в Web-сервис портлет инвентаризации, который запускается в виде специализированного приложения, можно упростить его развертывание на разных устройствах и для разных аудиторий.

Что же касается управления контентом, то Web-сервисы могут упростить интеграцию информационного наполнения узла с другими сайтами.

Из стандартов Web-сервисов, предложенных или поддержанных разработчиками порталов и систем управления контентом, назовем WSIA (Web Services for Interactive Applications - Web-сервисы для интерактивных приложений) и WSRP (Web Services for Remote Portals - Web-сервисы для удаленных порталов).

Главное назначение WSIA состоит в построении компонентной инфраструктуры для интерактивных Web-приложений, упрощающей их интеграцию с Web-узлами и порталами. А спецификация WSRP призвана помогать в развертывании Web-сервисов на порталах и Web-узлах по принципу “подключи и работай”.

Из производителей порталов и систем управления контентом, поддерживающих оба этих стандарта, можно назвать фирмы Divine, Epicentric, Computer Associates International, Documentum, Plumtree Software, IBM и SAP AG.

(Продолжение следует)