First, BPEL provides extensibility for query and expression languages as part of the core specification, so it is possible to integrate a rules language directly with a BPEL engine. However, that doesn't necessarily make sense unless the rules language is intended to work with message parts...
Second, and the most sensible approach IMHO, a rules engine can be modeled as a service and then interact with a BPEL process the way any other service would, i.e., through some combination of <receive>, <reply>, or <invoke>. The big reason to favor the second approach over the first is that it preserves the proper level of encapsulation for the rules, e.g., "check credit" or "assess risk".
There are two ways to look at BPEL and rules.
First, BPEL provides extensibility for query and expression languages as part of the core specification, so it is possible to integrate a rules language directly with a BPEL engine. However, that doesn't necessarily make sense unless the rules language is intended to work with message parts...
Second, and the most sensible approach IMHO, a rules engine can be modeled as a service and then interact with a BPEL process the way any other service would, i.e., through some combination of <receive>, <reply>, or <invoke>. The big reason to favor the second approach over the first is that it preserves the proper level of encapsulation for the rules, e.g., "check credit" or "assess risk".
Paul Brown
FiveSight Technologies
http://www.fivesight.com
http://blogs.fivesight.com/pbblog