Моделирование workflow с помощью ws-bpel

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

Upload: benard

Post on 17-Mar-2016

97 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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