автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Модели, алгоритмы и программные средства поиска и композиции ВЕБ-сервисов с использованием семантических описаний

кандидата технических наук
Климов, Валентин Вячеславович
город
Москва
год
2012
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Модели, алгоритмы и программные средства поиска и композиции ВЕБ-сервисов с использованием семантических описаний»

Автореферат диссертации по теме "Модели, алгоритмы и программные средства поиска и композиции ВЕБ-сервисов с использованием семантических описаний"

005015362

Климов Валентин Вячеславович

МОДЕЛИ, АЛГОРИТМЫ И ПРОГРАММНЫЕ СРЕДСТВА ПОИСКА И КОМПОЗИЦИИ ВЕБ-СЕРВИСОВ С ИСПОЛЬЗОВАНИЕМ СЕМАНТИЧЕСКИХ ОПИСАНИЙ

05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

1 2 МДР 2012

Автор:

Москва-2012

005015362

Работа выполнена в Национальном исследовательском ядерном университете «МИФИ».

Научный руководитель:

Ведущая организация:

Официальные оппоненты:

доктор технических наук, профессор Щукин Борис Алексеевич доктор технических наук, профессор Лебедев Георгий Николаевич кандидат технических наук Кальченко Александр Николаевич Федеральное государственное унитарное предприятие «Центральный научно-исследовательский институт экономики, информатики и систем управления»

Защита диссертации состоится » м ¿рпх. 2012 г. в /£*час.З О мин, на

заседании диссертационного совета Д 212.130.03 при Национальном исследовательском ядерном университете «МИФИ» по адресу: 115409, Москва, Каширское шоссе, 31

С диссертацией можно ознакомиться в библиотеке Национального исследовательского ядерного университета «МИФИ».

Отзывы в двух экземплярах, заверенные печатью организации, просьба направлять по адресу: 115409, Москва, Каширское шоссе, д.31

Автореферат разослан «2-°» срс&ралЗ. 2012 г.

Ученый секретарь диссертационного совета

д.т.н., доцент

Леонова Н.М.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы исследований.

По мере развития информационных технологий возникали разные подходы к написанию программ: модульное, объектно-ориентированное, компонентно-ориентированное программирование. Однако все подходы имеют ряд недостатков, они часто приводят к созданию негибких приложений, приходится создавать множество специализированных приложений для решения задач, которые лишь немного различаются. Кроме того, в последнее время большое значение придается программированию не монолитных систем, а систем, состоящих из большого числа разнородных частей. Поэтому, альтернативой традиционным подходам стала сервис-ориентированная разработка программного обеспечения. Использование данного подхода к программированию IT-инфраструктуры позволяет компаниям получать больше преимуществ при своем дальнейшем развитии. Подход СОА развивался с целью интеграции сложных и разнородных программных систем за счет использования слабо связанных друг с другом повторно используемых компонентов и обеспечения среды для их удобного связывания. Основной трудностью при реализации данного подхода является сложность нахождения веб-сервиса, который предоставлял бы требуемую функциональность. Зачастую при разработке крупных проектов, включающих сотни сервисов, программисту гораздо проще написать свой сервис, чем искать аналогичный среди уже реализованных. Тем самым нарушается главный принцип и преимущество СОА - принцип повторного использования компонентов, что негативно сказывается в дальнейшем на всем процессе разработки приложения.

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

Значительный вклад в исследование и решение проблем поиска с использованием онтологий и технологий семантического веба внесли как отечественные учёные В.Ф. Хорошевский, Л.Б. Шереметов, В.А. Дерецкий, В.Д. Соловьев, Б.В. Добров, Н.В. Лукашевич и др., так и целый ряд зарубежных учёных A. Brogi, S. Corfini, M. Paolucci, О. Lassila, J. Ziembicki, K. Sacnhes, S. McIIraith, D. Martin и др.

Актуальность темы диссертационной работы определяется возрастающей потребностью индустрии разработки веб-ориентированных информационных систем в средствах поиска и композиции веб-сервисов с использованием семантических описаний в связи с быстрым ростом числа сервис-ориентированных приложений и необходимостью усовершенствовать и сделать более точным процесс поиска и композиции веб-сервисов. Это приведёт к ускорению разработок и снижению трудоёмкости создания СОА-приложений.

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

Для достижения поставленной цели в рамках диссертационной работы были решены следующие задачи:

1. Разработаны модели поиска и композиции веб-сервисов с использованием семантических описаний.

2. Разработаны алгоритмы поиска и композиции веб-сервисов по их семантическим описаниям.

3. Решена поставленная задача оценки релевантности поискового запроса и семантического описания сервиса в случаях недостатка или избытка хранящихся и запрошенных пользователем входов и выходов веб-сервисов.

4. Разработаны структура и механизмы взаимодействия компонентов программной системы поиска и композиции веб-сервисов по их семантическим описаниям.

5. Проведено экспериментальное исследование разработанных моделей, алгоритмов и программных средств.

Объектом исследования является задача поиска и композиции веб-сервисов с использованием семантических описаний.

Предметом исследования являются модели и алгоритмы, используемые при ее решении.

Методы исследования. Исследования проводились с помощью постановки и решения оптимизационных задач (задачи о назначениях) и задач, сводящихся к формальному доказательству в исчислении предикатов первого порядка. Работа проводилась на основе принятых международных стандартов семантического описания веб-сервисов и онтологий предметных областей. При разработке программного обеспечения использовались подходы логического и клиент-серверного программирования, XML, RDF, OWL технологии.

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

Научная новизна работы заключается в следующем: L Разработаны интегрированная модель и алгоритмы поиска процессов веб; сервисов с использованием онтологий предметных областей и общепринятого лингвистического тезауруса WordNet. 2. Разработана расширенная модель семантического описания веб-сервиса за счет введения отображения входов на выходы и, а также алгоритмы её обработки.

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

4. Разработана структура и механизмы взаимодействия компонентов программной системы поиска и композиции процессов веб-сервисов с использованием семантических описаний.

Практическая значимость. Разработанные модели и алгоритмы поиска и композиции могут быть использованы для:

• Усовершенствования стандартов, связанных с семантическим

описанием веб-сервисов.

• Построения реестров, предназначенных для публикации и поиска веб-

сервисов по их семантическим описаниям.

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

Основные научные результаты, выносимые на защиту.

1. Интегрированная модель и алгоритмы поиска процессов веб-сервисов с использованием онтологий предметных областей и общепринятого лингвистического тезауруса WordNet.

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

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

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

Реализация результатов работы. Разработана программная система поиска и композиции веб-сервисов по их семантическим описаниям. Система была использована при разработке и внедрении сервис-ориентированного приложения в ООО «Банковский Производственный Центр», а также в Министерстве образования и науки РФ в рамках государственного контракта №П2187 от 9 ноября 2009 года, что подтверждается актами о промышленном внедрении и использовании результатов диссертационной работы.

Апробация работы. Основные положения и результаты диссертации докладывались и обсуждались на следующих конференциях и выставках:

• XVII, XVIII, XIX и XX международные научно-технические семинары «Современные технологии в задачах управления, автоматики и обработки информации» (Алушта, 2008-2011);

• VIII Курчатовская Молодёжная Научная Школа (Москва, 2010);

• Международный форум «Дни русских инноваций» (Москва, 2009);

• III международная научно-практическая конференция «Информационные технологии в образовании, науке и производстве» (Серпухов, 2009);

• IX и X Всероссийские выставки научно-технического творчества молодежи НТТМ-2009 и НТТМ-2010 (Москва, 2009-2010);

• Всероссийские образовательные форумы «Смена молодых инноваторов» (Селигер, 2009-2010);

• Научные сессии НИЯУ МИФИ 2008-2011 (Москва, 2008-2011);

• X-XIV международные телекоммуникационные конференции "Молодежь и наука" (Москва, 2008-2011).

Разработанная система является победителем восьмого и девятого конкурсов молодежных инновационных проектов технопарка НИЯУ МИФИ, проводимого в рамках 12-й и 13-й Московских международных телекоммуникационных конференций "Молодежь и Наука» (2009-2010 гг.). Система является победителем по программам «Участник Молодежного Научно-Инновационного Конкурса» (У.М.Н.И.К.-2009 и У.М.Н.И.К.-2010), победителем Регионального Инновационного Конвента г. Москвы в 2010 году. Она является победителем конкурса НК-389П в рамках Федеральной Целевой Программы «Научные и научно-педагогические кадры инновационной России на 2009 - 2013 годы». Система заняла второе место в категории «IT-реализация» (специалисты) в номинации «Software» в конкурсе «1Т-прорыв» государственной корпорации «Ростехнологии» и компании Softline. На выставке Научно-технического творчества молодежи (НТТМ-2009) она получила диплом 1 степени и свидетельство за результативное участие. Система награждена дипломом за участие в полуфинале Национальной премии в области инноваций для молодых ученых и специалистов имени В.К. Зворыкина в 2011 году.

Публикации. Материалы диссертации опубликованы в 33 печатных работах, из них 5 статей в журналах, включенных ВАК РФ в перечень ведущих рецензируемых научных журналов и изданий.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и списка литературы. Общий объем основного текста, без учета приложений — 150 страниц, с учетом приложений — 181. Диссертация содержит 54 рисунка, 25 таблиц и 21 листинг программного кода. Список литературы включает 83 источника.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

В первой главе приводится анализ подходов к описанию семантики веб-сервисов. Анализируются технологии семантического веба, такие как RDF, OWL, OWL-S. Приводится сравнительный анализ различных стандартов: OWLS, WSMO, BPEL, SAWSDL, CDL. Проводится анализ современных моделей поиска и композиции сервисов, развиваемых в ряде научных работ, а также сравнительный анализ систем поиска и композиции.

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

Искать веб-сервисы можно на сайтах производителей, однако основным источником информации остается реестр UDDI. Поиск в реестре UDDI может быть выполнен по классификационному коду веб-сервиса, присваиваемому по классификаторам (отраслевому классификатору NAICS, классификатору продуктов и услуг UNSPSC, географическому классификатору ISO 3166) при регистрации веб-сервиса в реестре и/или ключевым словам, приписываемым веб-сервису производителем. Классификационный код и ключевые слова характеризуют веб-сервис в целом без разбиения на выполняемые операции, без четкого разграничения и описания входов и выходов сервиса.

Таким образом, поисковая модель веб-сервиса в UDDI представляет собой двойку <КК, КС>, где КК - это классификационный код сервиса, а КС -множество ключевых слов, описывающих веб-сервис. Запросы на поиск также строятся в соответствии с этой моделью: либо задается классификационная рубрика, по которой находятся все коды, входящие в эту рубрику, и соответствующие им сервисы; либо задается набор ключевых слов, по которому строится эшелонированная выдача сервисов, релевантных запросу; либо задается и то и другое. В любом случае результаты запроса требуют осмысливания с точки зрения соответствия реальным требованиям.

В настоящее время нет общепризнанного реестра для семантических описаний сервисов, хотя имеются предложения о включении такого описания в стандарт UDDI. Предполагается, что семантическое описание сервиса будет выполняться разработчиком в соответствии с моделью </, О, Р, Е>. Это значит, прежде всего, что описываются не сервисы, а связанные с ним абстрактные процессы, планируемые к выполнению в конкретной предметной области, задаваемой концептуальной моделью в виде OWL-онтологии. 1, О - это множества типов данных на входе/выходе процесса, задаваемые классами онтологии; Р - это множество логических выражений, отражающих предусловия, при выполнении которых возможно успешное выполнение процесса; Е - множество логических выражений, отражающих эффекты выполнения процесса с точки зрения изменения состояния внешней среды.

Очевидно, что и запрос на поиск процессов должен строиться в соответствии с моделью <1, О, Р, Е> - фактически пользователь, составляя запрос, должен сформировать семантическое описание необходимого процесса. Оно возможно, если онтологии, используемые при формировании запроса и процесса, идентичны или приводимы друг к другу. Это самый сложный вопрос семантического веба, не относящийся непосредственно к технологии семантических веб-сервисов, но существенно на нее влияющий.

Поиск процессов на основании соответствия их входов/выходов запросу теоретически — только промежуточный этап в решении проблемы поиска сервисов по их семантическим описаниям. Многие исследователи этой проблемы остановились на этом этапе, так как не могли найти место предусловиям и эффектам в алгоритмах поиска. Поэтому, подавляющее большинство исследований, связанных с поиском процессов семантических веб-сервисов, строится на основе модели запроса в виде <1, 0>. Так как I/O — это множества типов данных на входе/выходе процесса, задаваемые классами онтологии предметной области, то вносится семантическая составляющая в поиск процессов. Этим поиск процессов семантических веб-сервисов отличается от поиска веб-сервисов по ключевым словам.

Современные средства выполнения композиции (оркестровки, хореографии) предоставляют комплекс синтаксических структур, которые позволяют разработчику объединять и выполнять операции, предоставляемые сервисом, в рамках некоторого распределенного процесса. Разработчик либо выбирает опубликованные сервисы, точно понимая функциональность предоставляемых им операций, либо выдает неформализованное задание на их разработку в рамках нового. Семантический подход предполагает формализованное описание операций сервиса в виде атомарных процессов. Это формализованное описание может выступать либо как запрос на поиск среди таким же образом выполненных описаний, либо как задание на разработку требуемых операций в новом сервисе.

Если есть уверенность в том, что формализованное описание сервиса точно представляет функциональность его операций, то при разработке сложного распределенного процесса можно не фиксировать операцию конкретного сервиса в рамках разрабатываемой сетевой структуры, а оставить эту работу на этап выполнения. То есть на этапе выполнения система сама найдет необходимый сервис, опираясь на его семантическое описание и, кроме того, может выбирать среди подобных, опираясь на нефункциональные признаки.

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

Запросы, ограниченные моделью </, Cf> не могут гарантировать требуемую точность поиска. Возникает вопрос, могут ли гарантировать

требуемую точность поиска запросы, формулируемые по модели </, О, Р, Е>. В диссертации анализируется этот вопрос, предлагается расширенная модель семантического описания и алгоритмы поиска, позволяющие использовать максимум информации из семантического описания процесса.

Во второй главе диссертации проведена формализация и описываются модели поиска и композиции процессов сервисов.

Семантическая модель веб-сервиса, в соответствии с рекомендациями W3C, состоит из множества независимых процессов, каждый из которых определяется следующей четверкой множеств:

<1, О, Р, Е>

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

<1, 0>

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

<1 О, Р, R, Е>

Отображение R моделируется предикатом местности |/|+|0|, т.е. местности равной сумме мощностей множеств. Понимая онтологию как концептуальную модель предметной области, задаваемую логической теорией первого порядка, можно явно определить этот предикат, записывая логическое выражение, связывающее входы и выходы процесса.

Задача поиска процессов веб-сервисов по их семантическим описаниям предполагает, что и запрос на поиск задается в виде аналогичной пятерки, представляющей некий искомый (абстрактный) процесс. Таким образом, задача сводится к сопоставлению двух описаний процессов реального и абстрактного:

'^Ireali Oreal> Preal> Rreah и <labs', Oabs', Pahs', Rabs', Eabs> ■

При «точном» поиске требуется сопоставление, удовлетворяющее условиям

fahs = ¡real & Oabs Е Orca¡

Реально условия более мягкие: для несовпадающих элементов множеств необходимо проверить, нет ли между соответствующими классами отношения эквивалентности или «быть подклассом».

При выполнении этих «необходимых» условий требуется доказать истинность утверждений, приведенных в таблице 1.

Таблица 1. Утверждения, требующие доказательства

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

^ч.'М * К-геаЪ Кгеа! * КцЬя Отображения входов на выходы реального процесса должны быть идентичны отображениям входов на выходы искомого процесса.

ЕаЬх * ЕгеаЬ Егеа! * Изменения в предметной области, производимые реальным процессом, должны быть идентичны изменениям, требуемым искомым процессом.

Получение положительных результатов при выполнении этих доказательств дает уверенность в том, что функциональность искомого (абстрактного) процесса может быть выполнена с помощью реального.

Задача поиска композиций процессов предполагает их последовательный или параллельный запуск. Имеет смысл говорить о композиции только двух процессов. После того как композиция найдена, то есть найден составной процесс, он оформляется как простой и может участвовать в дальнейших процессах поиска.

Рассмотрим последовательную композицию процессов. Входом композиции будет считаться вход первого процесса, а выходом - выход последнего. На рисунке 1 приведена иллюстрация композиции.

I С§е О

Г. с2

I О

Рис. 1. Последовательная композиция двух процессов.

Теоретико-множественные модели соответствующих процессов:

• с1:<11; ОРг; Ех>,

• с2:<12; о2; р2; е2>, 12 с- ои-

• сзе:<12; 02; рг & р2; язе; ех & е2>;

С точки зрения теории баз данных Кве получается с помощью операции эквисоединения по всем входам второго процесса и соответствующим выходам первого с необходимой проекцией. В языке первого порядка это выражается связыванием кванторами существования всех промежуточных переменных. Обозначим Дзе = ]о!п01 (К1гК2)

Кандидаты для последовательного соединения находятся из условия: I,= U&I2c0i&0ai,c02;

Если такие процессы будут найдены, то необходимо доказать, что Pahs Pi & Р2;

Rabs joinOI (Ri, R2) ; joinOI(RirR2) Rabs; Eabs~> Ei & E2; Ei & E2 -* Eabs;

При параллельной композиции процессы выполняются параллельно, при этом их вызов осуществляется одновременно, а результатом служит процесс, входами которого является объединение входов всех процессов, подвергшихся композиции, а выходами - объединение всех выходов. На рисунке 2 отражено

Теоретико-множественные модели соответствующих процессов:

• Cr.KIi; 0lr- Pi/ Rl; Ei> ,

• С2:<I2; 02; Р2; R2; Ег>, Ii = 12;

• Csp:<Ij/ Ог и 02; Р1 & Р2; Rsp; Ег & Ег>.

Такая композиция позволяет получить простой процесс, осуществляющий отображение, которое можно назвать «соединением по входу»: Rsp = joinll (R1,R2) .

Кандидаты для параллельной композиции находятся из условия:

Ii = I2 & h = labs & Oab5 а и 02;

Если такие процессы будут найдены, то необходимо доказать, что

Pabs -* Pi & Р2;

Rvbs joinll (Ri,R2) / joLnII(RlrR2) -» Rabs;

Eabs—* El & E2; Ei & E2 —> fais/

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

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

Поэтому в качестве результата, отражающего реальное положение дел, предлагается решение, связанное с комментированием классов онтологии, используемых в качестве типов входов/выходов, набором ключевых слов. Это дает возможность произвести оценку релевантности классов и построить модель, позволяющую оценить релевантность процессов.

В этом случае в диссертации вводится понятие «неточного» поиска, который не накладывает никаких ограничений на анализируемые процессы и производится на основании запроса в виде </ми/„ Ошпр>, который сравнивается с моделью процесса в виде <1 „,„„,, 0„ро,,>. Каждый элемент этих множеств является структурой, представляющей расширение исходного класса: Класс 0\¥Ь-онтологии {Класс из ближайшего окружения основного класса }* {Ключевое слово, комментирующее основной класс {Слово из ближайшего окружения ключевого слова по \VordNet}* }* Чтобы поставить в соответствие классы множества 1ШЩ) классу 1„гщ приходится решать задачу о назначениях. Предположим, что \1запр\ = Л', \1проЧ\ =М; то есть в запросе ищется процесс с N входами, а сравниваемый с ним процесс имеет М входов, причем, в общем случае, Лг ф М Вычисляется матрица

<2 = {<7,у}, где Цц- степень близости /-го входа процесса (' = 1 ,М) j-му входу

запроса (]' = \,И). Алгоритм вычисления этой матрицы приведен в диссертации. Требуется г'-ому входу процесса назначитьу'-ый вход запроса, т.е. найти булевы переменные х,р удовлетворяющие ограничениям: х,, = 1 , если для г-ого входа процесса назначен у'-ый вход запроса; = 0, иначе. Условия однозначности назначения определяются неравенствами (1) - каждому входу процесса не более одного входа запроса и (2) - каждому входу запроса не более одного входа процесса:

Из всех возможных вариантов выбирается тот, который определяет назначения с максимально возможной суммой степеней близости:

N

0)

1=1

(2)

Л/ .V

nm/" , (3)

Пусть есть решение задачи о назначении со значением критерия F. Тогда релевантность RIUD можно оценить формулой:

Ыии = лг ^ — (4)

n + м -¿jxy

V

Проанализируем выражение (4). Когда множество входов запроса 1ыпр совпадает с множеством входов процесса 1„роч, релевантность максимальна и значение Шзп = 1- Если же множества полностью различны, то все q¡j = 0 и, следовательно, F = 0, что дает Шзп = 0. Во всех остальных случаях релевантность оценивается в интервале 0 < Шзп < 1> так как: <=min( Лг,Л/) „ f <= min( n,m)

ч

Для выходов величина ЯОзп рассчитывается аналогично.

Решение этих задач позволяет оценить релевантности по входам и выходам, полусумма которых дает оценку релевантности процессов.

Результаты «неточного» поиска предназначены исключительно для человека, который и анализирует предусловия, отображение, эффекты, а говорить о формальных доказательствах не имеет смысла.

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

Работа системы происходит следующим образом. С помощью редактора формируется OWL-S описание искомого (абстрактного) процесса в формате <lahs; Оаы! Pabs', Rabs»' Eabs>■ Из описания искомого процесса формируется расширенное <1, (У> описание, представляемое в виде XML-документа, пример которого приведен в листинге 1.

Листинг 1. Пример поискового образа процесса

<process processID="MONOGRAPH_AUTHOR_PROCESS" processType="Real"> <inputs qty="l">

<input inputID="_MONOGRAPH">

<inputType ontoClass="http://127.0.0.1/ontology/books.owlttMonograph"> <equivalentclass>

http://xmlns.com/wordnet/l.6/book.owlttTreatise </equivalentClass>

<subclass>http://127.0.0.1/ontology/books.owl#Publication</subClass> <superClass>http://127.0.0.1/ontology/books.owlttBook</supérelass> </inputType> <inputKeyWords qty="l">

<keyWord wrdnWord="Monograph"> <synonym>Treatise</synonym> <hypeconym>Publication</hyperonym> <hyponym>Book</hyponym> </keyWord> </inputKeyWords> </input>

</inputs> <outputs qty="l">

<output outputID-"_AUTHOR">

<outputType ontoClass="http://127.0.0.1/ontology/books.owltiAuthor"> <equivalentClass>

http: / /downloads. dbpedia. org/3.2/en/dbpedia-ontology. owltfWriter </equivalent Class>

<subClass>http://127.0.0.1/ontology/books.owl#Person</subclass> </outputType> <outputKeyWords qty="l">

<keyWord wrdnVJord="Author"> <synonym>Writer</synonym> <hyperonym>Coinmunicator</hyperonyiti> <hyponym>Coauthor</hyponym> </keyWord> </outputKeyWords> </output> </outputs> </process>

Оценивается релевантность совпадения множеств входов {Iahs, IKai)> (таблица 2), а также выходов (Oab.„ Oreai)> что в общем случае требует решения

задачи о назначениях, и на основе их оценивается релевантность процессов.

____Таблица 2. Оценка близости классов

Abs/Real Class Equivalent Class Subclass Superclass

Class 1 1 1 0,5

Equivalent Class 1 1 1 0,5

Subclass 0,5 0,5 0,5 0,5

Superclass 1 1 1 0,5

Выполнение сложных процедур доказательства соответствия предусловий, отображений и эффектов целесообразно только при условии, что сопоставляемые пары вход/вход, выход/выход и т.д. имеют типы данных, определяемые или одним и тем же классом или сопоставимыми классами одной онтологии, другими словами, оценка релевантности равна 1. В диссертации этот поиск назван «точным». К большому сожалению, это несколько идеализированный вариант. В реальности, одна или несколько пар таковы, что их элементы имеют типы, определяемые классами разных онтологий. Чтобы всё-таки оценить возможность использования реального процесса, в разработанной системе продолжается оценка релевантности пар вход/вход и выход/выход, путем сопоставления комментариев к типам данных, задаваемых в метке <label> OWL-S описания входов/выходов. В результате оценивается релевантность процессов, которая принципиально будет меньше 1, поэтому этот поиск в диссертации назван «неточным». «Неточный» поиск упорядочивает реальные процессы по убыванию оценок их релевантности к искомому. Он не ориентирован на композицию, следовательно, анализируются только пары вход/вход, выход/выход.

Рассмотрим процесс доказательства соответствия предусловий, отображений и эффектов искомого и реального процессов на примере доказательства соответствия предусловий (Pabs —► PKai)- Исходно заданы два OWL-S описания предусловий, выполненные разными людьми, в разное время

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

На рисунке 3 представлен общий алгоритм работы системы.

I Формирование описания искомого (абстрактного) процесса ]

Ж

НЕТ, искать вврианты композиции

Найден ли п вариант релеаа!

^Г)

1,0 подходящий «ОМПОАИЦИМ с

ностью - 1?

Поиск по спискам ключеьых с

• с использованием \Л/огс1Ые1 1

^Ана

Анаяиа соответствия предусловий, эффектов и связей входов выходов (Р,К,Е) для абстрактного и реального процессов

выдача результатов |

Рис. 3. Общий алгоритм работы системы поиска и композиции

Рассмотрим, для примера, укрупненный алгоритм «точного» поиска, который предполагает нахождение процессов, удовлетворяющих условиям

& Оаь$ £ 0Ка1

Реально условия более мягкие: для несовпадающих элементов множеств необходимо проверить нет ли между ними отношения 0\у1^шуа1еп1С1а55, ^з^иЬПаББОГили отношения сПэз^ирегПаззОГ.

1. Проверяется соотношение мощностей множеств:

При отрицательном результате — переход к анализу следующего процесса.

2. Проверяется совпадение и включение множеств:

labs = ^real И Oabs S О real

При отрицательном результате - переход к шагу 3, при положительном -сохранение идентификатора реального процесса и переход к анализу следующего процесса.

3. Не выполняется требование 1аь.к = Ireab Строится матрица соответствия входов (таблица 3), например, для 4 входов будет:

lab J1real jl 1 real ,1 1 real ¡3 1 real real

jí i abs 0 0 0 1

* abs 0 0 0 0

,3 1 abs 1 0 0 0

fabs 0 0 0 0

1 — совпадение классов, 0 - нет.

Вычеркиваем строки и столбцы, где есть 1. Остается матрица (таблица 4):

I(xhJi real * real JÍ 1 real

1 abs 0 0

I*abs 0 0

Дополняем классы /геа/ и I ка1 классами, которые находятся с ними в отношении 0\у1:еяшуа1еп1С1а55, гсШ^иЬОавзОГ или в отношении ШБЗ-.БирегОавзОГ. Предположим, что заключительная матрица будет иметь вид, представленный в таблице 5:

lahjlreal 1 real j2e 1 real ,2s * real ,3 1 rea! r3e I real ¡3s 1 real

1 abs 0 0 0 0 0 1

j2e l abs 0 0 0 0 0 0

^abs 0 0 0 0 0 0

¡4e 1 abs 1 0 0 0 0 0

Первая строка этой матрицы показывает, что l2„bs = Irreal, то есть при описании абстрактного (искомого) процесса в качестве типа данных этого входа был использован класс, который находится в отношении rdfs:subClassOf с классом freai- Это допустимо, поэтому выбирается значение 1 из таблицы 2.

Четвертая строка этой матрицы показывает, что í'eai,s = I2m,i, то есть при описании абстрактного (искомого) процесса в качестве типа данных этого входа был использован класс, эквивалентный которому совпадает с классом /2ка1. Это допустимо, поэтому 1.

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

4. Не выполняется требование Оаь £ ОкЛ. Строится матрица, аналогичная матрице по входам и выполняются аналогичные манипуляции.

5. Если процессов для анализа нет, то поиск заканчивается.

В диссертации подробно расписаны алгоритмы поиска вариантов композиций процессов и алгоритмы «неточного поиска».

Система поиска и композиции процессов сервисов представляет набор взаимосвязанных подсистем, на каждую из которых возложены определенные функции. Они позволяют разобрать пользовательский запрос на составляющие, осуществить генерацию и выполнение запросов к базе семантических описаний, произвести оценку релевантности и многое другое. На рис. 4 представлены основные подсистемы системы поиска и композиции процессов.

В четвертой главе приводятся результаты экспериментальной проверки работоспособности разработанной программной системы. Система поддержана грантами «Участник Молодежного Научно-Инновационного Конкурса» (У.М.Н.И.К.), полученными диссертантом в 2009 и 2010 годах, а также грантом по государственному контракту №112187 от 9.11.2009 в рамках Федеральной Целевой Программы «Научные и научно-педагогические кадры инновационной России на 2009 - 2013 годы», и грантом за второе место в категории «1Т-реализация» в номинации «Software» в конкурсе «IT-прорыв» в 2010 году.

Оценка работоспособности системы поиска и композиции производилась на специальном тестовом наборе OWL-S описаний OWLS-TC4 (OWL-S Test Collection Version 4).

Этот набор предназначен для оценки производительности алгоритмов поиска и композиции процессов с использованием OWL-S описаний. Он включает семантические описания сервисов по стандарту OWL-S 1.1 с предусловиями и эффектами, записанными с использованием языка SWRL для 9 различных предметных областей. В него также входит набор из тестовых запросов.

В соответствии с алгоритмами, представленными в главе 3 диссертации, был разработан программный модуль, который содержит 4 метода:

1. Метод, формирующий из OWL-S описаний сервисов списки типов входов/выходов;

2. Метод, который по сформированным спискам типов входов/выходов формирует их ближайшее окружение из классов соответствующих онтологий (в частности, из имеющихся в архиве OWLS-TC4);

3. Метод, формирующий списки ключевых слов, поясняющие типы входов/выходов, из комментариев к описаниям процессов и из комментариев к классам онтологий;

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

С помощью этих методов, можно сформировать поисковый образ процесса, представив его в виде XML-документа (см. листинг 1).

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

Проводились эксперименты следующих типов:

1. На «точный» поиск процессов в соответствии с алгоритмами, представленными в главе 3. При этом эксперименты проводились с предварительно сформированным файлом XML-документов, представляющих поисковые образы процессов. Поисковые образы процессов, удовлетворяющих требованиям композиционных алгоритмов, искусственно вставлялись в файл XML-документов.

2. На «точный» поиск процессов в соответствии с алгоритмами, представленными в главе 3 без предварительно сформированных поисковых образов процессов.

3. На «неточный» поиск процессов в соответствии с алгоритмами, представленными в главе 3. Эксперименты проводились с предварительно сформированным файлом XML-документов, представляющих поисковые образы процессов и самыми разнообразными запросами. Найденные процессы упорядочивались по убыванию релевантности. Для заданного набора типов входов/выходов запроса проводилось два эксперимента с ключевыми словами и без. В выдачах отсекались все процессы с релевантностью ниже заданной, подсчитывалось количество процессов, попавших в отсечение, количество процессов соответствующих запросу (по мнению экспертов). Из проделанных экспериментов сделан вывод: количество процессов, попавших в отсечение, всегда увеличивается, однако при этом увеличивается и шум, иногда процессы с меньшей рассчитанной релевантностью соответствуют запросу, а с большей - нет (по мнению экспертов тестовой коллекции).

Разработанная система поиска и композиции процессов внедрена в компании «Банковский Производственный Центр» в ходе работ по внедрению и интеграции процессинговой системы SmartVista с ERP-системой SAP AG. Компания «Банковский Производственный Центр» (ВРС Banking Technologies, www.bpcbt.com, сокращенно БПЦ), занимается реализацией сложных интеграционных проектов в сфере электронных платежей и розничного банковского бизнеса на базе перспективных и апробированных мировой практикой решений. Наряду с интенсивным ведением собственных разработок, для компании важно иметь средства для поиска реализованных решений в этой сфере бизнеса. Реализованные модели, алгоритмы и программные средства позволяют значительно ускорить и упростить процесс поиска и композиции веб-сервисов систем SmartVista и SAP AG. В связи со сложностью и распределенностью используемых в них веб-сервисов, оправданным является применение онтологий применяемых понятий, способствующее интеграции систем.

В заключении отражены основные результаты, полученные в данной работе.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

Итогом диссертационной работы являются следующие научные и практические результаты.

1. Проведенный сравнительный анализ различных подходов к описанию семантики веб-сервисов показал, что рекомендации \¥ЗС разработаны с учетом всех существующих подходов и именно на них следует . ориентироваться в исследовании семантического поиска.

2. Для более точного описания семантики веб-сервисов в модель процессов, поддерживаемых сервисом, наряду с предусловиями и эффектами предложено ввести отображение входов процесса на его выходы.

3. Анализ вопросов, связанных с проблемой семантического поиска веб-сервисов, показал, что в них не найдено место для предусловий, эффектов, что собственно и составляет сущность семантического описания. Существующие алгоритмы поиска и композиции ориентированы только на соответствие запроса и реальных процессов веб-сервисов по входам и выходам.

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

5. Разработаны интегрированная модель и алгоритмы поиска процессов веб-сервисов с использованием онтологии предметных областей и общепринятого лингвистического тезауруса \VordNet. Это дало возможность осуществлять поиск процессов, использующих в описаниях различные онтологии предметной области, путем использования комментариев (наборов ключевых слов из тезауруса \VordNet) к понятиям, которые являются типами входов и выходов искомого процесса (запроса) и реальных процессов.

6. Разработана расширенная модель семантического описания веб-сервисов за счет введения отображения входов на выходы, а также

. алгоритмы её обработки. Это позволило повысить точность поиска и производить проверку логического соответствия искомого и реальных процессов веб-сервисов.

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

8. Разработана структура и механизмы взаимодействия компонентов программной системы поиска и композиции процессов веб-сервисов с

использованием семантических описаний, что дало возможность совместного использования средств программирования Java и Пролог в реализованной программной системе.

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

10. Созданная программная система внедрена в компании «Банковский Производственный Центр». Использование системы способствует повышению эффективности интеграции процессинговой системы SmartVista с ERP-системой SAP AG. Реализованные модели, алгоритмы и программные средства позволяют значительно ускорить и упростить процесс поиска и композиции веб-сервисов систем SmartVista и SAP AG. В связи со сложностью и распределенностью используемых в них веб-сервисах, оправданным является применение онтологий используемых понятий, способствующее интеграции систем.

11. Разработанная программная система внедрена в Министерстве образования и науки РФ в рамках государственного контракта №П2187 от 9 ноября 2009 года. Использование системы позволило сделать более точным процесс поиска и композиции веб-сервисов, привело к ускорению разработок и снижению трудоёмкости создания сервис-ориентированных приложений.

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ Публикации в журналах, входящих в перечень ВАК:

1. Климов В.В. Система поиска и интеграции веб-сервисов с использованием семантических описаний // Информационные технологии в проектировании,и производстве.-2010.-№1.-С. 73 - 79

2. Климов В.В. Система описания и выполнения композиций семантических веб-сервисов / В.В. Климов, М.Е. Ульянов, П.А. Шапкин и др. // Информационные технологии в проектировании и производстве.-2010.-№4.-С. 64-70

3. Климов В.В. Угрозы нарушения информационной безопасности систем поиска и композиции веб-сервисов / В.В. Климов, В,П. Климов // Безопасность информационных технологий.-2010.-№3.-С. 42-46

4. Климов В.В. Подход к построению интерфейса композиции веб-сервисов на основе семантических описаний / В.В. Климов, П.А. Шапкин, ВЛ.Климов и др. // Вестник Воронежского государственного технического университета.- 2010.-№12,-С. 152-157

5. Климов В.В. Композиция семантических веб-сервисов / Н.Г. Волченков, В.В. Климов, Б.А. Щукин и др. // Информационно-измерительные и

управляющие системы. Интеллектуальные системы итехнологии.-2011.-№ 6,т.9 - С .35-42

Работы, опубликованные в сборниках трудов конференций:

6. Климов В.В. Система поиска и интеграции семантических веб-сервисов // Сборник трудов III Международной научно-практической конференции «Информационные технологии в образовании, науке и производстве», Серпухов, 29 июня - 3 июля 2009 г. Часть 2. стр.169-172

7. Климов В.В. Система поиска и интеграции веб-сервисов, основанная на семантических описаниях // Приоритетные направления инновационного развития.-2009.-№1.- С. 33.

8. Климов В.В. Разработка распределенной многоуровневой системы динамической композиции веб-сервисов / В.В. Климов, H.JI. Савинов // В кн.: Современные технологии в задачах управления, автоматики и обработки информации. Труды XIX международного научно-технического семинара. Сентябрь 2010 г., Алушта. - М.-.МЭИ, 2010, с. 260.

9. Климов В.В. Разработка математических методов сопоставления эффектов и предусловий семантических веб-сервисов / A.B. Орлов, В.В. Климов, Б. А. Щукин // Современные технологии в задачах управления, автоматики и обработки информации. Тезисы докладов XX международного научно-технического семинара. Сентябрь 2011 г., Алушта. - Пенза: Изд-во ПГУ, 2011, с.44-45.

10. Климов В.В. Разработка системы семантического поиска веб-сервисов на основании их OWL-S описаний и базовой онтологии предметной области / О.В. Кондратенко, В.В. Климов, Б.А. Щукин // Современные технологии в задачах управления, автоматики и обработки информации. Тезисы докладов XX международного научно-технического семинара. Сентябрь 2011 г., Алушта. -Пенза: Изд-во ПГУ, 2011, с. 50-51.

П.Климов В.В. Разработка системы автоматического планирования композиции веб-сервисов на основании их семантических описаний и базовой онтологии предметной области / A.A. Хоботов, В.В. Климов, Б.А. Щукин // Современные технологии в задачах управления, автоматики и обработки информации. Тезисы докладов XX международного научно-технического семинара. Сентябрь 2011 г., Алушта. - Пенза: Изд-во ПГУ, 2011, с. 79-80. 12. Климов В.В. Задача связи сервис-ориентированного приложения и эмулятора мобильного устройства / Климов В.В., Хейн A.A. // VIII Курчатовская молодёжная научная школа. Сборник работ. М.:РНЦ «Курчатовский институт», 2010. С.94.

Подписано в печать 16.02.2012. Формат 60x84 1/16. Объем 1,25 п.л. Тираж 100 экз. Заказ № 63. Типография НИЯУ МИФИ. 115409, г. Москва, Каширское ш.,

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

61 12-5/2264

Национальный исследовательский ядерный университет «МИФИ»

На правах рукописи

Климов Валентин Вячеславович

Модели, алгоритмы и программные средства поиска и композиции веб-сервисов с использованием семантических описаний

05.13.11 «Математическое и программное обеспечение вычислительных машин,

комплексов и компьютерных сетей»

ДИССЕРТАЦИЯ на соискание ученой степени кандидата технических наук

Научный руководитель д. т. н., проф. Щукин Борис Алексеевич

Москва - 2012

Содержание

Список используемых сокращений..................................................................................................4

Введение.............................................................................................................................................5

Глава 1. Концепции семантического веба и задачи поиска и композиции веб-сервисов.........17

1.1. Общий обзор концепций семантических веб-сервисов....................................................17

1.1.1. Основные понятия семантического веба.....................................................................17

1.1.2. Анализ спецификации RDF (Resource Description Framework).................................20

1.1.3. Анализ спецификации Ontology Web Language (OWL).............................................21

1.2. Онтологический подход к описанию семантики веб-сервисов........................................23

1.2.1. Анализ спецификации OWL-S (Web Ontology Language for Web-Services)............23

1.2.2. Сравнительный анализ спецификаций BPEL и OWL-S.............................................31

1.2.3. Сравнительный анализ спецификаций CDL и OWL-S...............................................33

1.2.4. Сравнительный анализ спецификаций SAWSDL и OWL-S......................................33

1.2.5. Сравнительный анализ спецификаций WSMO и OWL-S..........................................35

1.3. Современное состояние проблемы поиска и композиции................................................36

1.3.1. Сравнительный анализ стандартов описания веб-сервисов и их композиций........36

1.3.2. Сравнительный анализ моделей поиска и композиции веб-сервисов......................39

1.3.3. Сравнительный анализ программных систем композиции веб-сервисов................42

1.4. Постановка задачи диссертации..........................................................................................44

Выводы по главе 1.......................................................................................................................46

Глава 2. Модели поиска и композиции веб-сервисов на основе концепций семантического веба....................................................................................................................................................47

2.1. Многоуровневая архитектура семантических веб-сервисов.......................................48

2.2. Теоретико-множественная модель семантического веб-сервиса...............................52

2.3. Модель поиска и композиции веб-сервисов с использованием словарей понятий...55

2.4. Модель поиска и композиции процессов с использованием концептуальной модели предметной области.....................................................................................................................61

2.4.1. Онтология как концептуальная модель предметной области...................................61

2.4.2. Представление предметной области в виде логико-математической теории..........63

2.4.3. Предикатная модель атомарного/простого процесса веб-сервиса............................64

2.4.4. Уточнение теоретико-множественной модели процесса и задач поиска и композиции...............................................................................................................................66

2.4.5. Предикатная модель композиций процессов..............................................................69

Выводы по главе 2.......................................................................................................................77

Глава 3. Алгоритмы системы поиска и композиции процессов..................................................79

3.1. Общий алгоритм работы системы поиска и композиции.................................................80

3.2. Алгоритмы поиска и композиции.......................................................................................85

3.2.1. Подготовка данных........................................................................................................85

3.2.2. Алгоритм «точного» поиска.........................................................................................89

3.2.3. Алгоритм композиции процессов................................................................................91

3.2.4. Алгоритм «неточного» поиска.....................................................................................92

3.3. Алгоритмы логического соответствия искомого и реального процессов......................95

3.3.1. Синтаксическая унификация логических выражений................................................96

3.3.2. Формирование программы на языке Пролог...............................................................99

3.3.3. Выполнение доказательства на языке Пролог..........................................................103

3.4. Описание общей архитектуры системы поиска и композиции......................................108

Выводы по главе 3.....................................................................................................................110

Глава 4. Экспериментальное исследование и внедрение разработанной системы.................111

4.1. Поиск процессов на основе соответствия входов/выходов............................................111

4.1.1. Подготовка тестовых данных.....................................................................................111

4.1.2. Методика проведения экспериментов.......................................................................114

4.1.3. Проведение экспериментов.........................................................................................114

4.2. Анализ процессов на соответствие логических описаний..............................................121

4.3. Внедрение системы в компании «Банковский Производственный Центр»..................122

4.3.1. Разработка требований................................................................................................122

4.3.2. Разработка онтологии предметной области «потребительское кредитование» .... 124

4.3.3. Моделирование взаимодействия процессов, обеспечивающих функции

потребительского кредитования...........................................................................................129

4.3.4. Описание процессов и их композиций для области «потребительское

кредитование»........................................................................................................................131

4.3.5. Проверка системы на тестовых примерах.................................................................136

Выводы по главе 4.....................................................................................................................139

Заключение.....................................................................................................................................140

Список использованных источников...........................................................................................142

Приложение А. Акты о внедрении результатов диссертационной работы..............................151

Приложение Б. Состав реализованных программных компонентов системы поиска и

композиции.....................................................................................................................................153

Приложение В. Характеристика репозитория семантических описаний.................................154

Приложение Г. Примеры семантических описаний веб-сервисов из области

«потребительское кредитование» в рамках внедрения в БПЦ..................................................155

Приложение Д. Концептуальная модель предметной области «потребительское кредитование»................................................................................................................................160

Список используемых сокращений

API - Application Programming Interface (интерфейс прикладного программирования)

BPEL - Business Process Execution Language (язык выполнения бизнес-процессов)

CDL - Web Services Choreography Description Language (язык определения «хореографии» веб-сервисов)

DAML-S - DARPA Agent Markup Language for Services (язык разметки агентов веб-сервисов, на его смену пришёл стандарт OWL-S) DC - Dublin Core («Дублинское ядро»)

KIF - Knowledge Interchange Format (формат обмена знаниями) OGSA - Open Grid Services Architecture (открытая архитектура грид-сервисов) OWL - Ontology Web Language (язык описания онтологий семантического веба) OWL-S - Ontology Web Language for Web-Services (язык описания онтологий для семантических веб-сервисов)

RDF - Resource Description Framework (система описания ресурсов)

RPC - Remote Procedure Call (удалённый вызов процедур)

SAWSDL - Semantic Annotations for WSDL (семантические аннотации в WSDL)

SOAP - Simple Object Access Protocol (простой протокол доступа к объектам)

SPARQL - Sparql Protocol and RDF Query Language

SWRL - Semantic Web Rule Language (язык правил семантического веба)

SOA - Service-Oriented Architecture (сервис-ориентированная архитектура,COA)

UDDI - Universal Description Discovery & Integration (всеобщий реестр описания

поиска и интеграции)

URI - Uniform Resource Identifier (унифицированный идентификатор ресурса) URL - Uniform Resource Locator (унифицированный указатель ресурса) WSDL -Web Services Description Language (язык описания веб-сервисов) WSMO - Web Service Modeling Ontology (онтология моделирования веб-сервисов)

WSML - Web Service Modeling Language (язык моделирования веб-сервисов) XML - extensible Markup Language (расширяемый язык разметки)

Введение

Актуальность темы исследований.

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

Сервис-ориентированная архитектура (COA, Service Oriented Architecture, SOA) - это парадигма организации и использования распределенных информационных ресурсов, таких как приложения и данные, находящихся в сфере ответственности разных владельцев, для достижения желаемых результатов потребителем, которым может быть конечный пользователь или другое приложение [1]. COA основана на модульном подходе к разработке программного обеспечения, на использовании сервисов со стандартизированными интерфейсами. В основе COA лежат принципы многократного использования функциональных элементов ИТ, ликвидации дублирования функциональности в ПО, унификации типовых операционных процессов, обеспечения перевода операционной модели компании на централизованные процессы и функциональную организацию на основе промышленной платформы интеграции. Компоненты приложения могут быть распределены по разным узлам сети, и предлагаются как независимые, слабо связанные, заменяемые сервисы. Интерфейс компонентов предоставляет инкапсуляцию деталей реализации конкретного компонента (ОС, платформы, языка программирования и т.п.) от остальных компонентов. COA предоставляет гибкий способ комбинирования и многократного использования компонентов

для построения распределённых программных комплексов [2].

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

Частным случаем сервиса является XML веб-сервис. В целом можно сказать, что веб-сервис - это ресурс, реализующий бизнес-функцию и обладающий следующими свойствами:

• является повторно используемым;

• определяется одним или несколькими явными технологически-независимыми интерфейсами;

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

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

Сама технология веб-сервисов к настоящему времени хорошо развита и широко используется, обеспечивая решение целому ряду проблем, с которыми сталкиваются разработчики программного обеспечения. Ориентация на

собственные закрытые стандарты и форматы создает проблемы при интеграции приложений. Веб-сервисы получили широкое распространение, так как они основаны на открытых протоколах обмена и передачи данных и стандартах, поддерживаемых на различных программных платформах.

Также следует отметить такой фактор как простота создания приложений. Большинство крупных представителей рынка IT (Microsoft, IBM, Oracle) поддерживают стандарты веб-сервисов в своих средах разработки, которые в свою очередь значительно упрощают разработку веб-сервисов.

Использование данного подхода к программированию 1Т-инфраструктуры позволяет компаниям получать больше преимуществ при своем дальнейшем развитии. Подход СОА развивался с целью интеграции сложных и разнородных программных систем за счет использования слабо связанных друг с другом повторно используемых компонентов и обеспечения среды для их удобного связывания. Основной трудностью при реализации данного подхода является сложность нахождения веб-сервиса, который предоставлял бы требуемую функциональность. Зачастую при разработке крупных проектов, включающих сотни сервисов, программисту гораздо проще написать свой сервис, чем искать аналогичный среди уже реализованных. Тем самым нарушается главный принцип и преимущество СОА - принцип повторного использования компонентов, что негативно сказывается в дальнейшем на всем процессе разработки приложения.

Инвестиции в ПО на основе веб-сервисов в США

12 -г-

io

St. ■ *s ■

. .2 » .

I

■'ТТ^

' 20йЗ:-)'У' :. 2G04 vjiZDOS'' j v.2006 Х 20f?: д j Й0рС v

Рис. В.1. Инвестиции в программное обеспечение на основе веб-сервисов в США

По оценкам агентства IDC с 2001 года средний ежегодный рост рынка веб-сервисов только в США составлял 116% в год. Ожидается продолжение бурного роста рынка. Динамика роста представлена на рис. В.1. [3].

Технология веб-сервисов основана на открытых XML-стандартах, при помощи которых можно описать любые данные независимым от платформы способом, что приводит к слабой связанности приложений. Это стандарты:

• SOAP — это XML-протокол для удаленного вызова методов;

• UDDI описывает модель данных, предназначенную для обнаружения услуг, предоставляемых веб-сервисами;

• WSDL — это язык описания интерфейсов веб-сервисов.

SOAP (Simple Object Access Protocol) предоставляет собой механизм, ориентированный на обмен структурированной и типизированной информацией между узлами в распределенной и децентрализованной среде. При этом SOAP не регламентирует модель, лежащую в основе создаваемого программного обеспечения, также как и не ограничивает внутреннюю реализацию приложения. Его задачей является предоставление высокоуровневого API, позволяющего создавать и отправлять соответствующие спецификации сообщения. Такой подход позволяет использовать данный протокол в большинстве современных приложений, оперирующих как сообщениями, так и удаленными вызовами процедур (Remote Procedure Call, RPC).

Передача SOAP сообщений является односторонней, однако может быть расширена в соответствии со спецификой нижележащего транспортного протокола. В случае использования SOAP поверх HTTP становится возможным передавать пары запрос/ответ в пределах одного соединения с удаленным сервером. Однако, вне зависимости от протокола, ответственного за передачу данных, сообщения маршрутизируются в соответствии с атрибутом, позволяющим доопределять обработку сообщения на одном или нескольких промежуточных узлах относительно конечной точки маршрута.

UDDI (Universal Description, Discovery and Integration) представляет собой реестр, имеющий механизм обнаружения веб-сервисов. Каждое описание

в UDDI [4] состоит из элемента бизнес-реестра (BusinessEntity), в котором провайдеры могут регистрировать свои сервисы, а разработчики — искать сервисы. Компании регистрируют для сервисов название, ключевые значения, категории и контактную информацию (телефон, email, HTTP, FTP, факс и так далее). UDDI позволяет описывать, интегрировать и публиковать сервисы.

Сервис UDDI складывается из двух главных составляющих: регистрации и нахождения данных. Регистрационная часть означает, что разработчик отправляет в UDDI информацию, которую потребитель может запросить и найти, что и образует вторую составляющую. Организации и частные лица используют UDDI с помощью программных интерфейсов SOAP или одного из пользовательских интерфейсов, предоставляемых операторами или производителями других веб-сервисов.

WSDL (Web Services Description Language) описывает веб-сервисы как наборы "конечных точек взаимодействия" или портов, отправляющих и получающих сообщения по указанным протоколам, таким как НТТР или SOAP-RPC. WSDL ставит целью автоматизировать связи между веб-сервисами путем разграничения абстрактных описаний сервисов от конкретных форматов данных и протоколов, которые используются для реализации веб-сервиса.

Общая схема взаимодействия веб-сервисов представлена на рис. В.2. В реестре UDDI хранится информация об опубликованном веб-сервисе, его основные методы и параметры доступа к нему. Потребитель сервиса может обнаружить в UDDI-реестре требуемый сервис, соответствующий его запросу, и получить возможность использовать этот сервис. Это становится возможным благодаря тому, что в UDDI-реестре содержится информ�