BPEL Process Manager Component Characteristics Oracle BPEL Process Manager Startup and Shutdown Lifecycle

Configuring High Availability for Oracle Fusion Middleware SOA Suite 5-15 end-to-end BPEL process flows. It provides process orchestration and storage of long running, asynchronous processes. As illustrated in Figure 5–8 , the BPEL engine is a stateless part of the Oracle SOA Service Infrastructure. It is started with the Oracle SOA Service Infrastructure application and contains different modules that take care of different aspects required to execute BPEL processes. If a deployed composite contains a BPEL process, SOA Service Infrastructure invokes BPEL Process Manager to get the component from the MetaDataStore MDS. BPEL Process Manager uses a Dispatcher Module that maintains an in-memory logical queue containing units of work to process the incoming messages from binding components JMS, database, Web server. The BPEL Process Manager engine saves processes execution state in the SOA database through a persistence module based on Oracle TopLink. The Audit framework continuously audits the work being processed by storing process execution information in the SOA database. Figure 5–8 Oracle BPEL PM Single-Instance Architecture

5.3.1.1 BPEL Process Manager Component Characteristics

The BPEL Service Engine runs inside the SOA Service Infrastructure Java EE application soa-infra.ear. The BPEL Service Engine does not have any singleton services. All state associated with a BPEL process is stored in a database dehydration store and there is no in-memory state replication required. The processing of work by SOA Service Infrastructure Java EE EJBs is transactional and relies on Oracle WebLogic Service transaction control service. You configure the appropriate transaction stores as recommended in the basic WebLogic Server guidelines to guarantee recovery across failures in the WebLogic Server container. Additionally the BPEL engine system does not contain any Web modules, therefore, session replication is not required in the servlet layer when running BPEL in active-active. In this release of Oracle Fusion Middleware, BPEL Service Container does not rely on JMS for asynchronous message dispatching. Therefore, there is no dependency on a distributed JMS infra-structure. SOA Infrastructure JEE app BPEL Engine Oracle WebLogic Server JMS Messages Dispatcher Processing In-memory queue Process Persistence AuditMetrics HTTP Messages DB Messages SOA Db jdbcSOADataSource SOA MDS jdbcmdsMDS_LocalTxDataSource 5-16 Oracle Fusion Middleware High Availability Guide External Dependencies The BPEL engine system depends on the following components: ■ SOA Service Infrastructure database for BPEL process state persistence ■ MDS repository for BPEL process metadata store Both components must be available for the BPEL engine system to start and run properly.

5.3.1.2 Oracle BPEL Process Manager Startup and Shutdown Lifecycle

As illustrated in Figure 5–9 , when the Oracle SOA Service Infrastructure application starts, it initializes the BPEL engine and loads the composites from the MDS repository. If the composite contains any BPEL processes, it targets those individual components to the BPEL engine. Once the process is loaded, the system is available to receive requests. At runtime, the BPEL engine waits for requests from different channels, such as JMS, the database, and HTTP. Figure 5–9 Startup and Shutdown Lifecycle of Oracle BPEL PM A detailed startup and shutdown lifecycle is as follows: 1. Start SOA Server. 2. Start BPEL Engine. 3. Composites are loaded from MDS repository by SOA Service Infrastructure. 4. BPEL components are dispatched to the BPEL engine to be loaded. 5. Composite-binding components are activated. 6. The BPEL engine services requests. 7. The shutdown signal is received by SOA Service Infrastructure. 8. SOA Service Infrastructure starts undeploying loaded composites. 9. Composite-binding components are disabled. 10. BPEL components are dispatched to the BPEL engine to be unloaded. 11. The BPEL engine shuts down.

5.3.1.3 Oracle BPEL Process Manager Request Flow and Recovery