On 10/26/06, sam tam <[EMAIL PROTECTED]> wrote:
Hi, I am a student and I have been looking into this topic for my project work. I'd like to contribute as much in this with some help from you folks. For now here is what I have been doing as ground work. - Tried out Tuscany M1 release and also recently from the current development branch. - With Apache ODE I deployed sample process in Tomcat and have been able to call it using a SOAP message. At the present moment I am trying to figure out how to integrate ODE into Tuscany. One obvious thought I have in my mind is to use the Tuscany Axis2 Binding and invoke the BPEL process as a reference. I am going to be digging into the OSOA specs for this and hope to get better clarity as I go along. I'd be happy to take advice from you folks on taking this forward. Thanks. Sam.
Hi Sam, Its great you're interested in this, it would be really good to have BPEL support in Tuscany. In case you didn't see due to all the ASF email problems over the last few days, the Ode guys have also just started talking about this: http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg10042.html. I talked about how to start a new container in this old mail: http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200610.mbox/browser. I'd start with trying to get a simple helloworld going which for this would be a combination of the Tuscany helloworldws sample and the Ode axis2-examples HelloWorld2. Basically start by copying the existing sample and one of the Tuscany containers, rename everything to BPEL. Remember when you do the copy/rename there's scdl in the META-INF/sca directory that you'll need to edit to update with the new class names. As there's an existing SCA spec for this you get some help with what to do. The spec defines what the implementation element looks like: <implementation.bpel process="xs:QName"/> So you'll need something like a BPELImplementation and BPELImplementationLoader for that. Use one of the existing ones and just change the QName constant to be "implementation.bpel" and the code to read in the attribute named "process". A harder part will be how Tuscany locates the BPEL process XML, for now its likely easiest to add a location attribute and have the loader just read it in, and then sort this part out properly later oncee things are working. So that would become: <implementation.bpel process="xs:QName" location="urlToBpelXml"/> The SCA BPEL spec talks about using introspection to work out the services and references used by the BPEL process, i'd leave this for later also and just require a .componentType side file for now. Again, just use some existing ComponentType and ComponentTypeLoader classes unchanged. Copy some XxxComponent and XxxComponentBuilder classes and change them to set up and create the necessary Ode objects, and an XxxInvoker to do the invoking of the bpel process. As the Ode people are also interested in doing this maybe you should try to work together. How about start with small patches which I can get committed to our sandbox so everyone can see how things progress. Or would it help if I created a folder and template for this in the sandbox first for you all to send patches in against? Let me know... ...ant