Jump to content

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

(Перенаправлено с BPEL4WS )

WS-BPEL
Язык выполнения бизнес-процессов веб-сервисов
Аббревиатура WS-BPEL или BPEL
Статус Опубликовано
Год начался 2001  ( 2001 )
Впервые опубликовано апрель 2003 г .; 21 год назад ( 2003-04 )
Последняя версия 2.0
11 апреля 2007 г .; 17 лет назад ( 11 апреля 2007 г. )
Организация ОАЗИС
комитет Язык выполнения бизнес-процессов веб-служб OASIS (WSBPEL) TC
Базовые стандарты XML
Домен Интеграция веб-сервисов
Веб-сайт документы .oasis-open .org /wsbpel /2 .0 /ТЫ /wsbpel-v2 .0-ОС .html

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

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

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

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

По существу, он сериализован в XML и предназначен для обеспечения возможности программирования в целом.

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

[ редактировать ]

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

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

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

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

С появлением и популярностью BPML , а также с растущим успехом BPMI.org и движением за открытое BPMS, возглавляемым JBoss и Intalio Inc., IBM и Microsoft решили объединить эти языки в новый язык, BPEL4WS. В апреле 2003 года BEA Systems , IBM, Microsoft, SAP и Siebel Systems представили BPEL4WS 1.1 в OASIS для стандартизации через Технический комитет BPEL по веб-службам. [7] Хотя BPEL4WS появился как в версии 1.0, так и в версии 1.1, технический комитет OASIS WS-BPEL проголосовал за [8] 14 сентября 2004 г. назвали свою спецификацию «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. Не определяйте графическое представление процессов и не предоставляйте какую-либо конкретную методологию проектирования процессов. [9]
  3. Определите набор концепций оркестрации веб-сервисов, которые предназначены для использования как внешними (абстрактными), так и внутренними (исполняемыми) представлениями бизнес-процесса. Такой бизнес-процесс определяет поведение одного автономного объекта, обычно действующего во взаимодействии с другими аналогичными одноранговыми объектами. Признано, что каждый шаблон использования (т. е. абстрактное представление и исполняемое представление) потребует нескольких специализированных расширений, но эти расширения должны быть сведены к минимуму и проверены на соответствие таким требованиям, как импорт/экспорт и проверка соответствия, которые связывают два использования. узоры.
  4. Обеспечьте как иерархические, так и графические режимы управления и позвольте максимально плавно сочетать их использование. Это должно уменьшить фрагментацию пространства моделирования процессов.
  5. Предоставьте функции манипулирования данными для простого манипулирования данными, необходимыми для определения данных процесса и потока управления.
  6. Поддерживайте механизм идентификации экземпляров процессов, который позволяет определять идентификаторы экземпляров на уровне сообщений приложения. Идентификаторы экземпляров должны определяться партнерами и могут меняться.
  7. Поддержка неявного создания и завершения экземпляров процессов в качестве основного механизма жизненного цикла. Расширенные операции жизненного цикла, такие как «приостановка» и «возобновление», могут быть добавлены в будущих выпусках для улучшения управления жизненным циклом.
  8. Определите модель долгосрочных транзакций, основанную на проверенных методах, таких как компенсационные действия и определение объема, для поддержки восстановления после сбоев для частей долговыполняющихся бизнес-процессов.
  9. Используйте веб-службы в качестве модели для декомпозиции и сборки процессов.
  10. Опирайтесь на стандарты веб-сервисов (утвержденные и предложенные), насколько это возможно, компонуемым и модульным образом.

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

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

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

Связь BPEL с BPMN

[ редактировать ]

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

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

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

[ редактировать ]

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

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

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

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

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

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

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

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

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

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

См. также

[ редактировать ]
  1. ^ Стандарт OASIS WS-BPEL 2.0
  2. ^ Язык выполнения бизнес-процессов для веб-сервисов, версия 1.1. Архивировано 3 декабря 2020 г. на Wayback Machine (5 мая 2003 г.).
  3. ^ «Члены OASIS формируют Технический комитет по языку выполнения бизнес-процессов веб-сервисов (WSBPEL)» . Технический комитет OASIS WSBPEL. 29 апреля 2003 г.
  4. ^ «Титульные страницы: Язык потока веб-служб (WSFL)» . xml.coverpages.org/. 6 июня 2001 года . Проверено 9 октября 2014 г.
  5. ^ «КСЛАНГ» . xml.coverpages.org/. 2001 . Проверено 9 октября 2014 г.
  6. ^ «Язык XLANG/s» . Майкрософт . Проверено 9 октября 2014 г.
  7. ^ Технический комитет веб-служб BPEL .
  8. ^ «choreology.com» . хореология.com. Архивировано из оригинала 27 февраля 2012 года . Проверено 17 апреля 2013 г.
  9. ^ Чиноси, Микеле (1 января 2009 г.). «Представление бизнес-процессов: концептуальная модель и методология проектирования» . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  10. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 15 сентября 2012 года . Проверено 17 апреля 2013 г. {{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  11. ^ BPMN2BPEL .
  12. BPELJ. Архивировано 16 мая 2005 г. в Wayback Machine.
  13. ^ JSR 207

Дальнейшее чтение

[ редактировать ]
Книги по BPEL 2.0
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c7ce11393278b0d2455dd180c70c0e9c__1702438560
URL1:https://arc.ask3.ru/arc/aa/c7/9c/c7ce11393278b0d2455dd180c70c0e9c.html
Заголовок, (Title) документа по адресу, URL1:
Business Process Execution Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)