Хореография обслуживания - Service choreography

Хореография обслуживания форма служебного состава[требуется разъяснение ] в которой протокол взаимодействия между несколькими партнерскими службами[требуется разъяснение ] определяется с глобальной точки зрения.[1]Идею, лежащую в основе понятия хореографии обслуживания, можно резюмировать следующим образом:

«Танцоры танцуют по глобальному сценарию без единой точки контроля»

То есть во время выполнения каждый участник хореографии службы выполняет свою часть в соответствии с поведением других участников.[2] Роль хореографии определяет ожидаемое поведение участников, которые будут ее разыгрывать, с точки зрения последовательности и времени сообщений, которые они могут потреблять и создавать.[3]

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

Хореография сервиса и оркестровка сервиса

Хореографию службы лучше понять, сравнив ее с другой парадигмой композиции службы: оркестровка служб. С одной стороны, в хореографии обслуживания логика взаимодействий между участниками на основе сообщений определяется с глобальной точки зрения. С другой стороны, в оркестровке сервисов логика определяется с локальной точки зрения одного единственного участника, называемого оркестратор. На языке оркестровки сервисов BPEL, например, спецификация оркестровки службы (например, файл процесса BPEL) представляет собой рабочий процесс, который может быть развернут в инфраструктуре службы (например, механизм выполнения BPEL, такой как Apache ODE ). Развертывание спецификации оркестровки сервисов превращает рабочий процесс в составной сервис.[5]

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

Введение в действие хореографии обслуживания

Хореография обслуживания не выполняется: она принятый. Хореография службы разыгрывается, когда ее участники исполняют свои роли.[7] То есть, в отличие от оркестровки сервисов, хореографии сервисов не выполняются каким-либо механизмом в сервисной инфраструктуре, но они «происходят» при выполнении их ролей. Это связано с тем, что логика хореографии сервисов определяется с глобальной точки зрения, и таким образом, это не реализуется какой-либо одной службой, как в оркестровке служб.

Ключевой вопрос, на который пытается ответить большая часть исследований в области хореографии, заключается в следующем: предположим, что построена глобальная хореография, которая описывает возможные взаимодействия между участниками в сотрудничестве. Каким условиям должна соответствовать хореография, чтобы гарантировать, что сотрудничество преуспевает? Здесь, преуспевает означает, что эмерджентное поведение, которое возникает, когда разыгрывается сотрудничество, когда каждый участник действует независимо в соответствии со своим собственным скелет, точно следует хореографии, из которой изначально были спроектированы скелеты. В этом случае говорят, что хореография осуществимый.[8] В общем, определение реализуемости хореографии - нетривиальный вопрос, особенно когда в совместной работе используется асинхронный обмен сообщениями, и разные участники могут отправлять сообщения одновременно.

Языки хореографии обслуживания

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

Более того, мой Бог Технические характеристики BPMN версия 2.0 включает диаграммы для моделирования хореографии обслуживания.[9]

Академические предложения по языкам служебной хореографии включают:

Кроме того, был предложен ряд формализмов хореографии обслуживания на основе:

Хореография веб-сервисов

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

Основная попытка получить хореографию, Рабочая группа по хореографии веб-сервисов W3C, была закрыта 10 июля 2009 г.[24] оставив WS-CDL в качестве кандидата в рекомендации.

«Многие презентации на семинаре W3C по веб-сервисам 11–12 апреля 2001 г. указывали на необходимость в общем интерфейсе и языке композиции, чтобы помочь решить хореографию. Рабочий проект требований к архитектуре веб-сервисов, созданный рабочей группой по архитектуре веб-сервисов, также перечисляет идея хореографии Web-сервисов как Критический фактор успеха, в поддержку нескольких различных целей верхнего уровня для зарождающейся архитектуры веб-сервисов "[1].

Проблема хореографии вызвала большой интерес в индустрии в то время; такие проекты, как WSCL (язык общения веб-служб) и WSCI (интерфейс хореографии веб-служб), были представлены в W3C и опубликованы в виде технических заметок. Кроме того, были предприняты дополнительные усилия:[25]

"В июне 2002 г. Intalio, Sun, BEA и SAP выпустили совместную спецификацию под названием Web Services Choreography Interface (WSCI). Эта спецификация также была представлена ​​W3C в виде примечания в августе 2002 года. С тех пор W3C сформировал новую рабочую группу под названием «Рабочая группа по хореографии веб-служб» в рамках деятельности по веб-службам. Спецификация WSCI является одним из основных входов в Рабочая группа по хореографии веб-сервисов который опубликовал Кандидат в рекомендации по WS-CDL версии 1.0 9 ноября 2005 г. "[3]. «XLang, WSFL и WSCI больше не поддерживаются какой-либо стандартной организацией или компаниями. BPEL заменил Xlang, а WSFL WSCI был заменен WS-CDL "[4].

Предстоящий Обозначение моделирования бизнес-процессов Версия 2.0 представит диаграммы для определения хореографии обслуживания.[9]

Академическая область выдвинула другие языки служебной хореографии, например Let's Dance,[10] BPEL4Chor[11] и КАРТА.[19]

Парадигмы хореографии обслуживания

Хореография услуг определяет взаимодействие участников на основе сообщений с глобальной точки зрения. языки программирования можно сгруппировать в парадигмы программирования, языки служебной хореографии можно сгруппировать в стили:[26]

  • Моделирование взаимодействия: логика хореографии определяется как рабочий процесс, в котором действия представляют собой обмен сообщениями между участниками [27] (Например Язык описания хореографии веб-сервисов (WS-CDL) и давайте танцевать[10])
  • Моделирование взаимосвязанных интерфейсов: логика хореографии разделяется между ее участниками в зависимости от ролей, которые они играют (т.е. их ожидаемого поведения при обмене сообщениями). Роли связаны с помощью потоков сообщений, каналов или эквивалентных конструкций.[28] (это, например, случай с BPEL4Chor[11])

Исследовательские проекты по хореографии

Есть несколько активных исследовательских проектов по теме хореографии услуг.

Рекомендации

  1. ^ Модель знаний S-Cube: Хореография обслуживания
  2. ^ Крис Пельц: Оркестровка и хореография веб-сервисов. IEEE Computer (КОМПЬЮТЕР) 36 (10): 46-52 (2003)
  3. ^ Цзяньвэнь Су, Тевфик Бултан, Сян Фу, Сянпэн Чжао: К теории хореографии веб-сервисов. WS-FM 2007: 1-16
  4. ^ "Обзор модели хореографии WS". 24 марта 2004 г.. Получено 16 февраля 2019.
  5. ^ Арелланы, Дамиан; Лау, Кунг-Киу (2017). «Экзогенные соединители для иерархической композиции услуг». 2017 IEEE 10-я конференция по сервис-ориентированным вычислениям и приложениям (SOCA). Канадзава: IEEE: 125–132. Дои:10.1109 / SOCA.2017.25. ISBN  9781538613269.
  6. ^ Хунли Ян, Сянпэн Чжао, Чао Цай, Цзунъянь Цю: «Изучение связи хореографии и оркестровки с обработкой исключений и завершением / компенсацией». ФОРТЕ 2007:81-96
  7. ^ Ховард Фостер, Себастьян Учитель, Джефф Маги, Джефф Крамер: Модельно-ориентированный анализ обязательств в хореографии веб-сервисов. AICT / ICIW 2006: 149
  8. ^ Эшли МакНил: Протоколные контракты с приложением к хореографическому многостороннему сотрудничеству. Сервисно-ориентированные вычисления и приложения Том 4, номер 2, 109-136 (2010)
  9. ^ а б Джек Воан: В BPMN 2.0 добавлена ​​нотация для обработки хореографии BPM.. SearchSOA.com, 22 октября 2009 г.
  10. ^ а б c Йоханнес Мария Заха, Алистер П. Баррос, Марлон Дюма, Артур Х. М. тер Хофстеде: Давайте потанцуем: язык моделирования служебного поведения. OTM Conferences 2006: 145-162
  11. ^ а б c Геро Деккер, Оливер Копп, Фрэнк Лейманн, Матиас Веске: BPEL4Chor: расширение BPEL для моделирования хореографий. ICWS 2007: 296-303
  12. ^ "Язык программирования Chor".
  13. ^ Карбоне, Марко; Монтези, Фабрицио (2013). Свобода взаимоблокировок по замыслу: многостороннее асинхронное глобальное программирование. Дои:10.1145/2429069.2429101.
  14. ^ Геро Деккер, Матиас Веске: Обеспечение локальной правовой защиты при взаимодействии сетей Петри. РПБ 2007: 305–319
  15. ^ Карстен Шмидт: Управляемость открытых сетей рабочих процессов. EMISA 2005: 236-249
  16. ^ Надя Бузи, Роберто Горриери, Клаудио Гуиди, Роберто Луччи, Джанлуиджи Заваттаро: Соответствие хореографии и оркестровке для системного дизайна. КООРДИНАЦИЯ 2006: 63-81
  17. ^ Тевфик Бултан, Цзянвэнь Су, Сян Фу: Анализ разговоров о веб-сервисах. IEEE Internet Computing (ИНТЕРНЕТ) 10 (1): 18-25 (2006)
  18. ^ Мишель Манчоппи, Мануэль Карро, Виллем-Ян ван ден Хёвел, Майк П. Папазоглу: Надежные многосторонние бизнес-протоколы для сервисных сетей. ICSOC 2008: 302-316
  19. ^ а б Адам Баркер, Кристофер Д. Уолтон, Дэвид Робертсон: Хореография веб-сервисов. IEEE Transactions on Services Computing, volume 2, number 2, pages 152-166, IEEE Computer Society, апрель – июнь 2009 г.
  20. ^ Шуй Гуан Дэн, Чжаохуэй Ву, Мэнчу Чжоу, Ин Ли, Цзянь Ву: Совместимость службы моделирования с исчислением Пи для хореографии. ER 2006: 26-39
  21. ^ Паоло Бесана, Адам Баркер: Исполняемый расчет для хореографии обслуживания. OTM Conferences 2009: 373–380
  22. ^ Раман Кажамякин, Марко Писторе: Анализ условий реализуемости хореографий веб-сервисов. FORTE 2006: 61-76
  23. ^ Цзунъянь Цю, Сянпэн Чжао, Чао Кай, Хунли Ян: К теоретическим основам хореографии. WWW 2007: 973-982
  24. ^ Рабочая группа по хореографии веб-сервисов в W3
  25. ^ Устав
  26. ^ Геро Деккер, Оливер Копп, Алистер П. Баррос: Введение в хореографию обслуживания (Servicechoreographien - eine Einführung). it - Информационные технологии (ИТ) 50 (2): 122-127 (2008)
  27. ^ Модель знаний S-Cube: Модель взаимодействия хореографии
  28. ^ Модель знаний S-Cube: Модель хореографии взаимосвязанного интерфейса

внешняя ссылка

Смотрите также