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

Модель диаграммы активностей определяет оркестровку с помощью последовательности операций. Активности моделируют сообщения, приходящие к службе и исходящие от нее. Если полученное сообщение вызывает двухстороннюю операцию, композиционная схема включит активность «ответить», которая пошлет ответ клиенту. Получение сообщений, вызывающим односторонние или двухсторонние операции, предлагаемые композитной службой, моделируются блокирующей активностью «получить». Обращения к синхронным (запрос/ответ) операциям, предлагаемым другой сетевой службой, моделируются блокирующей активностью «вызвать». Уведомления о сообщениях другим сетевым службам (вызовы односторонних операций, предлагаемых сетевыми службами) моделируются неблокирующей активностью «послать».

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

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

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

p-исчисление есть алгебра процессов, на которой созданы современные языки композиции (XLANG, ВPEL). Она строится на основе понятий взаимодействия последовательных процессов, алгебры взаимодействующих процессов и абстракций и исчисления параллельных систем. Достоинство: наличие точного и изученного формализма верифицикации свойств процесса, p-исчисление вводит конструкции для композиции активностей в терминах последовательного, параллельного или условного выполнения.

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

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

captcha