УДК 004.414.2.519.876 ББК 32.973
И. В. Артамонов
Байкальский государственный университет
экономики и права
ИСПОЛЬЗОВАНИЕ ОКРАШЕННЫХ СЕТЕЙ ПЕТРИ ДЛЯ МОДЕЛИРОВАНИЯ БИЗНЕС-ТРАНЗАКЦИЙ В СЕРВИС-ОРИЕНТИРОВАННОЙ СРЕДЕ*
Рассматривается понятие бизнес-транзакции как особого вида взаимодействия между участниками бизнес-процесса. Бизнес-транзакции следует выделять для сложных, многоэтапных действий, которые вовлекают множество участников и длятся долгое время. Такая транзакция рассматривается в контексте сервис-ориентированной архитектуры предприятия, что позволяет наделять ее особыми свойствами, связанными с повышением надежности ее выполнения. Для моделирования бизнес-транзакции предлагается использовать аппарат окрашенных сетей Петри, для которого были разработаны примитивы, предназначенные для описания сервисов, их операций и взаимодействия. Для описания надежности транзакции вводится понятия компенсирующих и восстанавливающих операций, декомпозирующих сетей, интерфей-сно-совместимых операций. На основании идей workflow-сетей (Виля ван дер Аалста) вводится понятие устойчивости бизнес-транзакции. Все это позволяет выделить понятие внутренне-надежной бизнес-транзакции произвольного порядка, описать метрики оценки ее надежности и, таким образом, представить новый подход для оценки надежности исполнения сложных бизнес-процессов в сервис-ориентированной среде.
Ключевые слова: сервис-ориентированная архитектура; бизнес-транзакция; окрашенные сети Петри; надежность программного обеспечения.
I. V. Artamonov
Baikal State University of Economics and Law
USING COLOURED PETRI NETS TO MODEL BUSINESS TRANSACTIONS IN A SERVICE-ORIENTED ENVIRONMENT
The paper deals with business transactions as particular interaction between participants of a business process. Business transactions should be used for complex multi-stage actions that involve many participants and last long. Such transaction, when used in the context service-oriented structure of an enterprise, is endued with special features that add to reliability of its performance. To model a business transaction, the author suggests using Coloured Petri nets, for which some primitives for describing services, their interaction and operations have been developed. The author introduces such notions as compensating and reset actions, and interface-compatible operations to characterize reliability of a transaction. The notion of continuity of business transaction is based on WF-nets ideas (by W.M.P. van der Aalst). All this results in developing the notion of internal reliability of unspecified business transaction, and helps to describe its assessment criteria of its reliability, and, thus, makes it possible to propose a new approach to assessment of reliability of performing complex business processes in a service-oriented environment.
Keywords: service-oriented structure; business transaction; Coloured Petri nets; reliability of software.
* Работа выполнена при финансовой поддержке проекта ФБ-40 «Современные информационно-телекоммуникационные технологии в управлении социально-экономическими и технологическими процессами» (номер регистрации в ФГНУ ЦИТиС 01201356932).
© И. В. Артамонов, 2013
Повышение уровня автоматизации современных предприятий, необходимость их сотрудничества и интеграции, а также высокая динамика рыночной среды предполагает усиление роли так называемого электронного В2В-взаимодействия, т. е. взаимодействия между предприятиями на базе обмена электронными документами. Причем в выполнении сложного совместного бизнес-процесса может участвовать большое количество предприятий, схема взаимодействия которых не ограничивается тривиальной последовательной передачей информации «по цепочке», а может состоять из сложных структур, разветвлений, циклов, иерархических включений и т. д. При этом все участники совместного процесса согласованно выполняют общую задачу и гарантируют, что сохранят последствия ее выполнения. Исходя из определения данного нами в статье «Бизнес-транзакции: характеристики и отличительные особенности» будем называть такое взаимодействие «бизнес-транзакцией»1. Вовлечение большого количества участников может негативно сказываться на общем качестве подобной организации, прежде всего, на ее надежности: каждый новый участник, привнося вероятность собственного отказа, может увеличивать общий риск отказа всей системы. Однако современные разработки в области программирования, технологий интеграции и архитектур информационных систем позволяют предложить новый подход к повышению надежности подобного взаимодействия.
В настоящее время одной из основных концепций построения распределенных информационных систем различных областей применения считается сервис-ориентированный подход (см. подробнее: [1; 2; 3, р. 82; 4, р. 278; 6, р. 662]). В основе этой концепции, как и в основе сервис-ориентированного программирования, лежит понятие сервиса или службы — самостоятельной программной единицы с четко-определенным интерфейсом, который обеспечивает слабую привязку программы к внешней среде. Благодаря особенным свойствам данная программная единица способна выступать участником различных процессов обработки информации, предполагая простую и общедоступную технологию повторного использования, интеграции и вовлечения в вычислительный процесс. При этом вызывающие сервис процессы могут иметь различный контекст выполнения и могут быть не связаны друг с другом. Такая особенность сервиса позволяет использовать эту концепцию для повышения надежности информационных систем резервированием — сбойный или отказавший сервис или бизнес-функция могут быть оперативно заменены на другой сервис или группу сервисов, результаты работы которых совпадают с результатами отказавшего сервиса. При этом сервис может вовлекать и человека-оператора для выполнения ручных операций.
Пусть бизнес-транзакция моделируется с помощью аппарата неиерархических окрашенных сетей Петри [5]. Тогда сеть Петри BT = (P, T, A, Е, V, C, G, E, I) можно представить как бизнес-транзакцию в сервис-ориентированной среде, если:
1. P — конечное множество позиций бизнес-транзакции, среди которых выделяются промежуточные Pm и стабильные позиции Pf такие, что P = Pm U Pf. Стабильные позиции можно разделить на входные Pin и выходные Pout, где • Pin = Pout • = 0.
2. T — конечное множество операций, при этом каждая операция может быть представлена как подсеть Петри или декомпозироваться до самостоятельной сети.
1 Бизнес-транзакция — это согласованное изменение состояния отношений двух и более сторон, где каждая сторона готова к этому изменению и знает, что его согласованно примут все стороны (см. подробнее: Бизнес-информатика. 2012. № 2 (20). С. 30).
3. Л — конечное множество направленных дуг, таких, что Р П Т = Р ПЛ = = Т П Л = 0.
4. Е — конечное множество непустых типов данных, используемых в транзакции.
5. V — конечное множество типизированных переменных таких, что Vv е V : ТипМ е Е.
6. С : Р ^ Е — функция «окрашивания», ставящая в соответствие каждой позиции подмножество данных.
7. G — сторожевая функция, ставящая в соответствие каждому переходу сторожевое условие. Сторожевое условие позволяет, например, смоделировать отказ операции транзакции.
8. Е — функция выражения над дугой, ставящая в соответствие каждой дуге а е Л опеределенное выражение.
9. I — это функция инициализации, ставящая в соответствие каждой позиции р е Р выражение инициализации такое, что Vp е Р : Туре[1(р)] = С(р)т8.
10. Пара (р, с), гдер е Р и с е С(р) — это метка (фишка) сети, определяющая нахождение данных определенного типа в определенной позиции.
11. Маркировка — это комплект меток в позициях сети. Маркировка сети определяет состояние бизнес-транзакции.
12. Начальная маркировка М0 определяется через вычисление инициализирующих выражений, т. е. М0(р) = 1(р) для всех р е Р и является начальным состоянием всех участников бизнес-транзакции.
13. Финальная маркировка Mf достигается через конечную последовательность шагов Y, при этом Mf е Д(М0) и = 0.
Остальные значения бизнес-транзакции аналогично объясняются в терминах окрашенной сети Петри. Таким образом, выполнение бизнес-транзакции заключается в последовательном переходе от начальной к финальной маркировке, последующие переходы из которой невозможны. Каждый переход является атомарной операцией, которая, как уже отмечалось, может быть рассмотрена в виде сети Петри, на которую налагается ряд ограничений. С другой стороны:
Если ВТ = (Р, Т, Л, Е, V, С, G, Е, I) выполняет требования сервисных операций1, то она может рассматриваться как сервисная операция и включаться в качестве атомарной функции в состав композиций более высокого уровня.
Пусть ВТ = (Р, Т, Л, Е, V, С, G, Е, I) — это бизнес-транзакция в сервис-ориентированной среде Б, в которой также существует множество сервисов S, каждый из которых, в свою очередь, реализует конечное множество атомарных операций О. Обозначим множество операций сервиса S1 = Ов1, S2 = Ов2, ..., Sn = О™, при этом О = Ов1 и Ов2 и — и О™, где п > 1 показывает количество служб в среде бизнес-транзакции. Интерфейсно-совместимые службы могут составлять теоретически неограниченное множество композиций Q.
Тогда:
1. Ввиду определения операций сервиса для ВТ выполняется условие Т С О.
2. Назовем операцию О' восстанавливаемой 1-го порядка, если существует композиция атомарных операций О1 ® О2 ... ® Оп, V! < i < п : О1 е О, такая, что она интерфейсно-эквивалентна О'. Иными словами для О' существует декомпозирующая сеть 1-го порядка, построенная на основе операций О1 ... Оп. Такую композицию назовем восстанавливающей композицией.
1 Подробно требования мы рассматривали в статье «Моделирование сервисной композиции с помощью окрашенных сетей Петри» (см. Вестник НГУЭУ. 2013. № 2. C. 180-187).
3. Назовем операцию O' восстанавливаемой k-го порядка, если существует композиция атомарных и (или) композитных операций такая, что она интер-фейсно-эквивалентна O', при этом композитные операции могут состоять из декомпозирующих сетей вплоть до ^го порядка.
4. Назовем бизнес-транзакцию BT восстанавливаемой ^го порядка, если она состоит только из восстанавливаемых операций ^го порядка.
5. Назовем бизнес-транзакцию BT частично восстанавливаемой ^го порядка, если она включает восстанавливаемые операции вплоть до ^го порядка.
6. Назовем бизнес-транзакцию BT атомарной по структуре тогда и только тогда, когда ее начальная M0 и финальные маркировки Mf являются домашними маркировками, т. е. M0 е Mhome и Mf е M*home.
7. Назовем бизнес-транзакцию BT композиционно атомарной когда для любого ее состояния M' существует компенсирующая композиция q операций с такими маркировками Mq, что M' = M0 и (М^ = M0 или М^ = Mf), т. е.
VM' е е Q: M'= M(q, Mq = M0
и
VM' е ЩМ0^ еQ : M' = Mqq, М) = Mf.
Назовем состояние M' компенсируемым состоянием.
8. По аналогии с восстанавливаемостью, частичной композиционной атомарностью транзакция может обладать, если для некоторых ее маркировок существуют компенсирующие композиции.
Отметим, что условие сервисной композиции не ограничивает возможность появления в ней блокировок и циклов. Путь от начальной до финальной маркировки может существовать, однако такая модель не гарантирует достижения финальной маркировки при всех вариантах выполнения. Таким образом, необходимо добавить условие устойчивости бизнес-транзакции, которое вместе с условием сервисной композиции будет функционально аналогично условию, заданному в работе Виля ван дер Аалста «Верификация workflow-сетей» для WF-сетей [7, р. 8]. Бизнес-транзакцию назовем устойчивой тогда и только тогда, когда для любой маркировки существует последовательность переходов Yтакая,что:
VM' е Я(М0)3=4: Mf е ЩМ').
Ранее в статье «Внутренне-надежная бизнес-транзакция» нами было определено, что внутренне-надежная бизнес-транзакция должна быть атомарной, отказоустойчивой и восстанавливаемой1. Пусть ВТ = (Р, Т, А, Е, V, С, G, Е, I) — это бизнес-транзакция в сервис-ориентированной среде Б, тогда ВТ будем называть внутренне-надежной бизнес-транзакцией, если она атомарная, восстанавливаемая и устойчивая.
Отметим, что надежность бизнес-транзакции, понятие которой дано в этом определении, должно являться труднодостижимым свойством, ввиду следующих причин:
1. Операции сервисов могут влиять на среду вне зоны ответственности бизнес-транзакции, например, это касается ручных и полуавтоматических операций, произведенный эффект после которых невозможно отменить. Моделировать такой эффект можно с помощью переходов в позиции, для которых нет выходящих дуг.
1 См.: Применение математических методов и информационных технологий в науке, образовании и экономике. Иркутск : Изд-во БГУЭП, 2013. Вып. 11. С. 21-24.
2. Мощность множества всех композиций операций Q может быть недостаточной для формирования восстанавливаемой или композиционно атомарной транзакции. Причинами недостаточности Q может выступать небольшое количество операций и неполная их интерфейсная совместимость. Все эти проблемы возникают ввиду финансовых, трудовых и временных ограничений накладываемых на разработку и развитие сервис-ориентированной среды предприятия.
Поэтому скажем, что ВТ является внутренне-надежной бизнес-транзакцией с ограниченной надежностью, если она устойчивая, частично атомарная и частично восстанавливаемая.
Для оценки надежности бизнес-транзакции по ее модели мы предлагаем воспользоваться следующими метриками:
1. Восстанавливаемость Б для ВТ = (Р, Т, А, Е, V, С, G, Е, I) — это отношение числа восстанавливаемых операций к общему их числу:
Б = М,
|Р|
где Ри — множество восстанавливаемых операций транзакции, Ри С Р.
2. Атомарность А для ВТ = (Р, Т, А, Е, V, С, G, Е, I) — это отношение числа маркировок, из которых возможен переход к начальной или финальной маркировки, к общему их числу (при условии, что множество достижимых из маркировок М0 конечно и счетно):
л М А =
M
где МА — множество компенсируемых состояний; МА С М.
Таким образом, чем выше Б и А для ВТ, тем выше ее внутренняя надежность, а для внутренне-надежной бизнес-транзакции показатели имеют значения Б = 1 и А = 1. Также отметим, что надежность бизнес-транзакции не гарантирует ее успешное выполнение или откат. Это объясняется тем, что для обеспечения атомарности и восстанавливаемости используются компенсирующие сети, показатели надежности которых могут отличаться от 1. В связи с этим, введем понятие порядка надежности. Пусть ВТ = (Р, Т, А, Е, V, С, G, Е, I) — это бизнес-транзакция в сервис-ориентированной среде Б, тогда ВТ назовем внутренне-надежной бизнес-транзакцией ^го порядка, если она атомарная и восстанавливаемая, а используемые в ней восстанавливающие и компенсирующие композиции операций реализуются надежными декомпозирующими сетями вплоть до ^го порядка.
Таким образом, нами был представлен способ моделирования бизнес-транзакций для сервис-ориентированной среды предприятия. Кроме этого, благодаря особым свойствам концепции сервисов было дано новое определение внутренней надежности бизнес-транзакции, включающее возможность транзакции восстанавливаться после сбоев отдельных элементов, иметь устойчивую структуру и обеспечивать свою атомарность.
Список использованной литературы
1. Bieberstein N. Executing SOA: A Practical Guide for the Service-Oriented Architect / N. Bieberstein, R. G. Laird, K. Jones, T. Mitra. — IBM Press, 2008. — 240 p.
2. Brown P. C. Implementing SOA: Total Architecture in Practice / P. C. Brown. — Addison Wesley Professional, 2008. — 736 p.
3. Catts A. Business Process Management enabled by SOA / A. Catts, J.St. Clair. — IBM Press, 2009. — 98 p.
4. Cohen F. Fast SOA / F. Cohen. — Raining Data Corporation, Irvine, California, 2007. — 296 p.
5. Jensen K. Coloured Petri Nets modeling and validation of concurrent systems / K. Jensen. — Springer, 2009. — 384 p.
6. Rosen M. Applied SOA: Service-Oriented Architecture and Design Strategies / M. Rosen, B. Lublinsky, K. T. Smith, M. Balcer. — Wiley Publishing, Inc., 2008. — 698 p.
7. W.M.P. van der Aalst. Verification of Workflow Nets / W.M.P. van der Aalst // Proceedings of the 18th International Conference on Application and Theory of Petri Nets. — 1997. — P. 407-426.
References
1. Bieberstein N., Laird R. G., Jones K., Mitra T. Executing SOA: A Practical Guide for the Service-Oriented Architect. IBM Press, 2008. 240 p.
2. Brown P. C. Implementing SOA: Total Architecture in Practice. Addison Wesley Professional, 2008. 736 p.
3. Catts A., Clair J.St. Business Process Management enabled by SOA. IBM Press, 2009.98 p.
4. Cohen F. Fast SOA. Raining Data Corporation, Irvine, California, 2007. 296 p.
5. Jensen K. Coloured Petri Nets modeling and validation of concurrent systems. Springer, 2009. 384 p.
6. Rosen M., Lublinsky B., Smith K. T., Balcer M. Applied SOA: Service-Oriented Architecture and Design Strategies. Wiley Publishing, Inc., 2008. 698 p.
7. W.M.P. van der Aalst. Verification of Workflow Nets. Proceedings of the 18th International Conference on Application and Theory of Petri Nets, 1997, pp. 407-426.
Информация об авторе
Артамонов Иван Васильевич — старший преподаватель, кафедра информатики и кибернетики, Байкальский государственный университет экономики и права, 664003, г. Иркутск, ул. Ленина, 11, e-mail: [email protected].
Author
Artamonov Ivan Vasilyevich — Senior Instructor, Dep-t of Informatics and Cybernetics, Baikal State University of Economics and Law, 11 Lenin st., 664003, Irkutsk, Russia, e-mail: [email protected].