https://ibmwebsphereintegrationdesigner.blogspot.com/2015/08/ibm-integration-designer-interview.html
What is
difference between the parallel flow and generalized flow activities in BPEL
process?
Parallel Flow
- A
parallel process (or flow) is a collection of other process activities that are
all nested within a parallel activity.
- The
nested activities run sequentially in an order that is dictated by links and
transition conditions (when no links are present, all activities will be
executed concurrently).
- Parallel
activities are very versatile, and can add a depth to a long-running process.
Generalized
Flow
- A
generalized flow activity is very similar to a parallel activity in that you
can nest other process activities within it, and then control the execution
order of those activities through links.
- The
generalized flow activity differs in its ability to use conditional links to
loop back to previous activities in the sequence.
How
do you assign people to a process (people assignment)? What are the pre-defined
roles for human tasks?
When
you define a human task you must stipulate which people are eligible to view,
initiate, perform and administer the task. This step is known as people
assignment. You can assign work to a named individual, to a member of a certain
group. There
are pre-defined roles for human tasks which you can assign people or groups to. Members of a role share the same level of authority. The roles are:
Administrators
- have the authority to perform high level duties like suspend, terminate,
restart, force-retry, and force-complete.
Potential
creators - can create an instance of the human task, but cannot start it.
Potential
starters - have the authority to initiate an existing instance. The starter
role is subtly different from that of creator, and although a creator can
create a new instance, only a starter can start it.
Potential
owners - can claim, work on and complete tasks.
Editors
- can work with the content of a task, but cannot claim or complete it. For
example, an editor can receive the work item to review a document and add comments,
but an editor is not able to finish the task.
Readers
- are allowed to view tasks, but cannot work on them. This role can be used in
situations where someone needs to monitor a task without taking any action in
it.
When
do you decide to create a new version of BPEL process?
Here
are some possible examples of when you would create a version of a BPEL
process:
- In
the likelihood that your BPEL process will need to be modified over time, but
its callers will not. In such a case, you will want the existing callers to be
able to seamlessly pickup the newest version of the process the moment it
becomes effective.
- You
have a solution where multiple versions of the same BPEL process must coexist.
Although the solution as a whole cannot be uninstalled and reinstalled, you
will need to be able to deploy new versions of the process in such a way as to
ensure that new instances use the latest version and, wherever possible,
existing instances also migrate to the latest version.
How
do you handle faults or exceptions in BPEL process?
A
fault is any exceptional condition that can change the normal processing of a
BPEL process and, if not handled, can lead to undesirable conditions or
results. A well-designed process is one that anticipates possible faults with
fault handlers that are designed to lead to predictable outcomes.
What
is Correlation or Correlation Sets? What is purpose of them?
- Correlations
are used in runtime environments where there are multiple instances of the same
process running.
- A
correlation set for a BPEL process consists of a name and one or more
properties. They are used to distinguish the instances of same process in
runtime.
- Correlation
sets allow two partners to initialize a BPEL process transaction, temporarily
suspend activity, and then recognize each other again when that transaction
resumes.
What
are the transactional behavior options for the activities inside a BPEL
process?
Commit
before: preceding transaction commits before this activity starts
Commit
after: transaction commits immediately after this activity is completed
Participates:
activity runs in existing transaction
Requires
Own: activity is isolated in its own transaction.
Usage
of BSM vs BPEL process?
- In
cases where the state machines are--and will--remain simple, it may be better
to use a BPEL process. For example, a state machine without any loops
(returning to an earlier state), would probably make more sense being developed
as a process.
- However,
if there is a lot of looping, the state machine provides a much more natural
way to develop, debug, and monitor.
- If
you do have performance constraints, then do not prefer BSM as it is internally
will get converted into BPEL process by the Process Server runtime.
Compare
the Rule sets and Decision Tables?
Rule
sets model the typical if-then kind of business rules, if you need to model
rules on values from multiple input combinations, then decision tables are
preferred.