Язык выполнения бизнес-процессов

редактировать
Исполняемый язык компьютера

Язык выполнения бизнес-процессов веб-служб (WS- BPEL ), широко известный как BPEL (Business Process Execution Language ), представляет собой стандартный исполняемый язык OASIS для определения действий в рамках бизнес-процессов. с веб-службами. Процессы в BPEL экспортируют и импортируют информацию исключительно с использованием интерфейсов веб-сервисов.

Содержание

  • 1 Обзор
  • 2 Программирование в большом / малом
  • 3 История
  • 4 Темы
    • 4.1 Цели проектирования
    • 4.2 Язык BPEL
    • 4.3 Связь BPEL с BPMN
    • 4.4 Добавление поддержки «программирование в малом» к BPEL
    • 4.5 BPEL4People
      • 4.5.1 Цели
    • 4.6 WS-BPEL 2.0
  • 5 См. Также
  • 6 Ссылки
  • 7 Дополнительная литература

Обзор

Взаимодействие веб-сервисов можно описать двумя способами: как исполняемые бизнес-процессы и как абстрактные бизнес-процессы.

  1. Исполняемый бизнес-процесс: моделирует реальное поведение участника бизнес-взаимодействия.
  2. Абстрактный бизнес-процесс: это частично определенный процесс, который не предназначен для выполнения. В отличие от исполняемых процессов, абстрактный процесс может скрывать некоторые требуемые конкретные операционные детали. Абстрактные процессы выполняют описательную роль с более чем одним возможным вариантом использования, включая наблюдаемое поведение и / или процесс шаблон.

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

Таким образом, он сериализован в XML и нацелен на обеспечение программирования в целом.

Программирование в большом / малом

Концепции программирования в большом и программирование в малом различают два аспекта написания типа длительно выполняющихся асинхронных процессов, которые обычно встречаются в бизнесе. процессы:

  1. Программирование в целом обычно относится к высокоуровневым переходам между состояниями взаимодействия процесса. BPEL называет эту концепцию абстрактным процессом. Абстрактный процесс BPEL представляет собой набор общедоступных моделей поведения в стандартизированной форме. Абстрактный процесс включает такую ​​информацию, как, например, когда ждать сообщений, когда отправлять сообщения, когда компенсировать неудачные транзакции и т. Д.
  2. Программирование в малых, напротив, имеет дело с короткими - живое программное поведение, часто выполняемое как единая транзакция и предполагающее доступ к локальной логике и ресурсам, таким как файлы, базы данных и так далее.

История

Истоки WS-BPEL восходят к языку потока веб-служб (WSFL) и Xlang.

. В 2001 году IBM и Microsoft имели каждый определили свои собственные довольно похожие языки «программирование на большом »: WSFL (язык потока веб-сервисов) и Xlang соответственно. Microsoft даже пошла дальше и создала вариант сценария под названием XLANG / s, который позже будет служить основой для их служб оркестровки внутри их BizTalk Server. Они специально задокументировали, что этот язык «проприетарный и не полностью задокументирован».

С появлением и популярностью BPML, а также растущим успехом BPMI.org и движения за открытую BPMS, возглавляемого JBoss и Intalio Inc., IBM и Microsoft решил объединить эти языки в новый язык, BPEL4WS. В апреле 2003 года BEA Systems, IBM, Microsoft, SAP и Siebel Systems представили BPEL4WS 1.1 в OASIS для стандартизации через Технический комитет Web Services BPEL. Хотя BPEL4WS появился как в версии 1.0, так и в версии 1.1, 14 сентября 2004 года технический комитет OASIS WS-BPEL проголосовал за название своей спецификации «WS-BPEL 2.0». (Это изменение в названии привело BPEL в соответствие с другими стандартными соглашениями об именах веб-служб, которые начинаются с «WS-» (аналогично WS-Security), и учитывает значительные улучшения, сделанные между BPEL4WS 1.1 и WS-BPEL 2.0.) Если не обсуждать В конкретной версии обычно используется прозвище BPEL .

В июне 2007 года Active Endpoints, Adobe Systems, BEA, IBM, Oracle и SAP опубликовали спецификации BPEL4People и WS-HumanTask, в которых описывается взаимодействие человека в процессы BPEL могут быть реализованы.

Темы

Цели проектирования

С BPEL было связано десять исходных целей проектирования:

  1. Определение бизнес-процессов, которые взаимодействуют с внешними объектами посредством операций веб-сервисов, определенных с помощью WSDL 1.1, и они проявляются как веб-службы, определенные с помощью WSDL 1.1. Взаимодействия являются «абстрактными» в том смысле, что зависимость зависит от определений portType, а не от определений портов.
  2. Определяйте бизнес-процессы с помощью языка на основе XML. Не определяйте графическое представление процессов и не предоставляйте какую-либо конкретную методологию проектирования для процессов.
  3. Определите набор концепций оркестровки веб-служб, которые предназначены для использования как во внешнем (абстрактном), так и во внутреннем (исполняемом) представлениях бизнес-процесса. Такой бизнес-процесс определяет поведение отдельного автономного объекта, обычно работающего во взаимодействии с другими аналогичными одноранговыми объектами. Признано, что для каждого шаблона использования (т. Е. Абстрактного представления и исполняемого представления) потребуется несколько специализированных расширений, но эти расширения должны быть сведены к минимуму и проверены на соответствие таким требованиям, как импорт / экспорт и проверка соответствия, которые связывают два использования. шаблоны.
  4. Обеспечивают как иерархические, так и графические режимы управления и позволяют максимально плавно комбинировать их использование. Это должно уменьшить фрагментацию пространства моделирования процессов.
  5. Предоставлять функции манипулирования данными для простого манипулирования данными, необходимыми для определения данных процесса и потока управления.
  6. Поддержка механизма идентификации для экземпляров процесса, которые позволяет определять идентификаторы экземпляров на уровне сообщений приложения. Идентификаторы экземпляров должны определяться партнерами и могут изменяться.
  7. Поддерживать неявное создание и завершение экземпляров процессов в качестве основного механизма жизненного цикла. Расширенные операции жизненного цикла, такие как «приостановка» и «возобновление», могут быть добавлены в будущих выпусках для расширенного управления жизненным циклом.
  8. Определите модель длительной транзакции, основанную на проверенных методах, таких как действия компенсации и определение объема для поддержки сбоя восстановление для частей давно выполняемых бизнес-процессов.
  9. Используйте веб-службы в качестве модели для декомпозиции и сборки процессов.
  10. Постройте как можно больше стандартов веб-служб (утвержденных и предлагаемых) в компонуемость и модульность.

Язык BPEL

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

Сосредоточение внимания BPEL на современных бизнес-процессах, а также истории WSFL и XLANG привело BPEL к принятию веб-сервисов в качестве своего внешнего механизма связи. Таким образом, средства обмена сообщениями BPEL зависят от использования языка описания веб-служб (WSDL) 1.1 для описания исходящих и входящих сообщений.

Помимо предоставления возможностей для отправки и получения сообщений, язык программирования BPEL также поддерживает:

Связь BPEL с BPMN

Там не является стандартной графической нотацией для WS-BPEL, поскольку технический комитет OASIS решил, что это выходит за рамки. Некоторые производители изобрели свои собственные обозначения. Эти нотации используют тот факт, что большинство конструкций в BPEL имеют блочную структуру (например, последовательность, while, pick, scope и т. Д.). Эта функция обеспечивает прямое визуальное представление описаний процессов BPEL в форме структурограмм в стиле напоминает диаграмму Насси – Шнейдермана.

Другие предложили использовать существенно другой язык моделирования бизнес-процессов, а именно Модель и нотацию бизнес-процессов (BPMN), в качестве графического интерфейса для захвата Описание процессов BPEL. В качестве иллюстрации осуществимости этого подхода спецификация BPMN включает неформальное и частичное отображение от BPMN к BPEL 1.1. Более подробное отображение BPMN в BPEL было реализовано в ряде инструментов, включая инструмент с открытым исходным кодом, известный как BPMN2BPEL. Однако разработка этих инструментов выявила фундаментальные различия между BPMN и BPEL, которые делают очень трудным, а в некоторых случаях невозможным создание удобочитаемого кода BPEL из моделей BPMN. Еще более сложной является проблема проектирования BPMN-to-BPEL туда и обратно : генерация кода BPEL из диаграмм BPMN и поддержание исходной модели BPMN и сгенерированного кода BPEL синхронизированными, в том смысле, что любая модификация одного распространяется на другие.

Добавление поддержки «программирование в малом» в BPEL

управляющие структуры BPEL, такие как «if-then-elseif-else» и «while», а также его Возможности управления переменными зависят от использования «программирования на малых» языках для обеспечения логики. Все реализации BPEL должны поддерживать XPath 1.0 в качестве языка по умолчанию. Но дизайн BPEL предусматривает расширяемость, чтобы разработчики систем могли использовать и другие языки. BPELJ - это усилие, связанное с JSR 207, которое может позволить Java функционировать как «программирование на малом» языке внутри BPEL.

BPEL4People

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

Чтобы восполнить этот пробел, BPEL4People расширил BPEL от оркестровки одних только веб-сервисов до оркестровки человеческой деятельности на основе ролей.

Цели

В контексте бизнес-процесса BPEL4People

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

путем расширения BPEL дополнительным независимым синтаксисом и семантикой.

Спецификация WS-HumanTask вводит определение человеческих задач и уведомлений, включая их свойства, поведение и набор операций, используемых для управления человеческими задачами. Протокол координации вводится, чтобы управлять автономностью и жизненным циклом человеческих задач с поддержкой сервисов во взаимодействии.

Спецификация BPEL4People представляет расширение WS-BPEL для решения проблем взаимодействия людей в WS-BPEL как гражданин первого класса. Он определяет новый тип основной деятельности, в которой в качестве реализации используются неавтоматизированные задачи, и позволяет определять задачи, локальные для процесса, или использовать задачи, определенные вне определения процесса. Это расширение основано на спецификации WS-HumanTask.

WS-BPEL 2.0

В версии 2.0 были внесены некоторые изменения и новые функции:

  • Новые типы действий: repeatUntil, validate, forEach (параллельный и последовательный), rethrow, extensionActivity,pensateScope
  • Переименованные действия: переключатель / case переименован в if / else, terminate переименован в exit
  • Обработчик завершения добавлен в действия области для обеспечения явного поведения для завершения
  • Инициализация переменной
  • XSLT для преобразования переменных (Новая функция расширения XPath bpws: doXslTransform)
  • Доступ XPath к данным переменных (синтаксис переменной XPath $ variable [.part] / location)
  • Переменные схемы XML в Интернете действия службы (для взаимодействия служб стиля WS-I doc / lit)
  • Локально объявленный messageExchange (внутренняя корреляция действий приема и ответа)
  • Разъяснение абстрактных процессов (синтаксис и семантика)
  • Включение переопределения языка выражений для каждого действия

См. Также

Ссылки

Дополнительная литература

Книги по BPEL 2.0
  • SOA для бизнес-разработчиков: концепции, BPEL и SCA. ISBN 978-1-58347-065-7
Последняя правка сделана 2021-05-13 06:45:45
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте