Веб-сервисы и Семантическая Сеть
Делаем информацию доступной и полезной
Оригинал: Web Services and the Semantic Web (версия для печати)
Web Services Journal, vol. 02, issue 12, December 2002.
Paul Cowles
Покуда Семантическая Сеть набирает обороты, важно, чтобы разработчики веб-сервисов были в курсе ее новейших технологий и готовились к переменам в своей индустрии.
В этой статье рассказывается о применении Семантической Сети в сфере веб-сервисов, и в частности, о том, какие спецификации уже находятся в стадии разработки и с какой стороны вы могли бы начать готовиться к интеграции с будущими семантическими приложениями.
Что такое Семантическая Сеть и как она влияет на веб-сервисы?
Существующая сеть WWW представляет собой гигантское количество информации в формате, приспособленном для человеческого восприятия. Пользователь может перескакивать с одной ссылки на другую, давать запросы различным поисковым системам или же находить сайты, просто вводя их адреса. И хотя веб-страницы весьма привлекательны для человека, для компьютерной программы же, обрабатывающей их содержимое, они не более чем строчки из случайных символов.
Компьютерная программа не способна, загрузив произвольный документ, будь то веб-страница или какой-то файл, понять его содержание. Она конечно может сделать некие догадки, основываясь на HTML- или XML-тэгах, но всё равно требуется человек-программист, который должен разобраться в них и понять смысл, или семантику, каждого из тэгов. С точки зрения компьютера, существующая Сеть WWW — это полная неразбериха. К счастью, выход есть: это Семантическая Сеть.
Как представлял себе Тим Бернерс-Ли [здесь и далее ссылки переводчика; ссылки автора даны им в виде явного указания URL в тексте статьи], Семантическая Сеть должна стать неким дополнением сети WWW, состоящим из понятной машинам информации. Реализация этой новой Сети станет возможна благодаря ряду новых стандартов, разрабатываемых WWW-Консорциумом (W3C). Когда Семантическая Сеть наберёт обороты, значительное число информационных ресурсов будут пригодными для использования как человеком, так и программными агентами. Другими словами, программные агенты наконец-то научаться читать Интернет.
Подобно тому, как Семантическая Сеть является расширением обычной сети WWW, Семантические веб-сервисы [будем называть их для краткости
Чтобы SW-сервисы стали реальностью, язык разметки должен быть достаточно информативным с тем, чтобы компьютер был способен самостоятельно понимать смысл записанных на нём выражений. Ниже мы приводим требования, которым должен отвечать такой язык:
- Необходимость поиска сервисов (обнаружение — discovery)
Начнём с того, что программы должны иметь возможность самостоятельно находить (или обнаруживать) требуемые им веб-сервисы. Заметим, что ни WSDL, ни UDDI не позволяют программе понять, для чего именно с точки зрения клиента служит тот или иной веб-сервис. Семантический же веб-сервис сможет предъявить описание своих свойств и возможностей с тем, чтобы программы могли сами распознавать его предназначение.
- Необходимость запускать сервисы (запуск — invocation)
Программы должны уметь самостоятельно узнавать, каким образом запускать и исполнять данный сервис. Например, если выполнение сервиса представляет собой многошаговую процедуру, то программе требуется знать, как ей следует взаимодействовать с сервисом, чтобы требуемая последовательность шагов осуществилась. SW-сервис предъявляет исчерпывающий перечень того, что должен уметь агент для запуска и выполнения данного сервиса. Сюда же следует отнести описание входных и выходных данных этого сервиса.
- Необходимость использования вместе нескольких сервисов (композиция)
Программы должны уметь отбирать нужные им веб-сервисы и комбинировать их для достижения своих целей. Сервисам необходимо будет тесно [seamlessly] взаимодействовать друг с другом, так чтобы получающийся в результате их комбинирования результат был приемлемым решением поставленной задачи. Таким образом, программные агенты смогут строить совершенно новые сервисы, комбинируя сервисы, уже имеющиеся в Сети.
- Необходимость узнавать, что происходит после запуска сервиса (мониторинг)
Программный агент должен уметь определять [verify] свойства данного сервиса и следить за его выполнением. Некоторым сервисам может требоваться определённое время для исполнения работы, и агенты должны быть в состоянии следить за ходом выполнения сервиса.
Снабдив агентов возможностями самостоятельно обнаруживать, запускать, комбинировать и следить за исполнением сервисов без участия человека, мы сможем создать новые достаточно функциональные приложения. Представьте себе некую Интегрированную Среду Разработки (IDE — Integrated Developer Environment), которая не только содержит перечень доступных сервисов, но также предлагает подходящие их комбинации, удовлетворяющие требованиям, сформулированным Вами на языке высокого уровня. Вместо того, чтобы пролистывать длинные списки сервисов в поисках того, входные параметры которого соответствуют Вашему приложению, Вы просто обращаетесь к среде IDE, которая предложит Вам сервисы, в точности подходящие для Ваших целей.
Можно будет также создать неких персональных агентов, чтобы употребить всю мощь Сети на пользу конечному пользователю. Например, такой персональный агент вполне мог бы провести подготовку к празднованию дня рождения, получив лишь минимальные входные данные от пользователя (рис. 2). Подобный агент мог бы скомбинировать сервисы по заказу товаров, их покупке и доставке самостоятельно, преследуя поставленную перед ним пользователем на языке высокого уровня цель — подготовку празника. Когда такие вещи будут делаться автоматически, пользователь сможет экономить как время, так и деньги.
Семантическая Сеть как таковая состоит из семантически размеченных ресурсов со статическим и динамическим содержимым. Тем самым SW-сервисы являются неотъемлимой часть этого мощного понятного машине Интернета.
Как сейчас обстоят дела в области Семантической Сети?
Важнейшие спецификации, требуемые для построения Семантической Сети, уже появляются в недрах консорциума W3C. Технология RSS 1.0 (RDF Site Summary), базирующаяся на спецификации RDF (Resource Description Framework), уже несколько лет используется для совместного использования [sharing] новостных и событийных ресурсов. Язык Сетевых Онтологий OWL [русский перевод документа здесь — Прим. перев.], происходящий из языка
Параллельно с разработкой стандартов появляются и приложения этих технологий. Уже созданы средства для написания и редактирования RDF-документов, хранения семантических данных, логического вывода знаний из метаданных, визуализации метаданных. Построение Семантической Сети опирается на огромное число исследований и разработок, ведущихся в лабораториях таких компаний, как Nokia, BT и Hewlett-Packard.
А что делается в сфереи Семантических веб-сервисов?
Вообще говоря, стандартизация SW-сервисов следует по пятам развития самой Семантической Сети. Из этого, к сожалению, также следует, что SW-сервисы находятся на ещё более ранней, нежели Семантическая Сеть, стадии развития. Исследователями и разработчиками было предложено несколько спецификаций для создания и использования семантически «мыслящих» [intelligent] веб-сервисов. Какая из этих спецификаций станет стандартом — вопрос, остающийся пока без ответа на момент написания данной статьи.
Язык RDF является первичной основой для построения Семантической Сети. Уже появляются разработки, приближающиеся к понятию SW-сервиса, основанные на спецификациях RDF и RDF-Схема. Более того, некоторые реально работающие сервисы, как например MusicBrainz (www.musicbrainz.org), уже предлагают SWS-ориентированные Интерфейсы Прикладного Программирования (API), базирующиеся на RDF. И хотя упомянутый MusicBrainz удовлетворяет не всем перечисленным нами выше требованиям к SW-сервисам, данные API можно считать значительным шагом на пути построения SW-сервисов.
Другая заслуживающая внимания спецификация — разработанный в DARPA Язык Разметки Агентов (DAML) и связанная с ним онтология SW-сервисов, именуемая DAML-S. Язык DAML, разработанный группой исследователей в рамках DARPA-программы, имеет в своём арсенале гораздо более богатый по сравнению с RDF набор синтаксических конструкций.
DAML позволяет задавать достаточно замысловатые свойства объектов, а также характеристики свойств, такие как эквивалентность и однозначность. Тем самым он гораздо более выразителен, чем его предшественник RDF. В качестве узко-специализированного применения DAML был создан язык DAML-S как необходимый стандарт для построения SW-сервисов. Если на языке WSDL мы можем лишь сообщить агенту, как работает некий сервис, то уже DAML-S позволяет описать, что именно данный сервис предлагает клиенту и как им следует пользоваться. В этом смысле он дополняет WSDL, снабжая недостающей информацией для того, чтобы агенты имели возможность решать задачи обнаружения и автоматического запуска сервисов.
Взяв DAML за отправную точку, Консорциум W3C поручил Рабочей Группе по Сетевым Онтологиям выработать приемлимый для всех стандарт для Языка Сетевых Онтологий. Получившийся в результате язык OWL находится сейчас в стадии разработки. [См. также прим. перев. выше.]
Ещё один круг исследований и разработок сосредоточился на другой системе для построения SW-сервисов — Системе Моделирования Веб-Сервисов (WSMF), которая была предложена как средство для создания SW-сервисов. Она частично основана на языке WSFL (Web Services Flow Language) фирмы IBM, который является XML-языком для описания подчинённых бизнес-процессам комбинаций веб-сервисов.
К настоящему времени спецификация DAML-S привлекла большое внимание в академических кругах и исследовательских сообществах. Вероятнее всего, однако, будет создан её эквивалент, основанный на языке OWL, который уже и станет стандартом de facto для построения SW-сервисов. Сейчас пока разработчики не нацелены на использование SW-сервисов для каких-либо практических целей. Однако уже в скором времени начнут появляться общедоступные Семантические веб-сервисы.
Как можно готовиться к появлению Семантических веб-сервисов?
Пока лишь немногие сейчас активно занимаются разработкой SW-сервисов. Однако по мере того, как завершится разработка стандартов, а также спрос на «умные» программные агенты будет расти, от разработчика потребуется серьёзное владение технологиями в области SW-сервисов. Быть в курсе, внедрять уже созданные прототипы, предвидеть перемены — вот то, что нужно иметь в виду, дабы не отстать от жизни. Ниже приведён ряд рекомендаций на этот счёт:
- Будь в курсе событий
Самый простой и недорогой способ оставаться в русле разработок в области Семантической Сети — это посещать ключевые веб-сайты по этой тематике. Консорциум W3C (www.w3.org/2001/sw) координирует все имеющиеся формальные спецификации. Помимо этого, на сайте DAML (www.daml.org) имеются примеры использования [use cases], инструменты, онтологии и другие полезные ресурсы для задания семантической разметки.
Участники всевозможных рабочих групп встречаются на ежегодных конференциях, посвящённых (полностью или частично) проблематике Семантической Сети. XII Международная WWW-Конференция (www.www2003.org), проходившая в Будапеште, изобилует множеством материалов, выступлений, специализированных секций [workshop] по тематике SW-сервисов. Вторая Международная конференция по Семантической Сети (iswc2003.semanticweb.org) является ещё одной из главных SW-конференций; кроме того, она предлагает отличные возможности для совместной работы [networkong] и исследований.
Практически каждый день появляются исследовательские статьи и книги, посвящённые данной тематике. Покуда разработчики продвигаются по пути создания веб-сервисов, всё большее внимание будет уделяться их новому поколению — Семантическим веб-сервисам.
- Предвидь появление Семантической Сети, разрабатывая приложения сегодня
Веб-сервисы, создаваемые сегодня, используют язык WSDL для описания своего интерфейса. В будущем же, вероятно, потребуется поддерживать дополнительные семантические языки задания интерфейса. Если мы будем предвидеть подобные изменения и создавать гибкие в этом смысле приложения, то переход к Семантической Сети можно будет осуществить более гладко.
- Играй с технологиями
Множество доступных сегодня инструментов разработки являются бесплатными, а некоторые проекты предлагают приложения с открытым исходным кодом. Консорциум W3C поддерживает связи со многими разработчиками бесплатных инструментов, тогда как на сайте SemanticWeb.org (www.semanticweb.org) можно найти и коммерческие инструменты.
Всё чаще стали появляться приложения, демонстрирующие бизнес-знечение Семантической Сети и SW-сервисов. В рамках проекта TAP (tap.stanford.edu) была создана демонстрационная поисковая машина, дающая общее представление [peek] о будущих поисковиках в Интернете.
Подведём итог
Работы в области Семантической Сети и веб-сервисов тесно связаны друг с другом. Цели обоих — сделать информацию в современной Всемирной Компьютерной Сети понятной программным агентам. И мощной комбинацией этих двух разработок является создание технологии Семантических веб-сервисов.
1 комментарий:
разработки уроков разработка сайтов http://web-miheeff.ru разработки уроков
Отправить комментарий