Chapter 9. Integration into business processes 247
Services may be called by static invocation. The details of the service to be
called can be specified at development time. Dynamic invocation is also
supported if services are registered in an appropriate registry (for example, a
UDDI registry). In this case, the specific service to be called can be determined
at runtime by requesting the service details from the registry.
Service invocations are typically atomic transactions. For example, sending a
message to a message broker is controlled in a technical XA-capable
transaction. Non-interruptible business processes are also executed in a
transactional context. If services support the XA protocol, they become part of
the global process transaction. In this case, technical rollback is possible. For
interruptible business process, a compensation mechanism is provided to
support application-specific rollback.
WebSphere Business Integration Server Foundation and the included process
engine (Business Process Container) are extensions of the J2EE-compliant
WebSphere Application Server. Because the process engine is implemented as
a standard J2EE application that is running within a J2EE application server, all
scalability and high availability mechanisms for this type of application are
applicable.
Business process applications can be distributed across multiple application
server instances and physical nodes to support concurrent processing of multiple
business processes. The benchmark results published in various performance
white papers show almost linear scaling with numbers of CPUs.
Because all service invocations are executed as atomic transactions and
process state is recorded in a database, business processes are recoverable in
case of failure of the process engine, application server, or physical node. It is
also ensured that service invocations are not repeated in case of failures.
Standard high-availability concepts are applicable for the WebSphere Business
Integration Server Foundation infrastructure. Typically, multiple-process engine
instances are active for continuous availability. If a process engine fails, an
automatic restart and takeover process ensures that in-flight business process
that are running on the process engine resume. The database that all process
engines are connected to should be configured in a high availability mode, for
example, by using operating system-specific high availability solutions.
For more information refer to:
???? WebSphere Business Integration Server Foundation V5.1 Handbook,
SG24-6318
???? WebSphere Business Integration Server Foundation Architecture and
Overview, REDP-9129