BPEL
BPEL is the XML Based language used for composition, orchestration, and coordination of web services. It provides a rich vocabulary for expressing the behavior of business processes.
BPEL Process Manager – provides a framework for easily designing, managing
and deploying the BPEL processes.
Strengths of BPEL
•Orchestrates services
•Designed for long running processes
•Built-in support for asynchronous interaction
•Fault handling and compensating transactions
•Extensible
•Parallel flows
•Conditional branching
Business Process Orchestration
–Orchestration : Combining the Individual services into a single Composite service.
BPEL Process
Partner Links
•Interaction between a process and partner is achieved via partner links.
•Used to invoke operations on other web services
•receive invocations from clients or other web services
•Partners
•Service Consumer
•Service Provider
•Each BPEL process has at least one Partner Link
Basic Programming Constructs of BPEL
•<receive> - wait for a client to make a request
•<reply> - generate a response
•<assign> - manipulate data variables
•<invoke> - invoke other web service
•<throw> - raise a fault or exception
•<wait> - a short period of time
•<terminate> - end the entire process
Structured Activities
•While: For implementing loops
•Switch: Construct for implementing conditional branches
•Flow: For implementing branches that execute in parallel
•FlowN: For implementing a dynamic number of parallel branches
Messaging Activities
•Receive
•Invoke
•Reply
Messaging Activities
Usage of the commands depends on whether the message is
-Synchronous / Asynchronous
-Consumer / Provider
Synchronous messaging
-BPEL process will wait for a reply before moving on to the next activity.
Asynchronous Messaging
–once the caller has sent the request, the send operation will return immediately, and the BPEL process may then continue with additional activities until it is ready to receive the reply.
One Way Messaging
–A variation of asynchronous messaging is one way messaging (also known as fire and forget).
– This involves a single message being sent from the calling process, with no response being returned.
Basic BPEL process
This BPEL process receives a message and sends it back to the sender.
Will tell you more about BPEL in future posts.