The BPEL example shows how to integrate the PXE BPEL Engine with ServiceMix. Business Process Execution Language (BPEL) defines a notation for specifying business process behavior based on Web Services. PXE is a runtime component for executing processes defined by the BPEL4WS 1.1 specification and forthcoming WS-BPEL 2.0 OASIS standard. The PXE BPEL engine uses JMX to provide management and introspection functionality.
A hypothetical business scenario, which illustrates the BPEL example, is the example of travel agent airline ticketing system that offers online reservations to its customers. When a customer books a flight, the reserveTicket class of the online ticket reservation system publishes its request to the ticketing topic. The Binding Component, which is capable of communicating both to the external reserveTicket class and the Airline Reservation System, is a subscriber to the ticketing topic and thus receives the request. The Binding Component then forwards the request via the NMR to the Airline Reservation System inside the PxeBpelEngine service container. The Airline Reservation System checks its database to see if it can still accommodate the request and generates a response. After that, the Airline Reservation system sends the response back to the Binding Component again via the NMR. The Binding Component then publishes it on the ticketing topic. The reserveTicket class is also a subscriber of the topic and thus receives the message. Whether the request is granted or not, the reply is published to the customer.
The following diagram illustrates this: