Моделирование WORKFLOW с помощью WS-BPEL.

18
Моделирование Моделирование WORKFLOW WORKFLOW с помощью с помощью WS-BPEL. WS-BPEL. Відповідальний виконавець Керівник П.І. Перконос С.В. Суботін

description

Моделирование WORKFLOW с помощью WS-BPEL. Керівник. Відповідальний виконавець. П.І. Перконос. С.В. Суботін. Назначение и цели языка. интра- интеграция разнородных приложений. интеграция B2B приложений. обеспечение взаимодействия в гетерогенной среде. - PowerPoint PPT Presentation

Transcript of Моделирование WORKFLOW с помощью WS-BPEL.

Page 1: Моделирование  WORKFLOW                с помощью  WS-BPEL.

Моделирование Моделирование WORKFLOW WORKFLOW с помощью с помощью WS-BPEL.WS-BPEL.

Відповідальний виконавецьКерівникП.І. Перконос С.В. Суботін

Page 2: Моделирование  WORKFLOW                с помощью  WS-BPEL.

Назначение и цели языка

• интра- интеграция разнородных приложений

• интеграция B2B приложений

• обеспечение взаимодействия в гетерогенной среде

• поддержка сервис-ориентированной архитектуры

Page 3: Моделирование  WORKFLOW                с помощью  WS-BPEL.

• основан на взаимодействии партнеров и процессов с помощью Web сервисов

Концептуальные основы WS BPEL

• Способность поддерживать длительные процессы с сохраняемым состоянием

• управление последовательностью, определяемое данными

• транзакционность• способность обработки исключений

Page 4: Моделирование  WORKFLOW                с помощью  WS-BPEL.

Отношение к другим спецификациям

XPATH,XSLT

Page 5: Моделирование  WORKFLOW                с помощью  WS-BPEL.

Базовый словарь языка и средства его расширения

ХМ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.

Структура 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.

Определение 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.

Переменные и манипулирование данными

<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.

Основная функциональность

Ожидает определенное

сообщение Отправляет

ответное сообщениеИнициирует выполнение

сервиса

Манипулирование данными

Проверка данных на соответствие

схемы

Пустая операция

Возбуждает исключительную

ситуацию Проталкивает исключительную

ситуацию в вышестоящий

структурный блок

Заверщает Workflow

Ожидание указанного момента

Откат транзакции

Доопределенная функциональность

Page 10: Моделирование  WORKFLOW                с помощью  WS-BPEL.

Выполнение сервиса

<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.

Обмен сообщениями

<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.

Структурная функциональность

Параллельное выполнение входящих действий

Последовательное выполнение входящих действий

Циклическое выполнение

цепочки действий

Циклическое выполнение

цепочки действий

Ожидание определенного события

Циклическое выполнение цепочки

действий

Условное выполнение действий

Структурирование контекста выполнения

Page 13: Моделирование  WORKFLOW                с помощью  WS-BPEL.

Последовательность выполнения

<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.

Циклы <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.

Обработка исключений

<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.

Выполнение

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.
Page 18: Моделирование  WORKFLOW                с помощью  WS-BPEL.

Выполнение

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