A number of factors affect the behavior of BPEL processes
in the various invocation scenarios. These include the interaction
style, the type of BPEL process, the operation type, and the service
endpoint resolution.
- Interaction style
- Operations provided by a BPEL process can be invoked synchronously
or asynchronously.
Important: Reasonable response times
for synchronous interactions should not exceed a few seconds. If a
request-response operation that is implemented by a BPEL process does
not return its results within a short time period, consider using
an asynchronous interaction style to improve performance. A synchronous
invocation of such operations results in blocked resources. It is
also prone to timeout situations that are dependent on the system
workload and are therefore non-deterministic.
- BPEL process type
- A BPEL process can be a microflow or a long-running process. The
characteristics of each of the process types affect invocation scenarios.
- WSDL operation type
- Service Component Architecture (SCA) references and SCA interfaces
are associated with a WSDL port type containing one or more operations.
Operations can be one-way or request-response operations.
- In a one-way operation, the completion of the service is not made
known to the invoking client. The service execution ends with the
successful invocation of the associated service.
- In a request-response operation, the completion of the service
is made known to the invoking client. The service execution ends when
the result of the service is made available to the invoking client.
- Service endpoint resolution
- In the context of BPEL processes, an invoking client can be associated
with a service that is invoked in one of the following ways:
- An SCA wire statically associates an SCA reference to the interface
of the invoked service. This is an SCA-level mechanism and it can
be applied if the client, the service, or both are implemented as
processes.
- An endpoint reference (EPR) can be assigned to a BPEL partner
link. The EPR determines the endpoint address of the service to be
invoked using the partner link. Thus, any service can be invoked dynamically
that complies with what SCA allows for dynamic service invocations,
for example, web service binding, MQ JMS binding, MQ binding, or an
SCA binding.
- A BPEL process template name can be set for a partner link that
is part of a BPEL process acting as an SCA client. The template name
uniquely determines the name of another BPEL process that is deployed
in the same server or cluster.