
Vanish: What about BPEL
Stuart: BPEL is a very rich syntax. (Steve: it was made for humans; Stuart: it was also done for automation). BPEL has much more that is not needed.
Vanish: BPEL already provides many things in case 2, especially if you want conditionals, parallel, sequence, etc.
Stuart: I can do an implementation in BPEL and check on Monday. I already have a lot of infrastructure
We have experience with BPEL in our project, too. I would compare BPEL with Java in the sense that BPEL is procedural description in XML for composing Web Services, while Java is procedural description (in Java syntax of cause) composing objects. BPEL procedure context is persistent, while Java context is transient. In Stuart's scenario of 3 or 5 in which the policy implementation is detached from CDL or platform, policy objects can be implemented either in Java or BPEL. Assuming appropriate API between platform, I think, both can be compatible alternatives. There should be no difference with the CDL syntax, other than body or attribute of PolicyCodeBase. Becuase BPEL context it parsistent, policy object with BPEL has advantage when it has long life of policy execution and expected to be persistent after the fault, while Java is suited in many cases with smaller and lighter policy execution.
In a summary, Stuart did a great job with the design options.
Indeed! Kojo