Great to see you guys interested in BPEL, see below for my comments : First, let me address the license issues, looks like jBPM-BPEL is CDL and we should be ok to use that in Apache, as for ActiveBPEL, this is GPL v2 and this is not compatible with Apache license and thus not permitted in Apache releases.
As for the current BPEL support in Tuscany, we have developed two Tuscany extensions that plugs into Tuscany runtime, and provides support for (1) modeling the BPEL implementation (a BPELImplementation model object representing an <implementation.bpel> in an SCA assembly), (2) reading/writing <implementation.bpel> elements using artifact processors, and (3) the runtime behavior to start/stop the BPEL process and drive invocations to/from it, using a BPEL engine, ODE in the case of what is available today in Tuscany. In general we've tried to separate the model + XML read/write and the runtime behavior and we've packaged them in different modules, to allow for the kind of runtime extension that you're thinking about (another BPEL engine), without having to rewrite the model + XML read/write support. in the BPEL example, the model + XML read/write is in module implementation-bpel, the ODE specific runtime behavior in implementation-bpel-ode. So, in order to add support for another BPEL engine, we should leave the current implementation-bpel as is, you shouldn't have to make any changes to it (except for maybe changing implementation.bpel to implementation.bpel.ode), and for your specific runtime behavior implementation, create a new implementation-bpel-jbpm module, similar to implementation-bpel-ode, but using jbpm instead. To implement that module, maybe you can just start with a copy of implementation-bpel-ode or even something simpler like samples/implementation-pojo-extension for example (as implementation-bpel-ode contains quite a bit of ODE specific code which you won't need) Now, regarding your request to "to use an already-running BPEL engine rather than launching its own embedded ODE server", I'd like to better understand your requirements/scenarios. One of the issues I see with this is that your "remote server" will have it's own configuration, that would compete with the configuration that will come from SCA, so a user can't just change a web service endpoint in SCA for example and expect that it's gonna work, he has to (1) write the config in SCA (2) go call the server admin expert to change the remote server config manually to match what he said in SCA, etc.. Having said that, I believe you must have some good requirements/scenarios and it's fine to play with this in Tuscany. BTW, I have created a project structure to help you guys get started [1], and it should be available in trunk at svn revision #688939. [1] https://svn.apache.org/repos/asf/tuscany/java/sca/modules/implementation-bpel-jbpm On Mon, Aug 25, 2008 at 5:22 PM, paul li <[EMAIL PROTECTED]> wrote: > I would be interested in doing the same, and would appreciate some > suggestions > > thanks, > > Paul > > On Tue, Aug 26, 2008 at 5:27 AM, Benowitz, Michael > <[EMAIL PROTECTED]> wrote: >> >> Hello, >> >> >> >> I am interested in adding to Tuscany the ability to use an already-running >> BPEL engine rather than launching its own embedded ODE server. I would also >> like to make it support different BPEL engines such as jBPM-BPEL and/or >> ActiveBPEL. How feasible is this, and what kind of source code changes >> would it require? >> >> Thank you, >> >> Mike >> >> > > > -- > Paul Li > my blog:- terraformartist.com > -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/
