Дипломная работа: Интеграция компонентов портала для проведения лингвистических исследований

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

3.2 Реализация интерпретатора бизнес-процессов

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

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

Рисунок 3.9. Интерпретатор бизнес-процессов

3.3 Работа координатора на примере композиций сервисов

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

AuthorizeUser

GetCorpora

GetDocuments

GetDocument

MakeCommonCorpus

MakeCorpus

AddUser

UpdateUser

DeleteUser

AddDocument

UpdateDocument

DeleteDocument

UpdateCorpus

DeleteCorpus

FindDocuments

FindText

FindTextSimple

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

Рисунок 3.10. Сервис хранения документов

Далее создадим бизнес-процесс под именем «Authorize» в рабочей зоне путем перетаскивания в рабочую область по очереди методов авторизации, добавления и удаления пользователя (рис 3.11).

Рисунок 3.11. Создание процесса

После создания процесса нужно его сохранить в облачный доступ путем нажатия клавиши «Сохранить» в правом нижнем углу, и попробуем протестировать наш процесс с помощью нашего тестового клиента. При запуске тестовый клиент выдает список всех сохраненных процессов. Далее нужно ввести имя нужного нам процесса, а именно «Authorize», и ввести логин и пароль пользователя (рис. 3.12).

Рисунок 3.12. Вызов процесса на выполнение

Удаление у данного сервиса не возвращает никакого результата, поэтому мы видим просто сообщение о том, что весь процесс выполнен успешно от начала и до конца.

3.4 Публикация сервиса

Для публикации сервиса используется портал Azure [16]. Это общедоступное облако, позволяющее размещать различные виды решений: от веб-сервисов и хранилищ данных до конечного программного обеспечения (рис. 3.13).

Рисунок 3.13. Портал Azure

С помощью профиля публикации веб-приложений, предоставляемого Azure, и встроенных средств Visual Studio сервис был опубликован. Доступ к сервису возможен по ссылке: https://processconvertor.azurewebsites.net. Тестирование координатора сервисов

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

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

Таблица 3.1 - Тестирование добавления сервиса

№ теста

Входные данные

Ожидаемый результат

Реальный результат

1

Пустая строка

Сообщение, что ссылка не введена

Сообщение, что ссылка не введена

2

http://addinxwcfsample.apphb.com/SayHelloService.svc (WCF сервис)

Операции сервиса

Операции сервиса

3

https://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx (Web сервис)

Операции сервиса

Операции сервиса

4

Некорректная ссылка

Сообщение, что ссылка некорректна

Сообщение, что ссылка некорректна

Результат тестирования удаления сервиса из списка приведен в таблице 3.2.

Таблица 3.2 - Тестирование удаления сервиса

№ теста

Входные данные

Ожидаемый результат

Реальный результат

1

При удалении выбрана операция сервиса

Удаление сервиса из списка

Удаление сервиса из списка

2

При удалении выбран сервис

Удаление сервиса из списка

Удаление сервиса из списка

3

Попытка удаления пустого элемента TreeView

Сообщение, что не выбран сервис для удаления

Сообщение, что не выбран сервис для удаления

Далее тестируем сохранение в BPEL файл бизнес-процессов. Необходимо проверить несовпадение количества входных параметров с аргументами, несовпадение типов параметров и аргументов. Для примера возьмем процесс, в котором вызывается метод EnumValutes(Seld:boolean):object. Результат тестирования представлен в таблице 3.3.

Таблица 3.3 - Тестирование сохранения процессов

№ теста

Входные данные

Ожидаемый результат

Реальный результат

1

Процесс с пустым набором параметров

Сообщение об ошибке сохранения

Сообщение об ошибке сохранения

2

Процесс с 2-мя и более параметров

Сообщение об ошибке сохранения

Сообщение об ошибке сохранения

3

Процесс с 1 параметром, тип которого отличен от boolean

Сообщение об ошибке сохранения

Сообщение об ошибке сохранения

4

Процесс с 1 параметром, тип которого равен boolean

Сообщение, что сохранение успешно завершено

Сообщение, что сохранение успешно завершено

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

Таблица 3.4 - Тестирование интерпретатора процессов

№ теста

Входные данные

Ожидаемый результат

Реальный результат

1

Вызов функции (имя процесса, входные параметры)

Результат выполнения бизнес-процесса

Результат выполнения бизнес-процесса

2

Вызов функции (пустое имя процесса, пустые входные параметры)

Сообщение об ошибке вызова функции

Сообщение об ошибке вызова функции

3

Пустой входной список процессов

Сообщение об ошибке получения процессов

Сообщение об ошибке получения процессов

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

Заключение

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

проведен сравнительный анализ существующих методов интеграций компонентов информационных систем с сервис-ориентированной архитектурой;

определены методы, которые будут использоваться в разрабатываемом сервисе

на основе результатов анализа сформулированы требования к разрабатываемому программному продукту;

выполнено проектирование сервиса интеграции и описано его место в общей архитектуре лингвистического портала;

выполнено проектирование пользовательского интерфейса;

выполнена программная реализация координатора, а также проведено тестирование и отладка функций (при реализации была использована среда Visual Studio).

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

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

Результаты исследования вместе с результатами работ Симоновой Н.А. и Гуляевым В.Ю. прошли апробацию на всероссийской научно-практической конференции молодых учёных с международным участием «Математика и междисциплинарные исследования - 2018» (ПГНИУ, г. Пермь). В секции «Прикладная лингвистика» доклад получил первое место.

Библиографический список

1. Разработка программного обеспечения для проведения корпусных исследований английского языка // НИУ ВШЭ в Перми URL: https://perm.hse.ru/bi/sfcr (дата обращения: 18.02.2018).

2. Бармина Е.И. Система для обработки корпусов текстов / Е.И. Бармина, Р.Н. Бушуев, Н.В. Котельникова, В.В. Ланин, О.А. Плотникова // Математика и междисциплинарные исследования - Пермь: Пермский государственный национальный исследовательский университет, 2016. - С. 245-250.

3. Копотев М.В. Введение в корпусную лингвистику: учеб. пособие для студентов филологических и лингвистических специальностей университетов / М.В. Копотев. - Прага: Animedia Company. - 2014. - 230 с.

4. Badr Y. Service-Oriented Workflow. Journal of Digital Information Management, 6(1), 120-127, 2018 г. URL: http://dblp.uni-trier.de/db/journals/jdim/jdim6.html pdf (дата обращения: 18.02.2018).

5. Leymann F. Web Services Flow Language, Specification. 2001 г. URL: http://xml.coverpages.org/WSFL-Guide-200110.pdf (дата обращения: 18.02.2018).

6. Выбор технологии для интеграции прикладных систем предприятия (EAI) - JCA, JMS или Web_сервисы? // IBM developerWorks. URL: https://www.ibm.com/developerworks/ru/library/ws-jcajms/index.html (дата обращения: 18.02.2018).

7. Самуйлов К.Е., Серебренникова Н.В., Чукарин А.В., Яркина Н.В. Основы формальных методов описания бизнес-процессов / Учеб. пособие. - М.: РУДН, 2008.

8. Кулябов Д.С., Королькова А.В. Введение в формальные методы описания бизнес-процессов / Учеб. пособие. - М.: РУДН, 2008.

9. Michael Papazoglou, Willem-Jan van den Heuvel. Web Services Management: A Survey / IEEE Internet Computing - IEEE Computer Society, 2005.

10. Даниил Фейгин. Архитектуры и средства интеграции приложений / Открытые системы. СУБД №02 - Открытые системы, 2005.

11. Алексей Добровольский. Интеграция приложений: методы взаимодействия, топология, инструменты / Открытые системы. СУБД №09 - Открытые системы, 2006.

12. How to: Create a Custom Activity Designer // Microsoft. URL: https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/how-to-create-a-custom-activity-designer (дата обращения: 12.05.2018).

13. Windows Presentation Foundation. Microsoft Development Network . URL: https://msdn.microsoft.com/ru_ru/library/ms754130%28v=vs.100%29.aspx?f=255&MSPPError=-2147217396 (дата обращения: 12.05.2018).

14. Developing Service_Oriented Applications with WCF // Microsoft. URL: https://msdn.microsoft.com/ru_ru/library/dd456779.aspx (дата обращения: 12.05.2018).

15. Apache log4net // Logging Services. URL: http://logging.apache.org/log4net (дата обращения: 16.05.2018).

16. Что такое Azure - облачные службы от Microsoft // Платформы и службы облачных вычислений Microsoft Azure. URL: https://azure.microsoft.com/ru-ru/overview/what-is-azure (дата обращения: 17.05.2018).