Подтвердить что ты не робот

Оркестрация и хореография

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

4b9b3361

Ответ 1

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

Сервисная оркестровка

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

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

Orchestration

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

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

Choreography

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

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

введите описание изображения здесь

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

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

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

введите описание изображения здесь

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

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

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

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

  • Альтернативные сценарии могут быть внедрены в случае возникновения сбоев.

Ответ 5

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

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

Ответ 6

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

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

Ответ 7

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

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

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

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

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

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

Ответ 8

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

Ответ 9

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

Ответ 10

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

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