Позвольте мне внести ясность, проведя различие между BPM, Orchestration и ESB с помощью шаблонов проектирования и спецификаций.
Вообще говоря, «оркестровка» определяется как составной шаблон, использующий шаблоны проектирования «Абстракция процесса», «Централизация процесса» и «Репозиторий состояний». Благодаря реализации паттерна государственного репозитория и в отличие от предыдущего сообщения, оркестровка поддерживает длительные синхронные бизнес-процессы, как и BPM.
Основное практическое различие между ними состоит в том, что промежуточное ПО Orchestration (например, WebSphere Process Server, BizTalk, Oracle BPEL Manager и Windows Workflow Foundation) поддерживает большинство спецификаций WS *. Сюда входят Ws BPEL, Ws Security, Ws Atomic Transaction, Ws Business Activity, Ws Reliable Messaging и т. Д., В то время как большинство инструментов BPM этого не делают.
В результате не стесняйтесь использовать оркестровку на уровне предприятия, но будьте очень осторожны при использовании BPM в этой области.
На практике инструменты BPM и Orchestration позволяют графическое представление бизнес-процесса. Различие в том, что оркестровка может быть выражена через независимый от поставщика BPEL (язык выполнения бизнес-процессов), а BPM выражается через специфичную для поставщика BPMN (нотацию моделирования бизнес-процессов). Это еще одна причина избегать инструментов BPM на уровне SOA / Enterprise.
В тех случаях, когда инструмент BPM реализует спецификации Ws *, он является механизмом оркестрации для всех практических целей. Различие опять же в том, что инструменты BPM полагаются на BPMN, зависящую от поставщика, а инструменты оркестрации полагаются на BPEL, не зависящий от поставщика.
В случаях, когда и BPM, и Orchestration должны сосуществовать, ограничьте BPM архитектурой приложения (например, стилем MVC) и позвольте Orchestration способствовать совместному использованию корпоративных активов.
ESB - это совершенно другое животное. Его следует использовать для асинхронных, а не синхронных процессов и полагаться на другой набор шаблонов проектирования (например, Service Broker, асинхронную организацию очередей, промежуточную маршрутизацию и шаблоны Content Enricher).
person
Stan Tonkonogy
schedule
28.09.2014