This chapter delves into the BPEL component that can be used in SOA composites. It shows how BPEL process components are very well equipped for the implementation of such composite services. Orchestrating service calls, manipulating XML messages, performing flow logic with if-then-else and for-loops, handling exceptions as well as performing parallel processing are the sweet spot for this component.
A BPEL component has many characteristics in common with Service Bus Pipelines and Split/Join-components. In addition to orchestrating synchronous services, BPEL is also good at asynchronous interactions as well as longer running (stateful) conversations. These latter two subjects – that are both not the strong suit of Service Bus – are addressed in later chapters.
This chapter also introduces: Embedded Java, Inline Subprocess, Schema Validation and Fault Handling, Domain Value Maps, External Callouts, Use of XQuery in BPEL and the Parallel Flow activity.
Parts in this chapter:
- Using BPEL to create the bare bones FlightScheduleService
- Implementing validation on requested Flight Schedules
- Reusable logic through In-Line Sub Process
- Using Embedded Java for validation and enrichment
- External Callouts or Invoking Services from a BPEL Process
- Creating and Using a Component Template for a BPEL process
- Reorganizing scope ProcessingAndRouting with Parallel activities
This figure illustrates the components to be developed in this chapter.
Sources for this chapter can be found on Github: Chapter 8 sources.