Q) What Is BPEL?
Ø
BPEL stands for Business Process Execution
Language.
Ø
it is one of the component of SOA Suite tool.
Ø
BPEL is a XML based language used to design
business process/flows.
Ø
We perform service orchestration in BPEL.
Ø
BPEL stands for Business Process Execution
Language, it is one of the component of SOA Suite tool. BPEL is a XML based
language used to design business process/flows. We perform service
orchestration in BPEL.
Ø
We design a business process that integrates a
series of discrete services into an end-to-end process flow.
Ø
BPEL is a sub-set of the Business Process
Management discipline.
Ø
BPEL bridges the gap between BPM and SOA.
Ø
BPEL does what BPM cannot do on its own
i.e. execute/orchestrate processes across
department/functional systems in a standard way while at the same time
providing
Visibility & Control to the Business Process Owner
Business
Process Execution Language (BPEL) is:
Ø
A mark-up
language for orchestrating services into an end-to end process flow
Ø
Built on
top of XML-related specifications
Ø
Executed
by a BPEL engine that can process the BPEL XML source
Main
Usage Patterns for BPEL Components
• BPEL is good for creating components that:
– Call upon multiple services, especially asynchronous
and longrunning ones
– Provide complex, externalized decision logic
• The BPEL component works closely with:
– Mediator
– Business Rule service components
– Human Task
components
– Notification service
What Are Different Parts Of BPEL?
Below are different parts of BPEL
1. Service Interface: A WSDL
describing the functionality of the BPEL process.
The service interface
provides the end user a way to interact with the BPEL process component using
Service Interface / Service Binding.
2. Activities: units of work. The actual elements
that make up the BPEL process flow or sequence of instructions to be executed.
3. Partner links: also called Reference bindings.
A partner link
describes the roles played for the interaction between the BPEL process and the
service it invokes.
Wire
Connection between service & binding component and
within service & binding components know as wire.
I.e. this enable us to graphically connect the components in
a SOA composite application.
There
are two types of request
Inbound:
something which is coming from outer world toward us.
It will be always implicit (we need not to be initiated)
Outbound:
where we r sending
It will be always explicit (need to be initiated)
Q) What all
BPEL templates are available in SOA Suite tool?
Primarily we have three types of BPEL template in
SOA Suite tool.
1. Synchronous BPEL Template
2. Asynchronous BPEL Template
3. OneWay BPEL Template
Q) What
all versions available of BPEL?
We have two versions of BPEL : 1.1 and 2.0.
Q) What
is Synchronous BPEL process?
BPEL process is known as synchronous when it accept request and provide immediate response.
Q) What
is default timeout time set for synchronous BPEL process?
Default setting is 30 seconds that means synchronous BPEL process needs to complete the process within 30 seconds and if it exceeds this limit then it throw time out error.
Q) Can
we have handle Synchronous BPEL timeout error with error handlers?
No, we cannot handle timeout error with error handlers.
Q) What
all activities we get when we generate BPEL using synchronous template?
When we generate synchronous BPEL process then by
default we get “Receive” and “Reply” activity.
“Receive” activity is used to receive the request message and “Reply” activity is used to send the response back.
Q) Can we
have multiple reply activities in one synchronous BPEL process?
Yes, we can have more than 1 reply activity in synchronous BPEL process.
Q) What
is Asynchronous BPEL process?
BPEL process is known as asynchronous when it accept the request and provide response after some time.
Q) Do we
have time limit in asynchronous BPEL process for processing?
No, there is no time limit in asynchronous BPEL process to complete the processing.
Q) What
all activities we get when we generate BPEL using asynchronous template?
When we generate asynchronous BPEL process then by default we get “Receive” and “CallBack” activity. “Receive” activity is used to receive the request message and “CallBack” activity is used to send the response back.
Q) What is OneWay BPEL process?
OneWay BPEL process accept the request message but does not give response.
Q) What all activities we get when we generate BPEL using
oneway template?
When we generate oneway BPEL process then by default we get “Receive” activity. “Receive” activity is used to receive the request message.
Q) How many types of variables we can have in BPEL?
In BPEL, we can have three types of variables.
1. Simple Types: E.g. String, Int, double, float etc.
2. Element Type: Based upon schema element
3. Message Type: Based upon WSDL message
Q) All
the variables in BPEL are global in nature?
This depends how we define the variable, if we define the variable at BPEL level then it becomes global, but if we define variable at scope level then it becomes local. Global variables can be accessed anywhere in the BPEL process but local variables can only be accessed in that scope only.
Q) Which
activity we use in BPEL for parallel processing?
We use Flow & FlowN activities for parallel
processing in BPEL.
1. Flow activity: It is used when we want to perform two
different operations/logic in parallel and we know about those steps that at
design time.
2. FlowN activity: It is used to process same type of messages in parallel and used when we don’t know how many messages we can receive at design time.
Q) What
is Pick activity?
Pick activity is used when we following scenario.
1. When we invoke asynchronous reference from BPEL and we
need response back in certain time frame and if we got response after that time
then we need to throw exception.
2. When we want to have multiple entry point for any composite. E.g. our process can be initiated by JMS queue and it is also initiated by File polling.
Q) How
many branches we have in Pick activity?
We have two branches in pick activity.
1. OnMessage: This is similar to “Receive” activity. This
is used when we want to receive the message from source or reference service. (Based on Operation)
2. OnAlarm: In this branch we set the time i.e. used to set expiry time. On certain amount of time we want one branch or flow will be executed.
No comments:
Post a Comment