8 Replies Latest reply on Mar 20, 2012 3:25 PM by Kris Verlaenen

    jBPM 5 and BPEL

    Ilja Kondrush Newbie

      Hello, everyone!

      I'm new here (and new to jbpm and bpel also), so i'll try to get this straight to the point.


      I have an idea of writing my bachelor work using jBPM. I've heard of jBPM 3.* version was supporting the use of BPEL language

      in BPM modelling (and programming using java). So, the questions are:


      1. Does jBPM 5.0 still support BPEL lang. use? If does, could anyone, please, give me a tip where i should start "digging" to learn how to use it with jBPM?(or how to use BPMN to create not only models of processes, but how to make them "work" correctly)
      2. If BPEL is not supported (or even if it is supported) by jBPM 5.0 at this point.. is there a possibility to "translate" BPEL to BPMN? (for instance, to translate some simple process made using BPEL to BPMN) And if there is.. where, again, should i start from? (any ideas, tips.. or someone had smth. like this on his/her mind..anything..)


      p.s. excuse me for my poor english..



      Ilja Kondrush

        • 1. jBPM 5 and BPEL
          Jeff Yu Master

          Hi llja,


          If you want to execute the BPEL, you can take a look at the RiftSaw project. http://www.jboss.org/riftsaw.


          AFAIK, jBPM 5.0 doesn't support the BPEL, and we don't have any facilities that translate the BPEL into BPMN yet.




          • 2. jBPM 5 and BPEL
            Mauricio Salatino Master

            Well technicaly you don't need a translator to execute BPEL over the jBPM5 engine, we need to only implement the BPEL node behaviors.


            • 3. jBPM 5 and BPEL
              Ilja Kondrush Newbie

              First of all, thank You for the answers!


              But what if i really have to create BPEL-to-jBPM5 translator? Let's say, that there is some simple process, like:

              (1) you ask a question

              (2) the person, who you asked receives the question

              (3) that person answers

              (4) if the answer is correct, --> "goto" (5) else "goto" (1)

              (5) end


              I can imagine, that BPEL and jBPM5 can have almost the same processes. Except the structure of languages (as far as i know, BPEL's structure differs from jBPM5's).

              So.. should i try to create some sort of parser to execute BPEL on jBPM5 or i should use something else?

              And also, Mauricio.. what about theese nodes You were speaking of? (i'm sorry for the stupid questions.. =(  ) What are the differences between the node implementation methods in BPEL and jBPM5?



              Ilja Kondrus

              • 4. jBPM 5 and BPEL
                Mauricio Salatino Master

                If you have a simple process like the one you mention it's easier to re draw it in BPMN2. Don't waste time in parsers.. that probably will be a mistake.. because BPEL and BPMN2 are two different languages there will be always semantic impedances between the words (activities/nodes) in the language.



                • 5. jBPM 5 and BPEL
                  Ilja Kondrush Newbie

                  You see.. main idea is to try to do this.. not just to choose the easy way..  (or, maybe, i've understood you incorrectly about "re-draw" thing..?)

                  Now i know, that these two languages do differ from each other..

                  Let's say, that there is a simple activity made in BPEL. I take this activity and translate it into BPMN/XPDL (this activity from BPEL now will be a jBPM node (if i'm not mistaken with terminology) ). Then i try to write a few basic activities like Invoke, Receive , Reply (just these.. i'm not even thinking about taking on the whole jBPM functionality..). And now..the main thing.. I do not want just to create some java code (for instance) that "takes BPEL diagramm and just "translates" it into jBPM diagramm.. The point is to make some of the functionality work for real.. that is what i tried to tell..


                  Any ideas..?



                  Ilja Kondrush

                  • 6. jBPM 5 and BPEL
                    Kris Verlaenen Master

                    In theory it should be possible to translate a BPEL process into a BPMN2 process so you can execute it on jBPM5.  There should probably be a 1-to-1 mapping of BPEL elements to their corresponding BPMN2 construct.  There has been work to translate BPMN2 to BPEL, not sure their has been a lot of work in the other direction.  But I think it shouldn't be too difficult with an XSLT transformation for example.


                    I would suggest definitely searching the internet to check whether no-one has already done this work for you, as I imagine someone might, as it could be useful in a broader context as well.



                    • 7. Re: jBPM 5 and BPEL
                      Saurabh MIttal Newbie

                      Is the inference  we cannot execute a BPEL process directly in JBPM5 Process engine , we need to convert BPEL process to BPMN process to execute?

                      • 8. Re: jBPM 5 and BPEL
                        Kris Verlaenen Master

                        Yes, jBPM5 doesn't support native BPEL execution, only BPMN2.