BPEL: An Integration Framework
BPEL is a programming abstraction that allows for the business-specific orchestration of multiple web services to achieve some business computing need. The orchestration results in a complete or partial business process flow. The flow may be
- Synchronous: Wait for a result until completion.
- Asynchronous: Completion is notified later.
- Long running: Input might be required from a customer contacted by post.
- Deferred: The state is stored for later re-activation.
An important element of BPEL is its support for XML technologies, such as XPath, XSLT, and XQuery. This means that BPEL can manage XML documents and make calls to external web services.
This provides a means of moving business logic out of the built-to-order area (today’s code) and into the generic web services layer and the BPEL layer as illustrated in Figure 4. The migration process from built-to-order to web services is happening today, but there is also an opportunity to add value with the use of BPEL.
Figure 4 Migration of today’s built-to-order Code to BPEL and web services
BPEL can be used to implement the business logic, and the web services code can provide far more generic services. In effect, Figure 4 illustrates a means of separating the dual concerns of expressing business logic and the associated software-based services.
What does such a separation of concerns give us? To answer this, let’s take a look at separation of concerns (SOC) in other areas.