Upload
ali-ismail
View
226
Download
0
Embed Size (px)
Citation preview
8/8/2019 BPEL Session
1/29
8/8/2019 BPEL Session
2/29
Business Process Business Processes Automation & Web
Service Standards
WS-BPEL Overview BPEL4People & WS-HumanTask
8/8/2019 BPEL Session
3/29
A business process is a collection of interrelated tasks,which are designed to deliver a particular result
Types of business processes Management processes - processes that govern the operation of
a system Operational processes - processes that constitute the core
activities of the business and delivers the primary value of theorganization
Supporting processes - which support the core processes A business process can be decomposed into several sub-
processes, which have their own attributes, but arealigned with the goal of the overall process
The analysis of business processes typically includes themapping of processes and sub-processes down to anactivity level
Business processes can be automated through BPMsoftware and workflow
8/8/2019 BPEL Session
4/29
Key Questions for Workflow Design Who Should?
Who is involved in the process
Do What?
What tasks/activities need to be performedTo What?
What entities (objects) and data involved
When? What starts and stops the process
In What Order? What is the sequence and interrelationship between tasks
Why? What is the value proposition of using workflow
8/8/2019 BPEL Session
5/29
Improve the speed of a business process Improve the consistency of a business process
Improve the quality of a business process
8/8/2019 BPEL Session
6/29
Business Process
Business Processes Automation & WebService Standards
WS-BPEL Overview BPEL4People & WS-HumanTask
8/8/2019 BPEL Session
7/29
Messaging
Qualityof Service
Transport
Description
Components
Transport
Interface + Bindings
Composite
XML Non-XML
Security
Policy
Discovery,Negotiation,Agreement
Atomic
Orchestration Protocols State
ReliableMessaging
Transactions
ComponentModel
8/8/2019 BPEL Session
8/29
Messaging
Qualityof Service
Transport
Description
Components
Transport
Interface + Bindings
Composite
XML Non-XML
Security
Policy
Discovery,Negotiation,Agreement
Atomic
Orchestration Protocols State
ReliableMessaging
Transactions
ComponentModel
WS-RM
WSDL* WS-Policy*
HTTP, TCP/IP, SMTP, FTP,
UDDI,WS-Addr,Metadat
aExch.,
WS-CWS-N* WS-RFWS-BPEL
WS-Security*WS-ATWS-BA
SOAP, WS-Addr* JMS, RMI/IIOP, ...
SCA
8/8/2019 BPEL Session
9/29
Messaging
Qualityof Service
Transport
Description
Components
Transport
Interface + Bindings
Composite
XML Non-XML
Security
Policy
Discovery,Negotiation,Agreement
Atomic
Orchestration Protocols State
ReliableMessaging
Transactions
ComponentModel
WS-RM
WSDL* WS-Policy*
HTTP, TCP/IP, SMTP, FTP,
UDDI,WS-Addr,Metadat
aExch.,
WS-CWS-N* WS-RFWS-BPEL
WS-Security*WS-ATWS-BA
SOAP, WS-Addr* JMS, RMI/IIOP, ...
SCA
8/8/2019 BPEL Session
10/29
Business Process
Business Processes Automation & WebService Standards
WS-BPEL Overview BPEL4People & WS-HumanTask
8/8/2019 BPEL Session
11/29
Web Services Business Process ExecutionLanguage (WS-BPEL) is a language for describingbusiness processes based on Web Services Processes described using WS-BPEL execute functionality
by using Web Service interfaces exclusively WS-BPEL Specification is administered by OASIS
WS-BPEL is an orchestration language. Orchestration specifies an executable process that
involves message exchanges with other systems, such
that that the message exchange sequences are controlledby the orchestration designer.
8/8/2019 BPEL Session
12/29
WS-BPEL process definition Recursive composition and partner links Variables
Correlation sets Basic and structured activities Scopes Compensation handling
8/8/2019 BPEL Session
13/29
process
imports
Declare dependencieson external XMLSchema or WSDLdefinitions
extensions
Declare namespaces ofWS-BPEL extension
attributes and elements
variables
Data holding state of abusiness process orexchanged withpartners
partnerlinks
Relationships that aWS-BPEL process will
employ in its behavior
correlationsets
Application data fieldsthat together identify
a conversation
messageexchanges
Relationship betweeninbound and outbound
message activities
eventhandlers
Concurrently processinbound messages ortimer alarms
faulthandlers
Deal with exceptionalsituations in a process
primaryactivity
Perform the processlogic any number ofactivities may berecursively nested
XMLschemas
WSDLdefinitions
8/8/2019 BPEL Session
14/29
WebService
Financial
institutionsWeb serviceimplementation(Loan Approver)
WebService
WSDLLoanApprovalPortType
Loan Approval Process
invoke
receive
reply
WS-BPEL processes are
exposed as Webservices
to business partners
WS-BPEL processesinteract
with Web servicesexposed
by business partners
8/8/2019 BPEL Session
15/29
WDSL describes functionality of services provided bya partner
Partner Link describes the shape of the relationshipwith a partner by describing the Port Types used in apeer to peer relationship
Example:
Reference to WDSLportType element
8/8/2019 BPEL Session
16/29
process
partnerlink
partner link type
Peer-to-peer conversational partner relationship
WSDLport type
myRole
Provided port type
WSDLport type
partnerRole
Required port type
receive
Inbound request service provided by theprocess
invoke
Outbound request service required by the
process
8/8/2019 BPEL Session
17/29
Variable construct is used to state informationrelated to workflow logic
Variables can contain entire messages anddata sets formatted as XSD schema types
Example:
Message Namefrom Partner
Process Definition
8/8/2019 BPEL Session
18/29
process
assign
xsl:transform
receive
request
response
invoke
request
reply
response
42
WSDLmessage
WSDLmessage
WSDLmessages
Variables defined using WSDL messages
42XMLschemas
XML Schemaelements / types
Variables defined using XML schema elements or types
8/8/2019 BPEL Session
19/29
How to identify stateful instances via stateless WS interfaces? A process instance is assigned one or more keys
Business data is used as key, e.g., customerID
A key can be compound, e.g., (customerID, orderNumber)
WS-BPEL calls a key a correlation set it is used to correlate anincoming message with a process instance
Process 4(0123,15)
Process 3(0815,42)
Process 2(4711,37)
Process 1(0815,12)
0815 42
Message 2
customerID
orderNumber
4711 37
Message 1
8/8/2019 BPEL Session
20/29
process
receive reply
invokeInvoke a one-way or
request-responseoperation
Do a blocking wait for amatching message toarrive / send a messagein reply
validate
assignUpdate the values ofvariables or partnerlinks with new data
Validate XML datastored in variables
throw
rethrow
Generate a fault frominside the businessprocess
Forward a fault frominside a fault handler
exit
Immediately terminateexecution of a business
process instance
compensate
compensateScope
Invoke compensationon all completed child
scopes in default order
Invoke compensationon one completed child
scope
waitWait for a given time
period or until a certaintime has passed
empty No-op instruction fora business process
extensionActivityWrapper for language
extensions
8/8/2019 BPEL Session
21/29
process
flowContained activities areexecuted in parallel,partially orderedthrough control links
sequenceContained activities areperformed sequentiallyin lexical order
whileContained activity isrepeated while apredicate holds
repeatUntilContained activity isrepeated until apredicate holds
pick Block and wait for asuitable message toarrive (or time out)
forEach Contained activity isperformed sequentiallyor in parallel, controlled
by a specified countervariable
if-elseif-else Select exactly onebranch of activity from
a set of choices
scope Associate containedactivity with its own local
variables, partner links,etc.,
and handlers
2. N.1.
B C
A
c
c
c1 c2
2. N.1.
AM2M1
8/8/2019 BPEL Session
22/29
process
scope
scope
scope
scopescope
scope
scope
Scopes provide acontext whichinfluences theexecution behavior ofits enclosed activities
Isolated scopes providecontrol of concurrentaccess to sharedresources
scope
Local declarations partner links, message
exchanges, variables,correlation setsLocal handlers eventhandlers, faulthandlers, a terminationhandler, and acompensation handler
Compensation handler toundo persisted effects of
already completedactivities
Termination handler todeal with forced scope
termination (externalfaults)
primary activity
scope
8/8/2019 BPEL Session
23/29
process
scope
invoke
invoke
invoke
faulthandlercompensate
compensation
handlercompensatecompensation
handlercompensation
handlerinvoke
invoke
1. Do some work (successfully invoke two services)
2. Invoke anotherservice(throws fault)
3. The faulttriggersthe process-levelfault handler
4.Compensatepreviouswork5. Propagate
compensation
6. Undo work(in reverseorder)
8/8/2019 BPEL Session
24/29
8/8/2019 BPEL Session
25/29
...
8/8/2019 BPEL Session
26/29
8/8/2019 BPEL Session
27/29
8/8/2019 BPEL Session
28/29
Business Process Business Processes Automation & Web
Service Standards
WS-BPEL Overview BPEL4People & WS-HumanTask
8/8/2019 BPEL Session
29/29
BPEL4People Definition of human interactions within WS-BPEL
processes Specification built on top of WS-BPEL 2.0
WS-HumanTask Definition of service-enabled human tasks and
notifications Coordination protocol used to control autonomy
and life cycle of service-enabled human tasks inan interoperable manner
Interoperable programming interface enablingtask client applications to work with humantasks