Хореография услуг - это форма композиции услуг [ требуется пояснение ], в которой протокол взаимодействия между несколькими партнерскими службами [ требуется разъяснение ] определяется с глобальной точки зрения. [1] Идею, лежащую в основе понятия хореографии обслуживания, можно резюмировать следующим образом:
«Танцоры танцуют по глобальному сценарию без единой точки контроля»
То есть во время выполнения каждый участник хореографии службы выполняет свою часть в соответствии с поведением других участников. [2] Роль хореографии определяет ожидаемое поведение участников при обмене сообщениями с точки зрения последовательности и времени сообщений, которые они могут потреблять и создавать. [3]
Хореография описывает последовательность и условия обмена данными между двумя или более участниками для достижения некоторой полезной цели. [4]
Сервисная хореография и сервисная оркестровка
Хореографию службы лучше понять, сравнив ее с другой парадигмой композиции службы : оркестровкой служб . С одной стороны, в хореографии обслуживания логика взаимодействия участников на основе сообщений определяется с глобальной точки зрения. С другой стороны, в оркестровке служб логика определяется с локальной точки зрения одного участника, называемого оркестратором . В языке оркестровки служб BPEL , например, спецификация оркестровки служб (например, файл процесса BPEL) представляет собой рабочий процесс, который может быть развернут в инфраструктуре службы (например, механизм выполнения BPEL, такой как Apache ODE ). Развертывание спецификации оркестровки сервисов превращает рабочий процесс в составной сервис. [5]
В некотором смысле сервисная хореография и оркестровка - это два броска одной медали. С одной стороны, роли хореографии сервисов могут быть извлечены как оркестровки сервисов посредством процесса, называемого проекцией . [6] Через проекцию можно реализовать скелеты , то есть неполные оркестровки сервисов, которые можно использовать в качестве базовых для реализации веб-сервисов, участвующих в хореографии сервисов. С другой стороны, уже существующие сервисные оркестровки могут быть составлены в сервисных хореографиях.
Введение в действие хореографии обслуживания
Хореография обслуживания не выполняется: она вводится в действие . Хореография службы разыгрывается, когда ее участники исполняют свои роли. [7] То есть, в отличие от оркестровки сервисов, хореографии сервисов не выполняются каким-либо механизмом в сервисной инфраструктуре, но они «происходят», когда выполняются их роли. Это связано с тем, что логика хореографии сервисов определяется из глобальной точки представление, и, следовательно, это не реализуется одним сервисом, как в оркестровке сервисов.
Ключевой вопрос, на который пытается ответить большая часть исследований в области хореографии, заключается в следующем: предположим, что построена глобальная хореография, которая описывает возможные взаимодействия между участниками в сотрудничестве. Каким условиям должна соответствовать хореография, чтобы гарантировать успех сотрудничества ? Здесь « успех» означает, что эмерджентное поведение, возникающее в результате разыгрывания сотрудничества, когда каждый участник действует независимо в соответствии со своим собственным скелетом , в точности следует хореографии, из которой изначально спроектировались скелеты. В таком случае хореография считается выполнимой . [8] В общем, определение реализуемости хореографии - нетривиальный вопрос, особенно когда сотрудничество использует асинхронный обмен сообщениями и разные участники могут отправлять сообщения одновременно.
Языки служебной хореографии
В рамках спецификаций, касающихся веб-сервисов , следующие спецификации сосредоточены на определении языков для моделирования хореографии сервисов:
- Язык описания хореографии веб-сервисов (WS-CDL) - это основанная на XML спецификация от W3C для моделирования хореографии с использованием конструкций, вдохновленных исчислением Пи.
- Web Service Хореография интерфейс (WSCI) является спецификация XML на основе , которая была выдвинута в W3C по Intalio , Sun Microsystems , BEA Systems и SAP AG , и служил в качестве входных данных для Web Service Description Language Хореография (WS-CDL)
Более того, спецификация OMG BPMN версии 2.0 включает диаграммы для моделирования хореографии сервисов. [9]
Академические предложения по языкам служебной хореографии включают:
Кроме того, был предложен ряд формализмов хореографии обслуживания на основе:
- Сети Петри , например, интерактивные сети Петри [14] и открытые сети рабочих процессов [15]
- Конечные машины [16]
- Охраняемые автоматы [17]
- Временные автоматы [18]
- Исчисление Пи [19] [20] [21]
- Расчет процесса [22] [23]
Хореография веб-сервисов
Хореография веб-сервисов ( WS-Choreography ) - это спецификация консорциума W3C, определяющая язык моделирования бизнес-процессов на основе XML, который описывает протоколы сотрудничества взаимодействующих участников веб-сервисов , в которых сервисы действуют как одноранговые узлы, а взаимодействия могут быть долгоживущими и с отслеживанием состояния. ( Оркестровка - это еще один термин с очень похожим, но все же другим значением.)
Основная попытка получить хореографию, Рабочая группа по хореографии веб-сервисов W3C, была закрыта 10 июля 2009 года [24], оставив WS-CDL в качестве кандидата в рекомендацию.
«Многие презентации на семинаре W3C по веб-сервисам 11–12 апреля 2001 г. указывали на необходимость общего интерфейса и языка композиции для решения проблем хореографии. В рабочем проекте требований к архитектуре веб-сервисов, созданном Рабочей группой по архитектуре веб-сервисов, также перечислены идея о возможностях хореографии веб-сервисов как критически важном факторе успеха для поддержки нескольких различных целей верхнего уровня для зарождающейся архитектуры веб-сервисов » [1] .
Проблема хореографии вызвала большой интерес в индустрии в то время; такие проекты, как WSCL (язык общения веб-служб) и WSCI (интерфейс хореографии веб-служб), были представлены в W3C и опубликованы в виде технических заметок. Кроме того, были предприняты дополнительные усилия: [25]
- BPML , теперь BPMN
- BPSS от ebXML [2]
- WSFL от IBM
- XLANG от Microsoft
- BPEL4WS от IBM, Microsoft и BEA
«В июне 2002 года Intalio , Sun, BEA и SAP выпустили совместную спецификацию под названием Web Services Choreography Interface (WSCI). Эта спецификация также была представлена в W3C в качестве примечания в августе 2002 года. С тех пор W3C сформировал новую рабочую группу под названием Web Services. Рабочая группа по хореографии в рамках деятельности веб-сервисов. Спецификация WSCI является одним из основных входов в рабочую группу по хореографии веб-сервисов, которая 9 ноября 2005 г. опубликовала Рекомендацию кандидата по WS-CDL версии 1.0 » [3] . «XLang, WSFL и WSCI больше не поддерживаются какой-либо стандартной организацией или компаниями. BPEL заменил Xlang, а WSFL WSCI был заменен WS-CDL » [4] .
Предстоящая версия 2.0 Business Process Modeling Notation представит диаграммы для определения хореографии сервисов. [9]
Академическая область выдвинула другие языки хореографии сервисов, например Let's Dance, [10] BPEL4Chor [11] и MAP. [19]
Парадигмы хореографии обслуживания
Хореография услуг определяет взаимодействие участников на основе сообщений с глобальной точки зрения. Точно так же, как языки программирования могут быть сгруппированы в парадигмы программирования , языки хореографии сервисов могут быть сгруппированы по стилям : [26]
- Моделирование взаимодействия: логика хореографии определяется как рабочий процесс, в котором действия представляют собой обмен сообщениями между участниками [27] (например, язык описания хореографии веб-службы (WS-CDL) и Let's Dance [10] ).
- Моделирование взаимосвязанных интерфейсов: логика хореографии разделяется между участниками в зависимости от ролей, которые они играют (т.е. их ожидаемого поведения при обмене сообщениями). Роли связаны с помощью потоков сообщений, каналов или эквивалентных конструкций [28] (это, например, случай BPEL4Chor [11] ).
Исследовательские проекты по хореографии
Есть несколько активных исследовательских проектов по теме хореографии обслуживания.
- CHOReVOLUTION: автоматизированный синтез динамических и защищенных хореографий для будущего Интернета
- CRC: Хореографии для надежного и эффективного коммуникационного программного обеспечения
- SwarmESB - легкий, с открытым исходным кодом, ESB или концентратор сообщений для node.js
- PrivateSKY - экспериментальная разработка в рамках государственно-частного партнерства для локальных облачных платформ с расширенными функциями защиты данных
Рекомендации
- ^ Модель знаний S-Cube: хореография услуг
- ^ Крис Пельц: Оркестровка и хореография веб-сервисов . IEEE Computer (КОМПЬЮТЕР) 36 (10): 46-52 (2003)
- ^ Цзяньвэнь Су, Тевфик Бултан, Сян Фу, Сянпэн Чжао: К теории хореографии веб-сервисов . WS-FM 2007: 1-16
- ^ "Обзор модели WS Choreography" . 24 марта 2004 . Проверено 16 февраля 2019 .
- ^ Арелланы, Дамиан; Лау, Кунг-Киу (2017). «Экзогенные соединители для иерархической композиции услуг» . 2017 IEEE 10-я конференция по сервис-ориентированным вычислениям и приложениям (SOCA) . Канадзава: IEEE: 125–132. DOI : 10,1109 / SOCA.2017.25 . ISBN 9781538613269.
- ^ Хунли Ян, Сянпэн Чжао, Чао Цай, Цзунъян Цю: «Изучение связи хореографии и оркестровки с обработкой исключений и завершением / компенсацией» . FORTE 2007: 81-96
- ^ Ховард Фостер, Себастьян Учитель, Джефф Маги, Джефф Крамер: модельный анализ обязательств в хореографии веб-сервисов . AICT / ICIW 2006: 149
- ↑ Эшли МакНил: протоколы контрактов с приложением к хореографическому многостороннему сотрудничеству . Сервисно-ориентированные вычисления и приложения Том 4, номер 2, 109-136 (2010)
- ^ a b Джек Воан: BPMN 2.0 добавляет нотацию для обработки хореографии BPM . SearchSOA.com, 22 октября 2009 г.
- ^ a b c Йоханнес Мария Заха, Алистер П. Баррос, Марлон Дюма , Артур Х.М. тер Хофстеде : Давайте потанцуем: язык моделирования служебного поведения . OTM Conferences 2006: 145-162
- ^ a b c Геро Декер, Оливер Копп, Фрэнк Лейманн, Матиас Веске : BPEL4Chor: Расширение BPEL для моделирования хореографий . ICWS 2007: 296-303
- ^ «Язык программирования Чор» .
- ^ Карбоне, Марко; Монтези, Фабрицио (2013). Свобода тупиковой ситуации по замыслу: многостороннее асинхронное глобальное программирование . DOI : 10.1145 / 2429069.2429101 .
- ^ Геро Деккер, Матиас Веске : Локальное обеспечение соблюдения при взаимодействии сетей Петри . РПБ 2007: 305–319
- ^ Карстен Шмидт: Управляемость открытых сетей рабочего процесса . EMISA 2005: 236-249
- ^ Надия Бузи, Роберто Горриери, Клаудио Гуиди, Роберто Луччи, Джанлуиджи Заваттаро: Соответствие хореографии и оркестровке для системного дизайна . КООРДИНАЦИЯ 2006: 63-81
- ^ Тевфик Бултан, Цзянвен Су, Сян Фу: Анализ разговоров о веб-сервисах . IEEE Internet Computing (ИНТЕРНЕТ) 10 (1): 18-25 (2006)
- ^ Мишель Мансиоппи, Мануэль Карро, Виллем-Ян ван ден Хёвел, Майк П. Папазоглу: Звуковые протоколы многостороннего бизнеса для сервисных сетей . ICSOC 2008: 302-316
- ^ а б Адам Баркер, Кристофер Д. Уолтон, Дэвид Робертсон: Хореография веб-сервисов . IEEE Transactions on Services Computing, том 2, номер 2, страницы 152–166, IEEE Computer Society, апрель – июнь 2009 г.
- ^ ShuiGuang Deng, Zhaohui Wu, Mengchu Zhou, Ying Li, Jian Wu: Совместимость услуг моделирования с расчетом числа пи для хореографии . ER 2006: 26-39
- ^ Паоло Бесана, Адам Баркер: Исполняемое исчисление для служебной хореографии . OTM Conferences 2009: 373–380
- ^ Раман Кажамякин, Марко Писторе: Анализ условий реализуемости для хореографий веб-сервисов . FORTE 2006: 61-76
- ^ Zongyan Цю, Xiangpeng Чжао Чао Цай, Hongli Ян: К теоретической основы хореографии . WWW 2007: 973-982
- ^ Рабочая группа по хореографии веб-сервисов в W3
- ^ Устав
- ^ Геро Декер, Оливер Копп, Алистер П. Баррос: Введение в хореографию обслуживания (Servicechoreographien - eine Einführung). it - Информационные технологии (IT) 50 (2): 122-127 (2008)
- ^ Модель знаний S-Cube: модель хореографии взаимодействия
- ^ Модель знаний S-Cube: Модель хореографии взаимосвязанного интерфейса
Внешние ссылки
- Язык описания хореографии веб-сервисов - спецификация W3C для WS-Choreography
- Язык описания хореографии веб-сервиса: Букварь -
- Web Service Choreography Interface (WSCI) 1.0 - спецификация Intalio , Sun, BEA и SAP; вход в WS-Choreography
- Масштабные хореографии для будущего Интернета - исследовательский проект Европейской комиссии FP7
- Хореография веб-сервисов на практике - Мотивация и описание WSCI
- Сервисные хореографии - сайт, продвигающий концепцию сервис-хореографии как основу для проектирования сервис-ориентированных систем. На сайте также описан язык моделирования хореографий поверх WSCI, а именно Let's Dance.
- Язык описания хореографии веб-служб Версия 1.0
- Рабочая группа по хореографии веб-сервисов W3C
- Формальное моделирование веб-сервисов
- Теоретическая основа коммуникационно-ориентированного параллельного программирования
- К теоретическим основам хореографии
- Изучение сути хореографии
Смотрите также
- BPEL - язык выполнения бизнес-процессов, стандарт OASIS
- Язык описания хореографии веб-сервиса - язык для описания хореографии, разработанный в рамках W3C.