13 Replies Latest reply on Jul 12, 2009 9:53 AM by kukeltje

    Implementation of XPDL in jBPM

    sebastian.s

      Hello folks,

      as far as I understood the concept of the newly introduced Process Virtual Machine it provides basic common functionalities and on top of these jPDL and BPEL are implemented. So in general it would be possible to implement XPDL as well? Are there any plans yet to do this?

      From my point of view this is really an interesting thing since the designer already supports BPMN and XPDL is the equivalent of it for the execution of processes.

        • 1. Re: Implementation of XPDL in jBPM
          kukeltje

          As replied in your other post, GPD4 uses the BPMN graphical notations, not an explicit BPMN/XPDL/.... processdefinition, but JPDL4.

          XPDL was one of the formats that could be used with BPMN, as is according others, BPEL. This is all not trivial btw as you can read in many posts in different forums/blogs

          There is however a company that did implement XPDL on top of the PVM http://wiki.bonita.ow2.org/xwiki/bin/view/Main/WebHome with their own designer.

          Regarding jBPM, we try to follow the developments of executable BPMN (BPMN2) and might develop something in that direction if there are enough requests for it.

          • 2. Re: Implementation of XPDL in jBPM
            sebastian.s

            Thanks for the reply and also for the link to this other workflow engine built on top of PVM. Seems to look interesting to me.

            To me it sounds logical and consequent to support XPDL in future releases premising that XPDL will be accepted as well as BPMN since BPEL is much more for webservices orchestration than for process modelling and jPDL is not commonly accepted as standard. I assume feature requests just like bugs are handled via JIRA?

            • 3. Re: Implementation of XPDL in jBPM
              kukeltje

              XPDL and BPMN are not 100% related and yes, to me XPDL sound(ed) more interesting than BPEL as wel.

              Filing a feature request in Jira for XPDL on top of the PVM doen by the jBPM project is useles, it will not be supported.

              But filing a jira issue for support of executable BPMN2 (once that stabilises) is an option. Gathering votes on it will help getting it priotitized. To be honest, we've had the discussion whether jBPM4 should not have used jPDL4 but based on what is available now in draft form of BPMN2 but since to much was not clear when development started, we did not. Which, by the way, I think was a good choice.

              But on the other hand, if with XPDL you talk about XPDL 2.2 and that in relation to BPMN2.0 I have not much information yet. If you have that, please share it with us and/or refere to it from the Jira, either by pointing to this topic or putting the info in there directly

              Regarding jBPM vs Bonita,

              • 4. Re: Implementation of XPDL in jBPM
                camunda

                Hi Sebastian.

                In my experience, XPDL is not really very important today. It is a standard, yes, but not very well known in industrie (among decision makers at least). The WfMC simply did a bad job in merketing... One of its key features is extensability, but this leads to processes, having 80 % of its stuff in extensions. What value does such a standard have?

                And BPMN 2.0 clearly target process execution as well, so I expect it to become the much more interesting option. But it is not here yet, so no option to use today.

                And if you don't go for BPEL (which may be a good choice in some projects, in a lot of projects not), jPDL is a very good choice as well in my opinion. In the area of OSS it is more mature as XPDL engines. Okay, Bonita is vetry interessting as well, true, and at least they base on the PVM as well (but unfortunately an old version, hopefully they migrate to the latest one) but I think community and support is better at jBPM (If you read it: Sorry Miguel ;-))...

                My two cents...
                Cheers
                Bernd

                • 5. Re: Implementation of XPDL in jBPM
                  sebastian.s

                  Hello Bernd,

                  first of all thanks for your personal assessment of this question. I've already read some of the articles you wrote about jBPM and about BPM systems in general and so it's nice to hear the opinion of somebody with your background.

                  I got confused a bit with the two standarized languages of the WfMC. I'm still new to the topic and to me it looked like there was a strong relation with BPMN on one side for the notation of processes and with XPDL on the other side for the execution of processes. kukultje already pointed out to me that this is not 100% true.

                  As far what I've seen and heard about jPDL it's not bad at all. To me it's just crucial to have a standarized format which is vendor-independent and commonly accepted. So in your opinion XPDL is not that important although it's standardised and it would make more sense to wait for BPMN 2.0 which will add semantics and process execution to the BPMN standard?

                  I took a look at the bonita project and one question came popping up immediately to me: Since they took the PVM to implement XPDL why didn't they contribute this to the jBPM project but started an own project instead? Of course they are free to do.

                  Regarding BPEL I agree. I somehow got the feeling that most people forgot the purpose of BPEL: orchestrating webservices. And the decision to use or not to use it should be based on the project requirements.

                  Best regards

                  Sebastian

                  • 6. Re: Implementation of XPDL in jBPM
                    kukeltje

                    Sebastian,

                    As Bernd pointed out,XPDL was so extensible that on a high level you had a standard, but seamlessly migrating from one vendors execution environment to another was almost impossible. That took quite an amount of manual labour (hearsay, no personal experience, so someone may correct me) due to all proprietary the extensions.

                    Waiting for BPMN 2.0 and/or XPDL 2.2 (and the relation between the two: https://admin.acrobat.com/_a925169516/p30857824/) would be better if a standard and interoperability is important.

                    Regarding Bonita and the PVM, the relation is simple. Bonita (from Objectweb (=Bull, France Telecom and Inria)) was an existing XPDL based system with a proprietary 'core'. JBoss and Bull decided to work together on certain projects and the PVM was one of them. So, the new Bonita is based on the PVM, but still their product not one from JBoss. Maybe in the future the cooperation will become even closer if BPMN2.0/XPDL2.2 comes in the picuture.

                    • 7. Re: Implementation of XPDL in jBPM
                      camunda

                      Hi Sebastion.


                      Since they took the PVM to implement XPDL why didn't they contribute this to the jBPM project but started an own project instead?


                      The Bonita engine is out already quite a while, they just decided to do some joint effort with jbpm and use the PVM in their new version. Bonita 3 was completly independant.

                      On the other hand it would be really cool to see other engines and products building their own stuff on the PVM. JBoss itself will not develop these themself. And: Embrace choice :-)


                      I got confused a bit with the two standarized languages of the WfMC. I'm still new to the topic and to me it looked like there was a strong relation with BPMN on one side for the notation of processes and with XPDL on the other side for the execution of processes.

                      BPMN is from the OMG (like UML), only XPDL is from the WfMC. And my personal view is, they tried to at least participate in the BPMN hype somehow, that's why they tried to make a connection.


                      To me it's just crucial to have a standarized format which is vendor-independent and commonly accepted. So in your opinion XPDL is not that important although it's standardised and it would make more sense to wait for BPMN 2.0 which will add semantics and process execution to the BPMN standard?


                      Depends. Is the standard a pure political issue and you have to start today? Then maybe XPDL is a good option. Maybe then it is already sufficient that jbpm 4 uses BPDs (the diagrams standardized in BPMN). Problem is, current BPMN 1.2 doesn't define a XML-File-Format.

                      Or do you really need vendor independance (why?)? Then BPMN 2.0 would definitley get interesting, but this will still need some time.

                      But what a coicidence, currently I am writing on a BPMN book (http://www.hanser.de/buch.asp?isbn=978-3-446-41768-7) and I am working on a Proof of concept: a very simple BPMN 2.0 Engine based on the PVM :-)

                      Cheers
                      Bernd

                      • 8. Re: Implementation of XPDL in jBPM
                        camunda

                        Hey Ronald, seems we wrote in parallel ;-)

                        • 9. Re: Implementation of XPDL in jBPM
                          sebastian.s

                          Thanks for all your replies.

                          Depends. Is the standard a pure political issue and you have to start today?


                          It was just my personal opinion. In general I personally prefer standards when it comes to file formats.

                          • 10. Re: Implementation of XPDL in jBPM
                            kukeltje

                            Sorry, not used to others kicking in so quickly :-P

                            But your book is definitely worth waiting for. Need some foreigner to proof-read? ;-)

                            • 11. Re: Implementation of XPDL in jBPM
                              kukeltje

                              Oh Bernd, I thought of doing a POC with the PVM to, but use http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ebxml-bp (which to me has still some things in favour when doing message based b2b)

                              • 12. Re: Implementation of XPDL in jBPM
                                camunda

                                 

                                It was just my personal opinion. In general I personally prefer standards when it comes to file formats.


                                Only if it is worth doing it. And with XPDL I am not convinced. Don't get me wrong, I like XPDL, nothing wrong with it. But not a big value as well.

                                Need some foreigner to proof-read? ;-)

                                I let you know :-)

                                Oh Bernd, I thought of doing a POC on ebXML with the PVM too


                                Cool :-) Till now it seems not to be too complicated (if you concentrate on a very limited scope for the POC and ignore a lot of nuts and bolts in the spec ;-))...

                                • 13. Re: Implementation of XPDL in jBPM
                                  kukeltje

                                  What is even more 'funny' is that ebMS, as a messaging spec also has a kind of state in it. Sending a message, waiting for ack's, if not received in duetime resend the message, have a maximum number of retries etc... could also very wel be moddeled in jpdl or as a dsl on top of the pvm. Not sure if and how a dsl makes sense here since there is no xml format besides probably a CPA.

                                  But I 'thought' of it and came to the conclusion I did not have the time...