Научная статья на тему 'Надежность B2B-взаимодействия в сервис-ориентированной среде'

Надежность B2B-взаимодействия в сервис-ориентированной среде Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
121
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БИЗНЕС-ПРОЦЕСС / НАДЕЖНОСТЬ / КАЧЕСТВО ОБСЛУЖИВАНИЯ / СЕРВИС / СЕРВИС-ОРИЕНТИРОВАННАЯ АРХИТЕКТУРА / B2B / ACID / BUSINESS TRANSACTION / BUSINESS PROCESS / SERVICEORIENTED ARCHITECTURE / WEB SERVICE / RELIABILITY / QOS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Артамонов Иван Васильевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

RELIABILITY OF B

The paper shows a reliability of the business-transaction as a reliability of three dimensions: transaction, business-process, distributed system. It formulates new definition of the reliability for B2Bcollaboration and shows approaches to increase the reliability with service-oriented technologies.

Текст научной работы на тему «Надежность B2B-взаимодействия в сервис-ориентированной среде»

ЭЛЕКТРОННЫЙ НАУЧНЫЙ ЖУРНАЛ «APRIORI. СЕРИЯ: ЕСТЕСТВЕННЫЕ И ТЕХНИЧЕСКИЕ НАУКИ»

№ 5 2014

УДК 004.052

НАДЕЖНОСТЬ Б2Б-ВЗДИМОДЕЙСТВИЯ В СЕРВИС-ОРИЕНТИРОВАННОЙ СРЕДЕ

Артамонов Иван Васильевич

старший преподаватель Байкальский государственный университет экономики и права

Иркутск

author@apriori-journal. ru

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

Ключевые слова: B2B; бизнес-процесс; ACID; business transaction; надежность; качество обслуживания; сервис; сервис-ориентированная архитектура.

RELIABILITY OF B2B COLLABORATIONS IN SERVICE-ORIENTED ENVIRONMENT

Artamonov Ivan Vasilievich

senior lecturer

Baikal National University of Economy and Law, Postgraduate, Irkutsk

Abstract. The paper shows a reliability of the business-transaction as a reliability of three dimensions: transaction, business-process, distributed system. It formulates new definition of the reliability for B2B- collaboration and shows approaches to increase the reliability with service-oriented technologies.

Key words: B2B; business process; business transaction; service-oriented architecture; web service; ACID; reliability; QoS.

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

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

Рассмотрим ряд характерных черт электронного В2В-взаимодействия.

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

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

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

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

С точки зрения программной системы надежность является одним из признаков качества программы. Так, Государственный стандарт ГОСТ Р ИСО/МЭК 9126-93 [4], основанный на стандарте ISO/IEC 9126, определяет надежность программной системы как «набор атрибутов, относящихся к способности программного обеспечения сохранять свой уровень качества функционирования при установленных условиях за установленный период времени». К таким атрибутам относят:

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

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

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

В международной практике надежность зачастую относят к стандартным параметрам QoS программы: безопасности, надежности и производительности. Термин QoS (англ. Quality of Service - качество обслуживания) изначально появился в теории электрических, компьютерных сетей, а также промежуточного ПО [5], и, согласно, [6] качество обслуживания - «это совокупность характеристик услуги, которые имеют отношение к ее возможности удовлетворять установленные и предполагаемые потребности пользователя».

Классические транзакции баз данных являются средством повышения надежности операций с данными и для этого должны выполнять требования, называемые ACID (англ. Atomicity, Consistency, Isolation, Durability)) [7]: атомарность (Atomicity) предполагает, что транзакция либо должна быть выполнена полностью и до конца, либо не выполнена

вообще; согласованность (Consistency) предполагает, что транзакция переводит БД из одного устойчивого состояния в другое; изолированность (Isolation) обеспечивает незаметность незавершенных действий транзакции для других транзакций. Иными словами, пока транзакция не завершена, никакие результаты ее действия не будут доступны, т.е. обеспечивается изоляция транзакции от других; длительность (Durability) указывает на то, что, если транзакция была зафиксирована, ее результаты устойчивы и сохраняются в БД даже несмотря на возможные последующие сбои.

Однако с развитием теории B2B возникла необходимость в расширении понятия транзакции и т.н. «ослаблении» ACID-свойств, ввиду чего были разработаны различные модификации ([2], [8], [9], [10] и [11]): модели хроник, ConTract, многоуровневых транзакций, кооперативные транзакции, вложенные, гибкие, открытые транзакции и т.д. Все эти подходы были разработаны для поддержки т.н. «длительных» транзакций, которые могут выполняться в течение продолжительного времени с возможностью закрепления промежуточных итогов, промежуточного «отката» или поддержкой иерархии подтранзакции. Тем не менее, эти номинально модели стараются следовать ACID, а ослабляется зачастую только свойство изолированности, вследствие чего транзакция может оказаться в положении невозможности отката к начальным позициям, что повлечет нарушение свойства атомарности. Но требование выполнения свойства изолированности, как было показано в [2] приводит к невозможности технической реализации длительных B2B-взаимодействий.

В [12] предлагается модель оценки качества бизнес-процесса, в целом являющаяся укороченной версией модели качества, предложенной в стандартах ГОСТ Р ИСО/МЭК 9126-93 и ISO/IEC 9126, и предлагающая 4 характеристики качества процесса: сопровождаемость, практичность, надежность, функциональные возможности. Однако для понятия надежности используются только два свойства: отказоустойчивость и

восстанавливаемость. Отказоустойчивость трактуется как способность процесса избегать ошибок, допускаемых пользователями и участниками, а восстанавливаемость обеспечивает возможность возобновления работы процесса после сбоя с некоторой, ранее определенной позиции. Отдельное исследование подходов к QoS для бизнес- и workflow-процессов проводится в работах Хорхе Кардосо (исп. Jorge Cardoso), например, в [5], [13] и [14]. Объединяя несколько подходов автор вырабатывает собственную номенклатуру параметров, определяющих QoS workflow/бизнес-процесса: время, стоимость, надежность и точность. Надежность определяется Кардосо с точки зрения двух подходов: дискретно и непрерывно-временного. Дискретный подход определяет надежность как соотношение между успешными и неуспешными состояниями завершения процесса. Непрерывный подход оценивает надежность в терминах периодов времени между сбоями или количестве сбоев за определенный период времени. Поэтому отметим, что в терминах ГОСТ Р ИСО/МЭК 9126-93 надежность по Кардосо может трактоваться только как стабильность.

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

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

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

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

В настоящее время одной из основных концепций построения распределенных информационных систем различных областей применения считается сервис-ориентированный подход ([17], [18], [19], [20], [21]). В основе этой концепции, как и в основе сервис-ориентированного программирования лежит понятие сервиса или службы - самостоятельной программной единицы с четко-определенном интерфейсом, который обеспечивает слабую привязку программы к внешней среде.

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

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

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

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

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

1. Артамонов И.В. Разработка распределенных сервисно-ориентированных программных средств. Иркутск: БГУЭП, 2012. 130 с.

2. Haugen B., Fletcher T. Multi-Party Electronic Business Transactions.

3. Репин В.В. Бизнес-процессы компании: построение, анализ, регламентация. М.: РИА «Стандарты и качество», 2007. 240 c.

4. ГОССТАНДАРТ РОССИИ ГОСТ Р ИСО/МЭК9126-93. Оценка программного продукта. Характеристики качества и руководства по их применению [Электронный ресурс]. Режим доступа: http://www.gametest.ru/doc/sw/9126_93.pdf

5. Cardoso Jorge, Miller John, Sheth Amit, Arnold Jonathan Modeling Quality of Service for Workflows and Web Service Processes // J. of Web Semantics. 2004. P. 281-308.

6. Международный союз электросвязи E.800 Определение терминов, относящихся к качеству обслуживания. 2008. 32 c.

7. Саймон Алан Р. Стратегические технологии баз данных: менеджмент на 2000 год. М.: Финансы и статистика, 199. 479 c.

8. Gray Jim Transaction Processing Concepts and Techniques. Morgan Kaufmann, 1993. 808 p.

9. Elmagarmid Ahmed Database Transaction Models for Advanced Applications. Morgan Kaufmann, 1992. 611 p.

10. Prochazka M. Advanced Transactions in Component-Based Software Architectures.

11. Weikum Gerhard, Vossen Gottfried Transactional Information Systems. Morgan Kaufmann Publishers, 2002. 853 p.

12. Guceglioglou A. Selcuk, Demirors Onur PQMM: A new model to measure business process quality // BPM and Workflow Handbook / Fischer Layna. Future Strategies, 2008.

13. Cardoso Jorge Workflow Quality of Service Management using Data Mining Techniques // Intelligent Systems, 2006 3rd International IEEE Conference. 2006. P. 479-482.

14. Cardoso Jorge, Amit Sheth, John Miller Workflow Quality of Service / LSDIS Lab, Computer Science; Univiersity of Georgia. Athens GA USA, 2002. 13 p.

15. Zo Hangjung, Nazareth Derek L., Jain Hemant K. Measuring Reliability of Applications Composed of Web Services // Proceedings of the 40th Hawaii International Conference on System Sciences. 2007. P. 278.

16. Zheng Zibin, Lyu Michael R. Optimal Fault Tolerance Strategy Selection for Web Services // Int. J. of Web Services Research. 2010. T 7. P. 21-40.

17. Bieberstein Norbert, Laird Robert G., Jones Keith, Mitra Tilak Executing SOA: A Practical Guide for the Service-Oriented Architect. IBM Press, 2008. 240 p.

18. Brown Paul C. Implementing SOA: Total Architecture in Practice. Addi-son Wesley Professional, 2008. 736 p.

19. Cohen Frank FastSOA. Elsevier Inc, 2007. 278 p.

20. Catts Anthony, St.Clair Joseph Business Process Managment enabled by SOA. IBM Press, 2009. 82 c.

21. Rosen Mike, Lublinsky Boris, Smith Kevin T., Balcer J. Marc Applied SOA: Service-Oriented Architecture and Design Strategies. Wiley Publishing, Inc., 2008. 662 c.

i Надоели баннеры? Вы всегда можете отключить рекламу.