Оркестровка против Хореографии - PullRequest
136 голосов
/ 08 ноября 2010

В чем различия между сервисной оркестровкой и сервисной хореографией с внутриорганизационной точки зрения.

Ответы [ 10 ]

220 голосов
/ 23 апреля 2015

Базовые технологии, такие как (XML, SOAP, WSDL), предоставляют средства для описания, определения местоположения и вызова служб как отдельного объекта.Однако эти технологии не дают подробных сведений о роли службы в более сложном сотрудничестве.Это сотрудничество включает в себя последовательность действий и отношений между действиями, которые формируют бизнес-процесс.Существует два способа построения этого процесса: оркестрация сервисов и хореография сервисов.

Оркестровка сервисов

Оркестровка сервисов представляет собой единый централизованный исполняемый бизнес-процесс (оркестратор), который координирует взаимодействие между различными сервисами.Оркестр отвечает за вызов и объединение сервисов.

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

Orchestration

Хореография услуг

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

Choreography

В хореографии описываются взаимодействия между несколькими службами, где оркестровка представляет контроль с точки зрения одной стороны.Это означает, что хореография отличается от оркестровки в отношении того, где должна находиться логика, управляющая взаимодействиями между вовлеченными службами.

26 голосов
/ 07 сентября 2016

Оркестровка сервисов : вы объединяете несколько сервисов по фиксированной логике.Эта логика описана в одном месте.Вы можете представить команду людей с менеджером, занимающимся микроуправлением.Менеджер точно говорит, что, когда и кто должен делать.Члены команды не заботятся о цели всей работы, менеджер объединяет результаты в один результат.Практическим примером является процесс BPEL.Процесс BPEL содержит логику, может вызывать несколько служб и объединять их ответы в один ответ службы.

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

Мое мнение заключается в том, что нам не нужно сильно различать эти два, поскольку нам нужно сосредоточиться набизнес логика.Когда единственная логическая точка выполняет работу, мы делаем оркестровку.Там, где проблема не может быть покрыта централизованной логикой, мы все равно вынуждены заниматься хореографией.Вот почему мы часто сталкиваемся с оркестровкой в ​​сфере ИТ, в то время как хореография остается в большей степени академической концепцией и предметом исследований.И очень часто мы делаем хореографию, не зная об этом, как в реальном мире.

21 голосов
/ 06 октября 2011

Службы можно различить между атомарными службами и службами, состоящими из других служб. Такие композиции называются «оркестровка». Иногда рабочий процесс, иногда бизнес-процесс. Например, BPEL является языком оркестровки, но называет себя «языком выполнения бизнес-процессов».

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

Оркестровка показывает полное поведение каждого сервиса, тогда как хореография объединяет описания поведения интерфейса каждого сервиса.

Хорошая научная статья, отличающая хореографию, поведение интерфейса, поведение провайдера и оркестровку, следующая: Дейкман, Р. и Дюма, М. Сервисно-ориентированный дизайн: подход с несколькими точками зрения Международный журнал совместных информационных систем, 2004, 13, 337-368

13 голосов
/ 24 октября 2015

Так как ветка старая, но она все еще пишется для тех, кто наткнулся здесь на поиски этого вопроса, как и я. Это очень обсуждаемый вопрос в Сервис-ориентированной архитектуре (SOA), которая требует более четкого объяснения для начинающих.

Оркестровка: исполняемый процесс

  • Используется в частных бизнес-процессах
  • Центральный процесс (который может быть другим веб-сервисом) берет на себя управление задействует веб-сервисы и координирует выполнение различных операции над веб-сервисами, задействованными в операции
  • Соответствующие веб-сервисы не «знают» (и не должны знать) что они участвуют в процессе композиции и что они участие в бизнес-процессе более высокого уровня.
  • Только центральный координатор оркестра знает об этом цель, поэтому оркестровка централизована с явными определениями операций и порядок вызова веб-сервисов.

enter image description here

Хореография: многопартийное сотрудничество

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

  • Все участники хореографии должны быть осведомлены о бизнесе процесс, операции для выполнения, сообщения для обмена и время обмена сообщениями.

enter image description here

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

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

  • Координация компонентов процессов управляется централизованно известный координатор.

  • Веб-сервисы могут быть включены, не зная, что они принимают участие в более крупном бизнес-процессе.

  • В случае возникновения неисправностей могут быть созданы альтернативные сценарии.
6 голосов
/ 11 февраля 2016

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

Оркестровые плюсы над хореографией

  • Надежность: Платформы оркестровки имеют встроенную поддержку обработки ошибок и управления транзакциями (компенсация транзакций). В хореографии специально разработанный рабочий процесс и обработка ошибок обычно более подвержены ошибкам.
  • Модифицируемость: Создание и изменение рабочих процессов процессов и сложных составов услуг проще с помощью визуальных инструментов BPM, которые можно найти на платформах оркестровки.

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

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

  • Стоимость: Хореография не требует дополнительного промежуточного программного обеспечения или языка, которые связаны с кривыми обучения и бременем управления.

5 голосов
/ 31 января 2015

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

Хореография - это способ указать, каким образом две или более стороны, ни одна из которых не имеет никакого контроля над процессами других сторон, или, возможно, какой-либо видимости этих процессов, могут координировать свои действия и процессы для совместного использования. информация и ценность. Используйте хореографию, когда требуется координация между областями контроля / видимости. Вы можете думать о хореографии в простом сценарии как о сетевом протоколе. Это диктует приемлемые образцы запросов и ответов между сторонами.

4 голосов
/ 08 декабря 2010

Я бы сказал, что хореография хорошо подходит для высоко децентрализованных организаций. Вам не понадобится центральный исполнитель бизнес-процессов. Это способствует независимому росту и развитию каждого из подразделений организации.

(Я согласен с этой интерпретацией вопроса о оркестровке и хореографии: http://geekexplains.blogspot.com/2008/07/ways-of-combining-web-services.html)

3 голосов
/ 14 июня 2016

Другой способ взглянуть на сервисную оркестровку и хореографию:

- сервисная оркестровка: вокруг бизнес-сферы.
- сервисная хореография: среди нескольких бизнес доменов.

1 голос
/ 23 сентября 2015

В оркестровке есть проводник и инструментальные игроки.Игроки играют в соответствии с тем, как проводит дирижер.Если проводник заменен, гармоническое выражение будет другим, т. Е. Это все та же игра (услуга), но с другим результатом.Например, чтобы предоставить предложение о финансовой договоренности, служба оркестровки будет проводить, запрашивая (вызывая) каждого игрока (организацию или коммунальную службу, например, проверку кредитоспособности), сыграть (вернуть результаты или настроить / обновить свою игру) в соответствии с шаблоном проводника (бизнесправила).В хореографии есть хореограф и есть группы танцоров.Хореография - это направление, но каждая группа танцоров автономна в том, как реализовать это направление.

0 голосов
/ 17 августа 2012

Оркестровка обычно связывает воедино сервисы более низкого уровня.Это как посредник .Хореография помогает уменьшить связь еще дальше.Я объяснил это более подробно здесь .

...