Служебная хореография
Эта статья может сбивать с толку или быть неясной для читателей . ( Апрель 2010 г. ) |
Хореография сервисов в бизнес-вычислениях — это форма композиции сервисов , в которой протокол взаимодействия между несколькими партнерскими сервисами [ нужны разъяснения ] определяется с глобальной точки зрения. [1] Идею, лежащую в основе понятия хореографии обслуживания, можно резюмировать следующим образом:
«Танцоры танцуют по глобальному сценарию без единой точки контроля»
То есть во время выполнения каждый участник хореографии службы выполняет свою часть в соответствии с поведением других участников. [2] Роль хореографии определяет ожидаемое поведение участников, которые будут ее воспроизводить, с точки зрения последовательности и времени сообщений, которые они могут потреблять и производить. [3]
Хореография описывает последовательность и условия, в которых происходит обмен данными между двумя или более участниками для достижения какой-либо полезной цели. [4]
Хореография сервиса и оркестровка сервиса
[ редактировать ]Хореографию сервисов лучше понять при сравнении с другой парадигмой композиции сервисов: оркестровкой сервисов . С одной стороны, в служебной хореографии логика взаимодействия между участниками, основанная на сообщениях, определяется с глобальной точки зрения. С другой стороны, при оркестровке сервисов логика определяется с локальной точки зрения одного управляющего участника, называемого оркестратором . Например, в языке оркестровки сервисов BPEL спецификация оркестрации сервисов (например, файл процесса BPEL) представляет собой рабочий процесс, который может быть развернут в инфраструктуре сервисов (например, в механизме выполнения BPEL, таком как Apache ODE ). Развертывание спецификации оркестровки сервисов преобразует рабочий процесс в составной сервис. [5]
В каком-то смысле служебная хореография и оркестровка — две стороны одной медали. С одной стороны, роли хореографии сервиса можно выделить как оркестровку сервиса посредством процесса, называемого проецированием . [6] Посредством проецирования можно реализовать скелеты , то есть неполные оркестровки сервисов, которые можно использовать в качестве базовых показателей для реализации веб-сервисов, участвующих в хореографии сервисов. С другой стороны, уже существующие оркестровки сервисов могут быть составлены из хореографий сервисов.
Постановка служебной хореографии
[ редактировать ]Служебные хореографии не исполняются: они разыгрываются . Хореография служения разыгрывается, когда ее участники исполняют свои роли. [7] То есть, в отличие от оркестровки сервисов, хореография сервисов не запускается каким-то механизмом в инфраструктуре сервисов, а «происходит» при выполнении их ролей. Это связано с тем, что логика хореографии сервисов определяется с глобальной точки зрения, и таким образом, это не реализуется одним сервисом, как при оркестровке сервисов.
Ключевой вопрос, на который пытаются ответить многие исследования хореографии, заключается в следующем: предположим, что построена глобальная хореография, описывающая возможные взаимодействия между участниками сотрудничества. Каким условиям должна подчиняться хореография, чтобы гарантировать успех сотрудничества ? В данном случае успех означает, что эмерджентное поведение, возникающее в результате разыгрывания сотрудничества, когда каждый участник действует независимо в соответствии со своим собственным скелетом , точно следует хореографии, из которой изначально были спроектированы скелеты. В этом случае хореография считается реализуемой . [8] В общем, определение реализуемости хореографии — нетривиальный вопрос, особенно там, где в сотрудничестве используется асинхронный обмен сообщениями и разные участники могут отправлять сообщения одновременно.
Языки служебной хореографии
[ редактировать ]В рамках спецификаций, касающихся веб-сервисов , следующие спецификации сосредоточены на определении языков для моделирования хореографии сервисов:
- Язык описания хореографии веб-сервисов (WS-CDL) на основе XML — это спецификация W3C для моделирования хореографии с использованием конструкций, вдохновленных исчислением Пи.
- Интерфейс хореографии веб-сервисов (WSCI) — это спецификация на основе XML, которая была предложена W3C компаниями Intalio , Sun Microsystems , BEA Systems и SAP AG и служила входными данными для языка описания хореографии веб-сервисов (WS-CDL).
Более того, OMG спецификация BPMN версии 2.0 включает диаграммы для моделирования хореографии сервисов. [9]
Академические предложения по языкам служебной хореографии включают:
Более того, был предложен ряд формализмов служебной хореографии, основанных на:
- Сети Петри , например Взаимодействующие сети Петри. [14] и открытые сети рабочих процессов [15]
- Конечные автоматы [16]
- Охраняемые автоматы [17]
- Автоматы на время [18]
- Пи-исчисление [19] [20] [21]
- Процесс исчисления [22] [23]
Хореография веб-сервиса
[ редактировать ]Хореография веб-сервисов ( WS-Choreography ) — это спецификация W3C, определяющая XML на основе язык моделирования бизнес-процессов , который описывает протоколы сотрудничества взаимодействующих участников веб-сервиса , в которых сервисы действуют как одноранговые, а взаимодействия могут быть долгосрочными и с отслеживанием состояния. ( Оркестровка — еще один термин с очень похожим, но все же другим значением.)
Основная попытка получить хореографию, Рабочая группа W3C Web Services Choreography, была закрыта 10 июля 2009 г. [24] оставив WS-CDL в качестве кандидата на рекомендацию.
«Многие презентации на семинаре W3C по веб-сервисам, состоявшемся 11–12 апреля 2001 г., указывали на необходимость общего интерфейса и языка композиции для решения хореографии. Рабочий проект требований к архитектуре веб-сервисов, созданный рабочей группой по архитектуре веб-сервисов, также перечисляет идея возможностей хореографии веб-сервисов как критического фактора успеха для поддержки нескольких различных целей верхнего уровня для зарождающейся архитектуры веб-сервисов» [1] .
Проблема хореографии в то время представляла большой интерес для индустрии; такие проекты, как WSCL (язык общения веб-сервисов) и WSCI (интерфейс хореографии веб-сервисов), были представлены в W3C и опубликованы в виде технических примечаний. Кроме того, были предприняты дополнительные усилия: [25]
«В июне 2002 года Intalio , Sun, BEA и SAP выпустили совместную спецификацию под названием «Интерфейс хореографии веб-сервисов» (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] БПЭЛ4Чор [11] и МАП. [19]
Парадигмы служебной хореографии
[ редактировать ]Хореография обслуживания определяет взаимодействие между участниками на основе сообщений с глобальной точки зрения.Точно так же, как языки программирования можно сгруппировать по парадигмам программирования , языки хореографии сервисов можно сгруппировать по стилям : [26]
- Моделирование взаимодействия: логика хореографии определяется как рабочий процесс, в котором действия представляют собой обмен сообщениями между участниками. [27] (например, язык описания хореографии веб-сервисов (WS-CDL) и Let's Dance [10] )
- Моделирование взаимосвязанных интерфейсов: логика хореографии разделена между ее участниками в зависимости от ролей, которые они играют (т.е. их ожидаемого поведения при обмене сообщениями). Роли соединяются с помощью потоков сообщений, каналов или эквивалентных конструкций. [28] (это, например, случай BPEL4Chor [11] )
Исследовательские проекты по хореографии
[ редактировать ]Есть несколько активных исследовательских проектов по теме служебной хореографии.
- CHOReVOLUTION: автоматизированный синтез динамичных и защищенных хореографий для будущего Интернета
- CRC: хореографии для надежного и эффективного коммуникационного программного обеспечения
- SwarmESB — легкий ESB с открытым исходным кодом или концентратор сообщений для node.js.
- PrivateSKY — экспериментальная разработка в рамках государственно-частного партнерства для локальных облачных платформ с расширенными функциями защиты данных
См. также
[ редактировать ]- Хореографическое программирование - парадигма программирования, в которой программы представляют собой хореографии.
- BPEL — язык выполнения бизнес-процессов, стандарт OASIS
- Исполняемая хореография
- Принцип компонуемости сервисов
- Язык описания хореографии веб-сервиса. Язык описания хореографии, разработанный в рамках W3C.
Ссылки
[ редактировать ]- ^ Модель знаний S-Cube: Хореография сервиса
- ^ Крис Пельц: Оркестровка и хореография веб-сервисов . Компьютер IEEE (КОМПЬЮТЕР) 36(10):46-52 (2003)
- ^ Цзяньвэнь Су, Тевфик Бултан, Сян Фу, Сянпэн Чжао: К теории хореографии веб-сервисов . WS-FM 2007:1-16
- ^ «Обзор модели хореографии WS» . 24 марта 2004 года . Проверено 16 февраля 2019 г.
- ^ Ареллан, Дамиан; Лау, Кунг-Киу (2017). «Экзогенные соединители для иерархической композиции услуг» (PDF) . 2017 10-я конференция IEEE по сервис-ориентированным вычислениям и приложениям (SOCA) . Канадзава: IEEE. стр. 125–132. дои : 10.1109/SOCA.2017.25 . ISBN 9781538613269 . S2CID 31211787 .
- ^ Хунли Ян, Сянпэн Чжао, Чао Цай, Цзунъянь Цю: «Изучение связи хореографии и оркестровки с обработкой исключений и финализацией/компенсацией» . ФОРТЕ 2007:81-96
- ^ Ховард Фостер, Себастьян Учитель, Джефф Маги, Джефф Крамер: Модельный анализ обязательств в хореографии веб-сервисов . AICT/ICIW 2006:149
- ^ Эшли МакНил: Протокольные контракты с применением к хореографическому многостороннему сотрудничеству . Сервис-ориентированные вычисления и приложения, том 4, номер 2, 109–136 (2010 г.)
- ^ Перейти обратно: а б Джек Вон: В BPMN 2.0 добавлена нотация для управления хореографией BPM . SearchSOA.com, 22 октября 2009 г.
- ^ Перейти обратно: а б с Йоханнес Мария Заха, Алистер П. Баррос, Марлон Дюма , Артур Х.М. тер Хофстеде : Давайте потанцуем: язык моделирования сервисного поведения . Конференции ОТМ 2006: 145-162
- ^ Перейти обратно: а б с Геро Декер, Оливер Копп, Фрэнк Лейманн, Матиас Веске : BPEL4Chor: расширение BPEL для моделирования хореографии . МСВС 2007:296-303.
- ^ «Язык программирования Chor» .
- ^ Карбоне, Марко; Монтези, Фабрицио (2013). Свобода от тупиков задумана: многостороннее асинхронное глобальное программирование . дои : 10.1145/2429069.2429101 .
- ^ Геро Декер, Матиас Веске : Локальная применимость во взаимодействии сетей Петри . БПМ 2007:305-319
- ^ Карстен Шмидт: Управляемость открытых сетей рабочих процессов . EMISA 2005: 236-249.
- ^ Надя Бузи, Роберто Горрьери, Клаудио Гуиди, Роберто Лукки, Джанлуиджи Заваттаро: Соответствие хореографии и оркестровки для системного дизайна . КООРДИНАЦИЯ 2006:63-81
- ^ Тевфик Бултан, Цзяньвэнь Су, Сян Фу: Анализ разговоров веб-сервисов . IEEE Интернет-вычисления (ИНТЕРНЕТ) 10 (1): 18-25 (2006 г.)
- ^ Мишель Манчиоппи, Мануэль Карро, Виллем-Ян ван ден Хеувел, Майк П. Папазоглу: Надежные многосторонние бизнес-протоколы для сервисных сетей . МЦОС 2008: 302-316.
- ^ Перейти обратно: а б Адам Баркер, Кристофер Д. Уолтон, Дэвид Робертсон: Хореография веб-сервисов . IEEE Transactions on Services Computing, том 2, номер 2, страницы 152–166, IEEE Computer Society, апрель – июнь 2009 г.
- ^ ШуйГуан Дэн, Чжаохуэй Ву, Мэнчу Чжоу, Ин Ли, Цзянь Ву: Совместимость сервиса моделирования с пи-исчислением для хореографии ER 2006: 26-39.
- ^ Паоло Безана, Адам Баркер: Исполняемый расчет для служебной хореографии . Конференции ОТМ 2009: 373-380
- ^ Раман Кажамикин, Марко Писторе: Анализ условий реализуемости хореографии веб-сервисов . ФОРТЕ 2006:61-76
- ^ Цзунъянь Цю, Сянпэн Чжао, Чао Цай, Хунли Ян: К теоретической основе хореографии WWW 2007: 973-982.
- ^ Рабочая группа по хореографии веб-сервисов в W3
- ^ Устав
- ^ Геро Декер, Оливер Копп, Алистер П. Баррос: Введение в служебную хореографию. it - Информационные технологии (ИТ) 50(2):122-127 (2008).
- ^ Модель знаний S-Cube: Модель хореографии взаимодействия
- ^ Модель знаний S-Cube: Модель хореографии взаимосвязанного интерфейса
Внешние ссылки
[ редактировать ]- Язык описания хореографии веб-сервиса — спецификация W3C для WS-Choreography
- Хореография веб-сервиса Язык описания: Primer -
- Интерфейс хореографии веб-сервиса (WSCI) 1.0 — спецификация от Intalio , Sun, BEA и SAP; вход в WS-Choreography
- Масштабная хореография для будущего Интернета - исследовательский проект Европейской комиссии FP7
- Хореография веб-сервисов на практике – Мотивация и описание WSCI
- Хореография сервисов — сайт, продвигающий концепцию хореографии сервисов как основу для проектирования сервис-ориентированных систем. На сайте также описан язык моделирования хореографии на базе WSCI, а именно Let's Dance.
- Хореография веб-сервисов Описание Язык версии 1.0
- Рабочая группа W3C по хореографии веб-сервисов
- Формальное моделирование веб-сервисов
- Теоретическая основа коммуникационно-ориентированного параллельного программирования
- К теоретической основе хореографии
- Изучение сути хореографии