Monday 9 April 2012

How to achieve dynamic binding by manipulating endpoint references at runtime - BPEL

Web services and service-oriented architecture (SOA) allow business processes to be easily extended through interaction with other business processes and applications. BPEL processes define this interaction through partner links, which define the interface (messages and operations), transport protocol, and most important, the location of each service to be used.
In most basic process designs, partner links are static; they refer to a single external process selected by the developer at design time. This approach is appropriate for highly targeted or constrained systems. However, in larger systems business processes are more complex. They interact with multiple external services and define multiple partner links, and some of these partner links might not be known at design time. As a result, all potential callouts and logic for deciding which partner links to use must be built inside the business process itself—unnecessarily complicating that process. Furthermore, as additional partner links are added, the resulting process grows more and more unwieldy, as any changes to the partner links require modification of the entire business process.
Fortunately, the BPEL language supports the concept of dynamic binding of partner links

To read more on this topic and to know how: please read further in  SOA Best Practices: The BPEL Cookbook Making BPEL Processes Dynamic