bpel for beginners
TRANSCRIPT
-
7/28/2019 Bpel for Beginners
1/20
Business Process Execution
Language (BPEL)
-
7/28/2019 Bpel for Beginners
2/20
What is BPEL?
BPEL stands for Business Process ExecutionLanguage, and comes from a standardsconsortium consisting of BEA Systems, IBM, and
Microsoft. BPEL is an XML-based language for enabling task
sharing across multiple enterprises using acombination of Web services.
BPEL is based on the XML schema, simple objectaccess protocol (SOAP), and Web servicesdescription language (WSDL).
-
7/28/2019 Bpel for Beginners
3/20
What is BPEL?
BPEL directly addresses these business processchallenges:
Coordinating asynchronous communicationbetween services
Correlating message exchanges between parties
Implementing parallel processing of activities
Manipulating data between partner interactions
Supporting long running business transactionsand activities, and providing consistent exceptionhandling.
-
7/28/2019 Bpel for Beginners
4/20
What is BPEL?
The BPEL language enables you to define how to:
Send XML messages to, and asynchronously
receive XML messages from, remote services
Manipulate XML data structures
Manage events and exceptions
Design parallel flows of process execution
Undo portions of processes when exceptions
occur
-
7/28/2019 Bpel for Beginners
5/20
The Role of BPEL
The BPEL specification defines the syntax andsemantics of the BPEL language, whichcontains a variety of process flow constructs.
It allows for Conditional branching,
Parallel process flows
Nested sub-processes Process joins
-
7/28/2019 Bpel for Beginners
6/20
Oracle BPEL Process Manager
Web service standards such as XML, SOAP, and WSDL
Dehydration (enables the states of long-runningprocesses to be automatically maintained in adatabase) and correlation of asynchronous messages
Service-oriented architecture (SOA) Parallel processing of tasks
Fault handling and exception management during bothdesign time and run time
Event timeouts and notifications Compensation mechanisms for the implementation of
long-running transactions
-
7/28/2019 Bpel for Beginners
7/20
Oracle BPEL Process Manager
Scalability and reliability of processes
Management and administration of processes
Version control
Audit trails for tracing business flow history
Installation on multiple operating systems and integration withmultiple application servers (for example, Oracle Application Server,BEA WebLogic, and JBoss) and databases.
Oracle BPEL Process Manager adds value and ease of use to BPELfunctionality by providing support for the following in JDeveloperBPEL Designer:
Transformations, workflows, worklists, notifications, and sensors Technology adapters (file, FTP, database, advanced queuing (AQ),
Java Messaging Service (JMS), and Oracle Applications for Oracle E-Business Suite)
-
7/28/2019 Bpel for Beginners
8/20
JDeveloper BPEL Designer
JDeveloper BPEL Designer is integrated with
Oracle JDeveloper. Oracle JDeveloper is an
integrated development environment (IDE) for
building applications and Web services using
Java, XML, and SQL standards.
-
7/28/2019 Bpel for Beginners
9/20
Composite
-
7/28/2019 Bpel for Beginners
10/20
Partner Links
Partner Link describes the shape of the relationship with apartner by describing the Port Types used in a peer topeer relationship
Example:
-
7/28/2019 Bpel for Beginners
11/20
Partner Links
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 serviceprovided by the process
invoke
Outbound request servicerequired by the process
-
7/28/2019 Bpel for Beginners
12/20
Partner Links
-
7/28/2019 Bpel for Beginners
13/20
Variable Element
Variable construct is used to state informationrelated to workflow logic
Variables can contain entire messages and data
sets formatted as XSD schema types Example:
-
7/28/2019 Bpel for Beginners
14/20
Variables
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
-
7/28/2019 Bpel for Beginners
15/20
Basic Activities
receive reply
invokeInvoke a one-way orrequest-response operation
Do a blocking wait for amatching message to arrive/ send a message in reply
validate
assignUpdate the values ofvariables or partner linkswith new data
Validate XML data storedin variables
throw
rethrow
Generate a fault from insidethe business process
Forward a fault frominside a fault handler
exitImmediately terminateexecution of a business
process instance
compensate
compensateScope
Invoke compensation onall completed child scopes
in default order
Invoke compensation onone completed child scope
waitWait for a given time
period or until a certaintime has passed
empty No-op instruction fora business process
-
7/28/2019 Bpel for Beginners
16/20
process
flowContained activities areexecuted in parallel,partially ordered throughcontrol links
sequenceContained activities areperformed sequentially inlexical order
whileContained activity isrepeated while a predicateholds
Contained activity isrepeated until a predicateholds
pick Block and wait for asuitable message to arrive
(or time out)
forN Contained activity isperformed sequentially orin parallel, controlled by aspecified counter variable
if-elseif-else Select exactly one branchof activity from a set of
choices
scope Associate contained activitywith its own local variables,
partner links, etc.,and handlers
Structured Activities
2. N.1.
B C
A
cc1 c2
2. N.1.
AM2M1
-
7/28/2019 Bpel for Beginners
17/20
Scopes
Scopes provide a context which influencesthe execution behavior of its enclosedactivities
Local declarations partner links,message exchanges, variables, correlationsets
Local handlers
event handlers, faulthandlers, a termination handler, and acompensation handler
-
7/28/2019 Bpel for Beginners
18/20
PROCESS FLOW
-
7/28/2019 Bpel for Beginners
19/20
BPEL Syntax ExampleProcess Steps
-
7/28/2019 Bpel for Beginners
20/20
BPEL Syntax ExampleProcess Steps