Download - Моделирование WORKFLOW с помощью WS-BPEL
![Page 1: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/1.jpg)
Моделирование Моделирование WORKFLOW WORKFLOW с помощью с помощью WS-BPEL.WS-BPEL.
Відповідальний виконавецьКерівникП.І. Перконос С.В. Суботін
![Page 2: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/2.jpg)
Назначение и цели языка
• интра- интеграция разнородных приложений
• интеграция B2B приложений
• обеспечение взаимодействия в гетерогенной среде
• поддержка сервис-ориентированной архитектуры
![Page 3: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/3.jpg)
• основан на взаимодействии партнеров и процессов с помощью Web сервисов
Концептуальные основы WS BPEL
• Способность поддерживать длительные процессы с сохраняемым состоянием
• управление последовательностью, определяемое данными
• транзакционность• способность обработки исключений
![Page 4: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/4.jpg)
Отношение к другим спецификациям
XPATH,XSLT
![Page 5: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/5.jpg)
Базовый словарь языка и средства его расширения
ХМL Синтаксическая основа WS-BPEL
пространства именК базовым пространствам имен
•xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
•xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"•xmlns:xsd="http://www.w3.org/2001/XMLSchema">•xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/
Могут быть добавлены проблемно ориентированные
•xmlns:wsdl="http://science.org/wsdl/runge_kutt_method ………………………………………..
В спецификацию WS_BPEL могут включаться внешние спецификации
<import namespace=«URI идентификатор пространства имен"? location=" URI адрес включаемой спецификации"? importType=" URI адрес xsd схемы включаемой спецификации " />*
![Page 6: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/6.jpg)
Структура WS-BPEL документа
<wsdl:definitions …..>Спецификация WEB сервисов которые используются в описываемом workflow и партнеров которые в нем участвуют
</wsdl:definitions >
<process …>……..
………….
</process >
<структурный подпроцесс::= sequence|if|while|repeatUntil|forEach|pick|flow|scope|compensate|.. ><variables> …… </variables><assign> …XPATH,XSLT выражения… </assign>
…….
………
…….</структурный подпроцесс>
<activity::=receive|reply|invoke|assign|throw| rethrow| exit|wait|empty|validate..></ activity >
<activity> … </ activity ><activity> … </ activity >
< структурный подпроцесс > … </ структурный подпроцесс >
![Page 7: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/7.jpg)
Определение WEB сервисов и партнеров
<wsdl:definitions xmlns:wsdl="http://science.org/xsd/runge_kutt_method …..>
</wsdl:definitions >
<wsdl:types> <xsd:schema> <xsd:import namespace=..., schemalocation=…/> </xsd:schema></wsdl:types>
…..
<wsdl:message name=..> <wsdl:part name =..,type= “ссылка на тип в wsdl”/> </wsdl:message>
<wsdl:porttype name=..> <wsdl:operation name=..> <wsdl:input message=…/> <wsdl:output message=…/> <wsdl:fault name=.,message=…/> </wsdl:operation> </wsdl:porttype>
…..
<plnk:partnerLinkType name=..> <plnk:role name=..., portType=.., EPR=..> <plnk:role name=..., portType=..,EPR=></plnk:partnerLinkType>
![Page 8: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/8.jpg)
Переменные и манипулирование данными
<wsdl:definitions > …….. </wsdl:definitions >
<variables > <variable> name= .. messageType=.. |type=...| element </variable > ……..</variables >
WSDLmessage
XML schema
EII of XML schema
<process > xlmns:ext .. <validate> variablenames =“v1 v2 … ” </ validate > ……..<assign> <copy> <from >XPATh expression </from> <to> XPATh query </to> </copy></assign> <assign> <copy> <from >DoXslTransformation(«что»,«как») </from> <to> XPATh query </to> </copy></assign>
</process>
![Page 9: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/9.jpg)
Основная функциональность
Ожидает определенное
сообщение Отправляет
ответное сообщениеИнициирует выполнение
сервиса
Манипулирование данными
Проверка данных на соответствие
схемы
Пустая операция
Возбуждает исключительную
ситуацию Проталкивает исключительную
ситуацию в вышестоящий
структурный блок
Заверщает Workflow
Ожидание указанного момента
Откат транзакции
Доопределенная функциональность
![Page 10: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/10.jpg)
Выполнение сервиса
<process > <invoke partnerLink=… portType=.. operation=.. inputVariable=.. outputVariable=..> <catch faultName=..| faultVariable=.. faultMessageType=..| faultElement=..> activity </catch> <catchAll> activity </catchAll> <compensationHandler> activity </compensationHandler> <toParts> <toPart part=.. fromVariable=.. /> </toParts> <fromParts> <fromPart part=.. toVariable=.. /> </fromParts> </invoke>
</process>
<wsdl:definitions > …….. </wsdl:definitions >
<variables >……..</variables >
![Page 11: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/11.jpg)
Обмен сообщениями
<process > <receive partnerLink=… portType=.. operation=.. Variable=.. MessageExchange=.. > <fromParts> <fromPart part=.. toVariable=.. /> </fromParts> </ receive>
<reply partnerLink=.. portType=.. operation=.. Variable=.. MessageExchange=.. > <toParts> <toPart part=.. toVariable=.. /> </toParts> </reply>
</process>
![Page 12: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/12.jpg)
Структурная функциональность
Параллельное выполнение входящих действий
Последовательное выполнение входящих действий
Циклическое выполнение
цепочки действий
Циклическое выполнение
цепочки действий
Ожидание определенного события
Циклическое выполнение цепочки
действий
Условное выполнение действий
Структурирование контекста выполнения
![Page 13: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/13.jpg)
Последовательность выполнения
<sequence> activity ……. </sequence >
<if> <condition> expression </condition> activity <elseif> <condition> expression </condition> activity </elseif> <else> activity </else> </if >
<Flow> <links> <link name=../> .. </links> < activity> <source> linkName=.. <transitionCondition> expr </ transitionCondition > </source> <target> linkName=.. <joinCondition> expr </joinCondition > </ target > < /activity> ……. </Flow>
![Page 14: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/14.jpg)
Циклы <While> <condition> expression </condition> activity</ While>
<Foreach counterName=.. Parallel=yes|no>
<startCounterValue> expr </startCounterValue > <finalCounterValue> expr </finalCounterValue >
<Completioncondition> <branches successfulBranchesOnly="yes|no"> expression </ branches > </Completioncondition> <scope> ……. < / scope >
</ Foreach >
<RepeatUntil> activity <condition> expression </condition></ RepeatUntil >
![Page 15: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/15.jpg)
Обработка исключений
<scope isolated="yes|no” exitOnStandardFault="yes|no"? > …….. <scope > <variables> …. </ variables > <partnerLinks> …. </ partnerLinks > <EventHandlers> …. </ EventHandlers > <FaultHandlers> …. </FaultHandlers > <CompensationHandler> …. </CompensationHandler> <TerminationHandlers> …. </ TerminationHandlers >
ACTIVITY <if> … <throw/> </if> </scope > ……..</scope >
<CompensationHandler> ACTIVITY </CompensationHandler>
<FaultHandlers> <Catch faultName=.. Faultvariable=.. > ACTIVITY </Catch > <CatchAll > ACTIVITY </CatchAll ></FaultHandlers>
Default faulthandler <CatchAll > <sequence> <compensate/> <rethrow/> </sequence> </CatchAll >
<EventHandlers> <Onevent PartnerLink=.. Operation=.. > <scope >…. </scope > </Onevent>
<OnAlarm > <for> duration_expr </for> <Until> duration_expr </ Until > <repeatevery> duration_expr </ repeatevery > <scope >…. </scope > </OnAlarm> </EventHandlers>
![Page 16: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/16.jpg)
Выполнение
5
Застосування
Застосування
Застосування замовника
SAP
Пакети застосувань
Компоненти
Сервіси (атомарні,
композитні)
Потоки бізнес-
процесів
Користувачі сервісів
В2ВПортали .NET
Платформи
UnixOS/390
Сполучне ПО
MQ DB2
1
2
3
4
Операційні
системи
Жизненный цикл WORKFLOW c использованием WS-BPEL в
WEBРеинжениринг бизнеспроцессов
проектирование
WSDL
Abstract WS-BPEL
CASE
UddI портал
разработка
Бизнес аналитик
Executable WS-BPEL
Системный аналитик
Программист
Пользователь
Программные
платформы
WEB сервер
WSBPEL Engine
SOAP
UddI реестры
![Page 17: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/17.jpg)
![Page 18: Моделирование WORKFLOW с помощью WS-BPEL](https://reader036.vdocuments.pub/reader036/viewer/2022081721/56814634550346895db3412f/html5/thumbnails/18.jpg)
Выполнение
5
Застосування
Застосування
Застосування замовника
SAP
Пакети застосувань
Компоненти
Сервіси (атомарні,
композитні)
Потоки бізнес-
процесів
Користувачі сервісів
В2ВПортали .NET
Платформи
UnixOS/390
Сполучне ПО
MQ DB2
1
2
3
4
Операційні
системи
Жизненный цикл WORKFLOW c использованием WS-BPEL в
WEBРеинжениринг бизнеспроцессов
проектирование
WSDL
Abstract WS-BPEL
CASE
SPARQL engine
разработка
Бизнес аналитик
Executable WS-BPEL Системный
аналитик
Программист
Пользователь
Программные
платформы
WEB сервер
WSBPEL Engine
SOAP
UddI реестры
RDF OWL
SPAR
QL en
gine