Моделирование: методы, алгоритмы, технологии
УДК 004.7:004.422.8
Л.К. Птицына, Н.Г. Смирнов
разработка и анализ моделей интеграции сервис-ориентированных средств в гетерогенных сетях
По мере нарастания темпов конкуренции формируется стратегия ведения бизнеса, предусматривающая гибкое и оперативное реагирование на изменение рыночных условий и повышение требований заказчиков. Указанная стратегия реализуется посредством адаптации архитектуры гетерогенной сети к моделям бизнес-деятельности корпорации. В настоящее время сервис-ориентированная архитектура (Service Oriented Architecture - SOA) [1-6] признается в качестве приоритетного направления адаптации архитектуры корпоративных гетерогенных сетей к бизнес-процессам в целях обеспечения устойчивого конкурентного преимущества в сфере профессиональной деятельности. К корпоративным гетерогенным сетям относятся сложные крупномасштабные сети организаций (учреждений, предприятий, фирм), объединяющие территориально рассредоточенные разнотипные и согласованно функционирующие программные и аппаратные компоненты, созданные и действующие в соответствии с разнородными технологиями.
Сервис-ориентированная архитектура
В сфере экономики сервис-ориентированная архитектура представляется как набор бизнес-методов, методов процесса, организационных методов и методов управления, объединяемых в гибкую систему, позволяющую снизить возможность невыполнения профессиональных функций и оценить значимость информационных технологий в получении конкурентных преимуществ. В технической сфере определяются различные представления SOA. В области информационных технологий SOA трактуется как методология построения информационных систем в соответствии с моделями деятельности, учитывающими бизнес-приоритеты в рыночных условиях. В области ин-
формационных сетей сервис-ориентированная архитектура рассматривается как компонентная модель связи функциональных модулей программных приложений посредством определенных интерфейсов и соглашений между ними. Модули именуются сервисами (службами или сервис-ориентированными средствами).
Согласно [1, 3, 4] сервисам ставятся в соответствие следующие признаки:
1) мера связанности сервисов между собой и бизнесом отражается зависимостями в отношениях между предметом автоматизации и логикой;
2) взаимодействие сервисов подчиняется контрактным правилам, которыми в техническом контексте определяются ограничения, свойства, политика применения, приоритеты, программные интерфейсы, коммуникационные требования;
3)внутренняя логика сервисов изолируется от окружающей среды;
4) сервисами допускается композиция, которая может оформляться в виде сервиса следующего уровня;
5) любой сервис может использоваться многократно;
6) каждый сервис должен являться самоуправляемым и обнаруживаемым;
7) нейтральность сервиса по отношению к обращающимся модулям должна обеспечиваться отсутствием собственного состояния.
В корпоративных гетерогенных сетях различают три основных типа сервисов: сервисы бизнес-функций, инфраструктуры и жизненного цикла. Сервисы первого типа предназначаются для автоматизации профессиональной деятельности. Сервисами второго типа выполняется отображение сервисов бизнес-функций на платформы инфраструктуры. Сервисами третьего типа осуществляется дизайн, внедрение, управление и изменение сервисов первых двух типов.
Основные компоненты концептуальной модели интеграции и базовые стандарты сервис-ориентированных средств
Основными компонентами концептуальной модели интеграции сервис-ориентированных средств являются поставщик сервиса, потребитель сервиса и посредник сервиса. Поставщиком описывается и реализуется сервис. Потребителем выполняется с помощью вызова сервиса необходимая функция профессиональной деятельности. Описание сервиса находится в реестре. Посредником обслуживается реестр сервиса.
В настоящее время ведущие позиции среди сервисов, соответствующих концепции SOA, занимаются web-сервисами (web-службами). Подобная ситуация объясняется тем, что любой web-сервис идентифицируется строкой URI и является программной системой с общедоступными интерфейсами, определяемыми на языке XML.
Концепция SOA в гетерогенных сетях реализуется совокупностью информационных технологий различных классов, определяющих базовые стандарты для создания корпоративных приложений [5].
Модель обмена информацией между службами определяется с помощью следующих средств: языка разметки документов XML (Extensible Markup Language), обеспечивающего структуризацию информации разного типа посредством произвольного набора инструкций;
языка XHTML, представляющего собой интеграцию языка XML и языка разметки гипертекста HTML (Hypertext Markup Language);
языка запросов к данным, структурированным в виде XML, XQL (XML Query Language);
языка описания структуры XML документа XSD (XML Schema Definition), разработанного для создания в памяти объектов, соответствующих структуре XML документов.
В качестве транспортного протокола для web-служб используется широко распространенный протокол передачи гипертекстовых документов НТТР (HyperText Transfer Protocol). Обмен сообщениями регламентируется простым протоколом доступа к объектам SOAP (Simple Object Access Protocol), который может использоваться с любым протоколом прикладного уровня. Формат сообщений, используемые протоколы и адрес, по которому находятся сервисы, регламентируется спецификацией языка описания сервисов WSDL
(Web Services Description Language). Стандартом для индексирования web-сервисов является спецификация универсального описания, обнаружения и интеграции UDDI (Universal Description Discovery & Integration). В систему стандартов SOA для реализации совместной работы служб вводится спецификация языка исполнения бизнес-процессов BPEL (Business Process Execution Language).
Основные свойства языка BPEL - асинхронные взаимодействия, координация потоков и управление исключительными ситуациями. Асинхронные взаимодействия поддерживаются с целью размещения web-сервисов в сценариях интеграции, повышающего степень распределения обработки и позволяющего пользователю участвовать в реализации бизнес-процесса.
Координация потоков осуществляется на основе организации параллельных потоков выполнения и поддержки образцов соединений. Основные действия потоков складываются из индивидуальных шагов взаимодействия с сервисами, манипулирования обмениваемыми данными и обработки исключительных состояний. С помощью структурированных действий описывается создание и выполнение процесса. В реальные приложения включаются образцы сложных взаимодействий с синхронными и асинхронными сервисами. Управление исключительными ситуациями - неотъемлемый этап автоматизации профессиональной деятельности в условиях рыночных отношений. При проявлении исключительных ситуаций вызываются локальные обработчики ошибок, связанных с web-сервисами, и уведомляются асинхронные сервисы об их возникновении. Представленная взаимосогласованная совокупность стандартов служит основой для автоматизации проектирования приложений, соответствующих концепции SOA с позиций функциональности. Однако в рамках этой основы не предусматривается решение задач автоматизации проектирования рассматриваемых приложений с позиций требуемого качества. В связи с этим предлагается расширение основы, ориентированное на формирование моделей крупногранулярных процессов, соответствующих интеграции сервис-ориентированных средств, и анализ качества их выполнения. Крупногранулярным процессом считается композиция процессов, каждым из которых представляется реализация конкретной службы.
Формирование моделей интеграции сервис-ориентированных средств
Расширение основы для автоматизации проектирования приложений проводится на уровне формального описания и анализа деятельности. Первоисточником для описания моделей интеграции рассматриваемых средств является определение видов деятельности в среде сервис-ориентированной архитектуры. В системе стандартов, соответствующих концепции SOA, на этом уровне автоматизации используется язык BPEL.
Согласно [7] деятельность рассматривается как самостоятельный элемент поведения приложения, которая может включать другие деятельности или отдельные действия. Под элементарной единицей спецификации поведения понимается действие. В модели деятельности описывается последовательность действий и условий их выполнения на основе определения потока управления, а также поток объектов, необходимых для осуществления отдельных действий или соответствующих результатам их реализации. В русле объектно-ориентированного анализа информационных систем модель изображается в форме диаграммы деятельности (activity diagram).
При сопоставлении спецификаций языка BPEL и языка унифицированного моделирования UML 2.0 (Unified Modeling Language) выясняется, что на разработку каждого из них существенное влияние оказала нотация моделирования бизнес-процессов BPMN (Business Process Modeling Notation). В связи с этим в качестве основы для расширения выбирается система элементов моделирования деятельности языка UML 2.0, тем более, что расширяемость позиционируется в качестве одного из его ключевых свойств.
В концептуальную основу моделирования интеграции сервис-ориентированных средств включаются принципы определения деятельности, действия, узлов и дуг деятельности, семантики деятельности, семантики действия, потока управления, потока объектов, специальных регионов, специальных действий.
Поток управления рассматривается как прототип координации сервис-ориентированных средств, выполняющих действия деятельности в среде SOA. Он образуется из узлов, являющихся абстрактными узлами деятельности и предназначающихся для координации потоков.
Узлами управления являются начальный узел, узел решения, узел слияния, узел разделения, узел соединения, узел финала деятельности и потока.
Поток объектов формируется с помощью узлов, среди которых узел объекта, узел центрального буфера и хранилища данных, узел входных контактов объекта, узел выходных контактов объекта, узел параметра деятельности.
Группа элементов моделирования, называемая специальные регионы, предназначается для группировки действий, относящихся к одной деятельности и имеющих некоторую общую характеристику. В такую группу включаются элементы разбиения деятельности, элементы региона прерываемой деятельности, элементы обработчика исключений.
Группа элементов, именуемая специальные действия, предусматривается для случаев моделирования различного поведения. К указанной группе относятся элементы создания и разрушения объектов и связей, чтения и записи переменных, передачи сигнала, приема события.
В диаграммах деятельности сервис-ориентированных средств описанные компоненты модели будут представляться в виде определенных типов графических элементов языка UML 2.0.
Вводимые расширения основы моделирования интеграции сервис-ориентированных средств касаются отображения статистических свойств действий в деятельности и потока управления, координирующего их последовательность.
В дальнейшем статистические свойства действий сервис-ориентированных средств рассматриваются во временном контексте, поскольку фактор времени - один из основных при определении качества профессиональной деятельности в среде SOA.
При отображении статистических свойств учитывается дискретность времени, являющаяся следствием цифрового характера технологий SOA.
В соответствии с изложенным выше каждое действие любого из сервис-ориентированных средств описывается плотностью вероятности
щ (к / X к / =1 2 ..., к/
К
2 Щ (к) = 1, , = 0, 1, 2, ..., I, (1)
к
где к, - дискретное время выполнения /-го дей-
ствия; К. - верхняя граница дискретного времени выполнения /-го действия; г - номер некоторого действия; I - общее число действий.
Плотность вероятности щ(к.), к. = 1, 2, ..., К{ может определяться посредством импорта результатов работы системы мониторинга в инфраструктуре гетерогенной сети либо путем анализа конечной цепи Маркова, марковского или полумарковского процесса, основные этапы которого раскрываются в [8]. Последние два пути определения плотности вероятности ориентируются на те случаи, когда рассматриваемое действие описывается в дискретном пространстве состояний, соответствующих множеству происходящих событий.
На основании определяющего признака SOA, заключающегося в нейтральности сервиса по отношению к обращающимся модулям, принимается предположение о независимости случайных времен выполнения действий, соответствующих интегрируемым сервисам.
Плотность вероятности указывается внутри графического элемента узла действия.
Вводимые расширения относятся и к потоку управления. На дугах, исходящих из каждого узла решения, указываются Pjl, ] = 1, 2, ..., 3; I = 1, 2, ..., Lj вероятности выбора альтернативных вариантов поведения в ходе деятельности, которые удовлетворяют условию полной группы несовместных событий:
ч
£Р),1 = 1, j = 1, 2, ..., 3, (2)
I=1
где ]' - номер узла решения; Lj - число альтернативных вариантов поведения после решения _/; 3 - число узлов решения.
Предлагаемая формализация процесса формирования конкретной модели интеграции сервис-ориентированных средств представляется следующими шагами.
1. Позиционирование вида деятельности в среде SOA.
2. Выделение множества действий D (^|=1) в деятельности сервис-ориентированных средств.
3. Описание каждого действия ё/, г = 0, 1, 2, ..., I плотностью вероятности щ(к.), к. = 1, 2, ..., К/, удовлетворяющей условию (1).
4. Формирование потока управления из узлов координации действий сервис-ориентированных средств.
5. Описание каждого альтернативного варианта всех узлов решения соответствующей веро-
ятностью ру,1,= 1, 2, ..., 3; I = 1, 2, ..., Lj с обязательным выполнением условия (2). Указанные вероятности могут определяться с помощью считывания соответствующих результатов работы системы мониторинга или оценки вероятности событий, происходящих при выполнении действий в деятельности сервис-ориентированных средств. Если любой из указанных путей определения считается неприемлемым, то вероятности альтернативного выбора считаются варьируемыми параметрами, принимающими случайные значения на интервале [0,1] при выполнении условия (2).
6. Формирование матрицы инциденций для узлов разъединения и узлов соединения A размера (пхп), где п - общее число узлов разъединения и узлов соединения; а. j = 0, если узлы не связаны через узлы действий; а/, j = 1, если _/-му узлу предшествуют узлы действий, следующие в последовательности узлов после /-го узла; а/, j = -1, если узлы действий, предшествующие /-му узлу, следуют после j-го узла.
7. Описание спецификаций всех узлов соединений, характеризующих взаимодействие сервис-ориентированных средств.
При вариации содержания выполняемых операций представленных шагов образуется многовариантный набор моделей интеграции сервис-ориентированных средств.
Показатели качества совместной работы служб и методы их оценки
Качество совместной работы служб SOA является многопрофильной категорией. Однако в рамках данной статьи рассматриваются лишь те аспекты качества, которые касаются времени исполнения бизнес-процесса.
В соответствии с концепцией SOA принимается гипотеза о взаимной независимости времени выполнения действий в деятельности.
Стохастический профиль интеграции сервис-ориентированных средств в полной мере характеризуется плотностью вероятности времени выполнения деятельности, вследствие чего она выбирается базовым показателем качества со-..вместной работы служб. После нахождения базового показателя качества без особых вычислительных затруднений определяются показатели, представляющие собой числовые характеристики времени выполнения деятельности в среде SOA. При выдвижении временного ограничения, обусловленного спецификой профессиональной дея-
тельности, наибольшее внимание уделяется риску срыва временного регламента. Считается, что чем ниже риск, тем выше качество совместной работы служб. По этой причине риск срыва временного регламента деятельности также включается в систему показателей качества.
Для определения выбранных показателей качества совместной работы служб предлагается метод, содержащий следующие этапы.
1. Выделение в модели интеграции сервис-ориентированных средств последовательностей узлов действий, замена каждой последовательности новым узлом более сложного действия с определением эквивалентной характеристики в виде плотности вероятности времени его выполнения по следующей формуле:
тах к
0,1, ..., (т-1)
и(к0, 1, ..., т) = 2 и(к0, 1, ..., (т-1)) Х
тт к
0,1, ..., (т-1)
(3)
хит (к0, 1, ..., т - к0, 1, ..., (т-1)Х к0, 1, ..., т = тт(к0 + к1 + ... + кт X ...,
тах(к0 + к1 +... + кт), т = 0,1, ..., М,, и(к0) =
где к0 1 т - дискретное время выполнения последовательности т действий; и(к0 1 ... т) -плотность вероятности времени выполнения последовательности (т+1) действий.
2. Нахождение в модели интеграции сервис-ориентированных средств группы узлов альтернативных действий, замена каждой найденной группы новым узлом более сложного действия с определением эквивалентной характеристики в виде плотности вероятности времени его выполнения согласно соотношению:
ч
и(к1, 2, ..., I, ..., ь,)=2 рии1 (к1);
; 1=1 (4)
к1, 2, ..., 1, ..., Ь, = ттк1, ..., тахк1;
, 1 1
1 = 1,2, ..., Ь,,
где и(к1 2 I ь ) - плотность вероятности
к1 2 1 ь времени выполнения Ь, альтернативных действий.
3. Выделение последовательностей узлов новых более сложных действий, замена каждой выделенной последовательности новым узлом укрупненного действия с определением по формуле (3) эквивалентной характеристики в виде плотности вероятности его выполнения.
4. Представление спецификаций узлов соединений модели интеграции сервис-ориентированных средств в базисе функций л(#), v(N), «М из Ш, где N - степень параллельности, М - число выполненных действий, по окончании которых завершается соединение параллельных действий.
5. Выделение в модели групп узлов параллельных действий, замена каждой группы новым узлом укрупненного действия с определением эквивалентной характеристики в виде плотности вероятности времени его выполнения по формулам (5), (6), если соединение осуществляется согласно булевой функции л^), или по формулам (7), (8), если узел соединения описывается булевой функцией v(N), или по формулам (9), (10), (11), (12), если соединение проводится в соответствии с функцией «М из
N к1,2, ..., п, ..., N
ил(к1, 2, ..., п, ..., N) = П( 2 ип (кп )) -
п=1 кп =1
N к1,
2, ..., п, ..., N
1
(5)
-П( 2 ип (кп)),
п=1 кп =1
к1, 2, ..., п, ..., N =
= тах(тт кьтт к2, ..., тт кп, ...,т1п kN), ...,
п (6)
, . ., тах(тахк1,тахк2, ...,тахкп, ...,тахkN), п
uv (к1, 2, ..., п, ..., N ) =
N к1,2, ..., п, ..., N-1
=П (1 - 2 ипОкп)) -
п=1 кп =1 (7)
N к1,2, ..., п, ..., N
-П (1 - 2 ип {кп)),
п=1 кп =1
к1, 2, ..., п, ..., N =
= тт(тткьттк2, ...,тткп, ...,т1пkN), ..., п (8)
, .., тт(тах к^тах к2, ...,тах кп, ...,тах kN),
п
иМN (к1, 2, ..., п, ..., N ) = = иМN (к1, 2, ..., п, ..., N ) --иМ,N (к1, 2, ..., п, ..., N -1),
(9)
^1,2, ..., п, ..., N
иМ ,N (к1, 2, ..., п, ..., N ) = 2 ил (г)
г=1 (10)
при М = N,
4
к
-1,2, ..., п, ..., N
где
иМ,N(к1, 2, ..., п,..., N) = £ "V(г)
г=1
при М = 1,
иМ, N (к1, 2, ..., п, ..., N ) = = N, М, N, к-, 2, ..., п, ..., N ) при 1< М < N
С(М,М,1МО,к1 2,...,я,.... к0) =
(11) (12)
\ 2, ..., и.....ЛГ
X Му (г), если М =1;
г=1
2, ..., и,
X мл (г)>если М
г=1
^Ш^и,...,«.....
2.....„, ...,ЛГ) +
+(1-£//А®(Ч 2, ...,п, ...,#))* хв(М-1,М,1МО-\,к1 2, ..., в> ..., дг)>
если М < Ы",
к1,2, ..., п, ..., N
иМЮ (к1, 2, ..., п, ..., N ) = £ иШЮ (г),
г=1
ШЮ = 1, 2, ..., N ;
к 2 п N - время выполнения параллельных действий; иЛ (к 2 п N) - плотность вероятности времени выполнения параллельных действий при соединении согласно булевой функции л(N); иV (к1 2 п N) - плотность вероятности времени выполнения параллельных действий при соединении согласно булевой функции v(N); "м N (к 2 ... п ... N) - плотность вероятности времени выполнения параллельных действий при соединении согласно функции «М из Ш; иМ,N(к1, 2, ..., п, ..., N) - функция распределения времени выполнения параллельных действий при соединении согласно функции ««М из
6. Формированиепоследовательностиузлов укрупненных действий и определение и (ко 1 I I) плотности вероятности времени выполнения деятельности согласно соотношению (3).
7. Определение показателей качества совместной работы служб:
Е[к0,1, ..., г, ..., I] =
тах к
(13)
-0,1, ..., г, ..., I
£ к0, 1, ..., г, ..., 1и(к0, 1, ..., г, ..., I ^
ттк
0,1, ..., г, ..., I
Ю[ко, 1, ..., г, ..., I ] =
тах к
-0,1, ..., г, ..., I
£ (к0, 1, ..., г, ..., I -
тт к
0,1, ..., г, ..., I
(14)
- Е[к0, 1, ..., г, ..., I]) и(к0, 1, ..., г, ..., I),
= 1 -
Я(к0, 1, ..., г, ..., I > С) = С £
(15)
и (к0,
1, ..., г, ...,I
тт кп
"-0,1, ..., г, ..., I
где С - верхняя граница допустимого времени выполнения деятельности; Щк0 1 г / ], Юк 1 г I] - соответственно математическое ожидание и дисперсия времени выполнения деятельности в среде сервис-ориентированной архитектуры; Я(к0 1 ^ I > С) - риск срыва временного регламента.
Для подтверждения корректности определения показателей качества совместной работы служб целесообразно воспользоваться модифицированным методом свертки, раскрытым в [8].
Исходный материал для применения модифицированного метода свертки - логическая модель деятельности, формирующаяся посредством преобразования диаграммы деятельности. Преобразование осуществляется путем замены узлов действий и узлов решений неузловыми вершинами ориентированного графа, а узлов разъединения и узлов соединения - узловыми вершинами. При использовании модифицированного метода вырожденный граф строится по матрице инциден-ций А, сформированной при разработке диаграммы деятельности.
Каждый из определенных выше показателей может включаться в представительное множество критериев качества совместной работы служб SOA, формируемых на основе теории исследования операций [9].
Прикладной аспект разработанных фор-мализаций предлагается распространять, прежде всего, на типовые профили интеграции сервис-ориентированных средств, широко востребованных в профессиональной деятельности.
При подобной направленности применения фор-мализаций обеспечивается формирование рациональных профилей услуг в зависимости от условий выполнения профессиональной деятельности.
Далее ключевые особенности определения показателей качества совместной работы служб раскрываются при анализе четырех типовых профилей интеграции сервис-ориентированных средств.
На рис. 1 приводится модель сервисной деятельности в случае, когда запрос клиента может выполняться одним из L сервис-ориентированных средств, развернутых на серверах с различными характеристиками производительности и сконфигурированных в среде исполнения крупногранулярных процессов. В рассматриваемой модели действие 0 ассоциируется с инициализацией сервисной деятельности, последующие L действий - с альтернативным выполнением сервисов, а завершающее (L+1) действие - с сохранением статуса транзакции и тарификацией. Клиентской стороной ставится цель выполнения сервисной деятельности и получения информации относительно ее качества, а администратором гетерогенной сети - балансировка нагрузки сервисного обслуживания. В соответствии с предложенным методом математическое ожидание, дисперсия времени реализации сервисной деятельности и риск срыва временного регламента определяются с помощью следующих соотношений:
L
u(k1, 2, ..., l, ..., L) = 2plul(k^ (16) l=1
k1, 2, ..., l, ..., L = minkl, maxkl; l =1 2 L ; l l
u(k0, 1, 2, ..., l, ..., L ) =
K (17)
K0
= 2u0(k0)u(k0, 1, 2, ..., l, ..., L -k0),
k0
k0, 1, ..., l = min(k0 + k1, 2, ..., lX ..., ,..., max(k0 + ¿1, 2, ..., l), l = 1,..., L;
u (k0, 1, ..., l, ..., L,(L+1)) =
max k0,1, ..., l, ..., L
= 2 u(¿0, 1, ..., l, ..., L)) * (18)
min ¿0,1, ..., l, ..., l
*u(L+1)(k0, 1, ..., l, ..., L, (L +1) - k0, 1, ..., l, ..., LX
k0, 1, ..., l, ..., L, (L +1) = = min(k0 + k1 + ... + kl + ... + kL + k( l+1)X ..., , ..., max(k) + ¿1 +... + kl +... + kL + k( l+1));
E[k0, 1, ..., l, ..., L, (L +1)] =
max k0,1, ..., l, ..., L, (L+1)
= 2 k0, 1, ..., l, ..., L, (L+1)x (19)
mink0,1, ..., l, ..., L, (L+1)
*u(k0, 1, ..., l, ..., L, (L+1));
ß[k0, 1, ..., l, ..., L, (L+1)] =
max k0,1, ..., l, ..., L, (L+1)
2 (k0,1,..., l,..., L, (L+1) -
mink0,1, ..., l, ..., L, (L+1)
2 (20) -E[k0, 1, ..., l, ..., L, (L+1)]) *
*u (k0, 1, ..., l, ..., L, (L +1));
Ä(k0, 1, ..., l, ..., L, (L +1) > C) =
C (21)
=1 - 2 u (k0, 1, ..., l, ..., L, (L+1)).
mink0,1, ..., l, ..., L, (L+1)
В среде автоматизированной разработки программных проектов NetBeans 6.5 при реализации совместной работы служб на языке BPEL анализируемый процесс представляется в виде, представленном на рис. 2.
На рис. 3 изображена модель сервисной деятельности в случае, когда, для выполнения запроса клиента требуется реализация нескольких сервис-ориентированных средств, допускающих параллельную работу служб, которым соответствует N действий. Действия 0 и (N+1) рассматриваются в той же интерпретации, как и в модели на рис. 1.
На практике параллельная работа служб именуется реализацией партнерских сервисов. При вариации функциональной спецификации узла соединения образуется ряд типовых профилей интеграции сервис-ориентированных средств, среди которых базовыми являются варианты, описываемые функциями a(N), v(N) , «M из N». Первые два из указанных профилей являются частными случаями третьего варианта: функция a(N) соответствует функции «M из N» при M = N, а функции v(N) - «Mиз N» приM = 1.
Если для успешного выполнения исследуемой деятельности требуется информация от всех параллельно реализуемых партнерских сервисов, то спецификация соединения описывается булевой функцией a(N) . В подобной ситуации партнер-
4
Рис. 1. Типовая модель альтернативных действий
ские сервисы сопровождаются отличающимися интерфейсами и предназначаются для выполнения различных функций, подчиненных достижению единой цели. Примером такого рода может служить широкий спектр крупно-гранулярных процессов (бизнес-процессов), в которых обработка отдельных частей входной информации проводится несколькими партнерами. Например, при оказании услуги оплаты определенных видов Интернет-контента со счета мобильного оператора проводится несколько действий, среди
которых авторизация абонента, получение информации о предоставляемом Интернет-контенте (профиль услуги).
Если для успешного выполнения исследуемой деятельности требуется информация от любого первого завершенного партнерского сервиса из N реализуемых, то спецификация соединения представляется булевой функцией v(N. Подобного рода ситуация проявляется тогда, когда среди N предусматриваемых авторизаций неудачно завершается хотя бы любая одна.
Рис. 2. Типовая модель альтернативных действий на языке BPEL
Рис. 3. Типовая модель параллельных действий
В случае, когда у партнерских сервисов одинаковые интерфейсы и для успешного выполнения исследуемой деятельности оказывается достаточным завершения М опрашиваемых средств из N параллельно реализуемых, узел соединения описывается функцией «М из Подобная ситуация наблюдается при поиске контента на множестве серверов. Например, в крупно-гранулярном процессе, осуществляющем поиск ссылок на видеоконтент на нескольких серверах контент-провайдеров, в параллельных потоках вызывается N партнерских сервисов поиска.
При описании узла соединения спецификацией л(N) математическое ожидание, дисперсия времени совместной работы служб и риск срыва регламента определяются соответственно соотношениями (5), (6), (22)-(26):
и (к0, 1, 2, ..., п,
к
= 2 и0 (к0 )ил (к0,
1, 2,
, N ) =
, п, ..., N - Ы
(22)
к
к0, 1, ..., п = т1п(к0 + к1 + .. + кпX ..., , ...,тах(к0 + к1 +... + кп), п = 0, 1, ..., N;
и (к0, 1, ..., п, ..., N, (N+1)) =
тах к
0, 1, ..., п, ..., N
2 и(к0, 1, ..., п, ..., N))и(N+1) х (23)
™п к0, 1, ..., п, ..., N
х(к0, 1, ..., п, ..., N, (N+1) - к0, 1, ..., п, ..., NX
к0, 1, ..., п, ..., N, (N+1) = = тт(к0 + к1 +... + кп +... + kN + к( N+\^),...
, ..., тах(к0 + к1 +... + кп +... + ^ + к( ^^+1));
Е[ к0, 1, ..., п,..., N,(N+1)] =
тах к.
0,1, ..., п, ..., N, (N+1)
2
тт кп
<0, 1, ..., п, ..., N, (N+1)х (24)
10,1, ..., п, ..., N, (N+1)
хи (к0, 1, ..., п, ..., N, (N+1)); Дк0, 1, ..., п, ..., N, (N+1)] =
тах к0,1, ..., п, ..., N, (N+1)
2 (к0, 1, ..., п, ..., N, (N+1)
тт к.
0,1, ..., п, ..., N, (N+1)
(25)
2
- Е[к0, 1, ..., п, ..., N, (N+1)]) х
хи (к0, 1, ..., п, ..., N, (N+1));
Жк0, 1, ..., п, ..., N, (N+1) > С = ( )
(26)
С
= 1 - 2 и (к0, 1, ..., п, ..., N, (N+1)).
т1п к0,1, ..., п, ..., N, (N+1)
Если узел соединения характеризуется функцией v( N), то числовые характеристики времени совместной работы служб и риск срыва регламента находятся с помощью выражений (7), (8), (27), (23)-(26):
и(к0, 1, 2, ..., п, ..., N ) =
К
2 и0 (к0 (к0,
1, 2, ..., п, ..., N ~ Л0
(27)
к
0
4
Partnern...
И
nyOperation
Рис. 4. Типовая модель параллельных действий на языке BPEL
к0, 1, ..., п = тт(к0 + к +... + кп), ..., , ..., тах(к0 + к +... + кп), п = 0, 1, ..., N.
Когда спецификация узла соединения представляется функцией «М из М», тогда статистические показатели времени совместной работы служб и риск срыва регламента вычисляются по формулам (9)-(12), (28), (23)-(26):
u(ko
1, 2,
, N
) =
Ко
= £ u0(k0)uM, N (k0, 1, 2,
kn
, N
ко, 1, ..., п = т1п(к0 + к +... + кп), ..., , ...,тах(к0 + к +... + кп), п = 0, 1, ..., N.
При реализации совместной работы служб на языке ВРЕЬ в среде NetBeans 6.5 последние три типовых варианта крупно-гранулярных процессов формируются согласно схеме на рис. 4.
В результате развития технологических основ создания программных продуктов:
расширена система моделей 80Л, обеспечивающая совмещение автоматизации разработки программного обеспечения гетерогенных сетей и оценку качества совместной работы служб;
формализовано формирование моделей интеграции сервис-ориентированных средств, предназначенных для анализа качества совместной работы служб;
разработан метод определения показателей качества совместной работы служб, раскрывающего их зависимость от динамических свойств и характеристик взаимодействия сервис-ориентированных средств;
выведены аналитические зависимости показателей качества совместной работы служб от параметров типовых моделей интеграции сервис-ориентированных средств.
СПИСОК ЛИТЕРАТУРЫ
- ko),
(28)
1. Леснова, Л. Сервис-ориентированная архитектура: подход IBM [Текст] / Л. Леснова // Connect! Мир связи. -2008. -№ 3. -С. 104-105.
2. Черняк, Л. Загадка SOA [Текст] / Л. Черняк // Открытые системы. -2007. -№ 7. -С. 18-25.
3. Thomas, Erl. Service-Oriented Architecture (SOA): Concepts, Technology, and Design [Text] / Erl. Thomas. -Prentice Hall, 2005. -760 р.
4. Фейгин, Д. Концепция SOA [Текст] / Д. Фейгин // Открытые системы. -2004. -№ 6. -С. 14-18.
5. Дубова, Н. SOA: подходы к реализации [Текст] / Н. Дубова // Открытые системы. -2004. -№ 6. -С. 19-25.
6. Дубова, Н. Репетиция оркестра web-сервисов
[Текст] / Н. Дубова // Открытые системы. -2004. -№ 11. -С. 30-36.
7. Леоненков, А.В. Самоучитель UML 2 [Текст] / А.В. Леоненков. -СПб.: БХВ-Петербург, 2007. - 576 с.
8. Птицына, Л.К. Программное обеспечение компьютерных сетей. Моделирование механизмов синхронизации параллельных вычислительных процессов в системах мониторинга и управления: Учеб. пособие [Текст] / Л.К. Птицына, Н.В. Соколова. -СПб.: Изд-во Политехн. ун-та, 2010. -213 с.
9. Катулев, А.Н. Исследование операций: принципы принятия решений и обеспечение безопасности [Текст] / А.Н. Катулев, Н.А. Северцев. -М.: Физматлит, 2000. -320 с.