Главная
Новости
Строительство
Ремонт
Дизайн и интерьер
Каркасный дом
Несущие конструкции
Металлические конструкции
Прочность дорог
Дорожные материалы
Стальные конструкции
Грунтовые основания
Опорные сооружения




23.09.2023


23.09.2023


22.09.2023


22.09.2023


22.09.2023


22.09.2023


21.09.2023





Яндекс.Метрика

BPEL

18.06.2023

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

В общем виде конфигурация BPEL-проекта выглядит следующим образом:

  • BPEL-визуальный редактор;
  • Сервер управления бизнес-процессами.

Основные файлы BPEL-проекта:

  • .bpel — логический синтез и координация веб-служб. Фактически алгоритм исполнения бизнес-процесса. (его графическое представление напоминает блок-схему и диаграмму потоков данных в одном лице).
  • .wsdl — описание интерфейсов для обмена сообщениями. «Как достичь веб-службы» (WSDL).
  • .xsd — описание структур данных проекта (XML Schema).

История

Фирмы IBM и Microsoft определили два довольно схожих языка, WSFL и Xlang, соответственно. Рост популярности BPML, успех BPMI.org и открытое движение BPMS вынудили Intalio Inc., IBM и Microsoft принять решение объединить эти языки в новый язык — BPEL4WS. В апреле 2003, BEA Systems, IBM, Microsoft, SAP и Siebel Systems передали BPEL4WS 1.1 OASIS для стандартизирования по Web Services BPEL Technical Committee. Хотя BPEL4WS появился сразу в версиях 1.0 и 1.1, технический комитет WS-BPEL OASIS проголосовал 14 сентября 2004 назвать спецификацию WS-BPEL 2.0. Это изменение было сделано, чтобы выровнять BPEL с другими стандартами веб-сервисов, которые по соглашению об именовании начинаются на WS-.

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

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

Пример BPEL

Гипотетический пример. BPEL-последовательность mathProcess принимает переменную $numIn возводит её в квадрат и возвращает результат в переменной $numOut.

<process name="mathProcess" targetNamespace="http://example.com/ws-bp/math" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:math="http://manufacturing.org/wsdl/math"> <partnerLinks> <partnerLink name="Math" partnerLinkType="math:exampleMath" myRole="mathService" /> </partnerLinks> <variables> <variable name="numIn" messageType="math:unsignedInt"/> <variable name="numOut" messageType="math:unsignedInt"/> <variable name="num" type="xsd:unsignedInt"/> </variables> <sequence> <receive partnerLink="Math" portType="math:mathPort" operation="secondDegree" variable="numIn" createInstance="yes"/> <assign name="LoopCounterIncrement"> <copy> <from>$numIn.request</from> <to variable="num"/> </copy> <copy> <from>$num * $num</from> <to variable="numOut" part="response"/> </copy> </assign> <reply operation="secondDegree" partnerLink="Math" portType="math:mathPort" variable="numOut"/> </sequence> </process>

Имя:*
E-Mail:
Комментарий: