4 Replies Latest reply on Oct 18, 2013 12:49 AM by anindyas79

    Missing some BPMN elements

    paulorf1971

      Hi,

       

      I'm new to jbpm world and I've been reading a lot about jbpm 5.4 / jbpm 6.0. I appreciate the architecture of the product, the strong integration with drools rules and events engine is a requirement for a BPMS. Having only one repository and only one tool for managing processes and rules is a fantastic tool for BPMOs and makes the job of process analysts easier. Some new features like dashboards on version 6 looks great, although i couldn't test it harder so far.

       

      I've been testing versions 5.4 and 6.0 but i missed some BPMN2 elements on modeler tools: pools, message flows, data storages, boundary events, complex gateways. The start, intermmediate and end events are restricted. For example: you can't start a process by using a start send message event, you can use only the start catch message event. Since the modeler doesn't have pools to represent external entities sending a message that could start one process, the behaviour is consistent.

       

      But if you take a look on some BPMN diagrams all over the web you'll find many diagrams using pools representing external entities and exchaging messages using messages flows. Boundary events are used on sub-processes to represent exit conditions. I know it's hard to implement the whole bpmn specification, but some missing elements are important elements. Depending on a process context, it could be necessary to use pools and message flows to show an external participant.

       

      Despite the fact i'm developer and can find ways of workarounding those limitations, in my opinion, business people participation is a key factor for successful BPMS implementations.

       

      I'd like to know if those elements are being considered to be implemented on future versions or if this is a conceptual point of view of jbpm. I've searched this forum some subject related to this, and couldn't find it.

       

      Thanks for your time and attention,

      Paulo Ricardo Fernandes

        • 1. Re: Missing some BPMN elements
          swiderski.maciej

          Paulo,

           

          thanks for your feedback it's very valuable to get such updates about the project.

           

          When it comes to supported BPMN2 constructs, jBPM focuses mainly on what BPMN2 spec defines as common executable and thus you won't find some constructs that does not provide value when it comes to pure execution like pools, etc, but swimlanes are supported so not all parts are completely excluded.

          Boundary events should be mostly covered in version 6 some might be missing in version 5. Complex gateways are currently not supported and might be implemented post 6.0 but there is no plan currently in what version it will get included.

          Not sure what you mean by start send event as start event by definition is catch event and thus can only receive signals to start process.

           

          Message flows are used mainly to illustrate data flow between processes and that means you would need to model more processes in single definition and currently jBPM supports only single process per BPMN2 file. So I agree that covering more "design time" constructs like pools or data store might be useful for business analysts but at the same time it might beconfusing (due to high number of artifacts on the diagram) when working on complex processes.

           

          Could you provide list of what boundary events are missing? Or in general what is missing in your opinion so we can target it for upcoming releases.

           

          HTH

          • 2. Re: Missing some BPMN elements
            paulorf1971

            Hi Maciej,

             

            Thanks for the answer.

             

            Luckily the jbpm team focused on executable process elements, it's good see it in action.

             

            1. You're absolutely right about the start events, there's no way of starting one process using a send message event, sorry, my bad
            2. I agree that using pools might be confusing on some complex executable processes, but this choice should be up to business analysts, don't you think? There are situations when the business analysts use pools and lanes for specifying users and roles and maybe on those cases people from IT should even remove those elements from the diagram to make it executable. But sometimes if you need to design orchestration between two parallel processes they are the only way of doing that. There's a bunch of method and style on bpmn diagrams, but in those situations normally you won't detail the processes, you use sub-processes and detail those processes on another diagrams (when using expanded sub-processes, i didn't tested on jbpm designer so far). At least this is the way i've been doing.
            3. Yes, i can create a missing boundary events list, but i have a deadline for one project i'm involved in and will get back to you with the list in 1 or 2 days, ok?

             

            jBPM is on the way to become the most complete free and open source BPM suite and you guys are doing great!!!

             

            My point is that BPM is not all about technology, business people have a very important role in the wide adoption of a BPMS, if they don't like the modeler because they are limited someway, probably they'll have a strong resistence on using such a tool. Sometimes, business people will design one process that cannot be executed. And even on those situations we should add a non executable version as a first version, a first draft of the process on Guvnor repository (KIE now, right)? I like very much the 3 levels approach of Bruce Silver's "BPMN Method and Style". So, in my opinion, it will be necessary to implement as many BPMN elements as it is possible.

             

            Let me know if i can i help you someway.

             

            Hugs

            • 3. Re: Missing some BPMN elements
              swiderski.maciej

              Agree, and in fact with jBPM you are not constrained to used only web designer you can use process modeler of your choice that produces as outcome a valid BPMN2 xml that then can be imported into web designer of jBPM. Primary focus is currently to provide possibility to build executable processes with jBPM web designer but later on more and more BPMN2 support will be added as well to cover non executable constructs, so that is on it's way.

              With that said, business users have the flexibility to use jBPM web designer or another tool if they found something that limits their daily work so the BPM suite is still useful even in that situation, but I completely understand your point and agree with it.

               

              When it comes to list of missing boundary events, no worries, take your time and whenever you find a minute post it here or file a jira.

               

              Thanks for good feedback and you're always welcome to contribute (examples, documentation, tutorials, code, etc)

               

              HTH

              • 4. Re: Re: Missing some BPMN elements
                anindyas79

                This is a nice post and my apologies if my reply appears to be an unwarranted intrusion. I have been comparing some open source BPM frameworks for one of our esteemed customers and they were really looking for complex and truly BPMN 2.0 supporting open source BPMS.

                 

                One practical use case that cannot be modeled as of now in jBPM 6 is shown below. The customer is using a modeler from a competing product.

                BPMN2-Compensation-Transaction-image.png

                I am also a fan of the 3 levels approach of Bruce Silver's "BPMN Method and Style" and I am looking for ways to implement complex processes in the pure BPM way. I looked @ http://www.omg.org/spec/BPMN/20100601/10-06-02.pdf BPMN2 By Example from OMG, the travel booking example in page 28 is a great use case to test complex BPMN constructs.

                Untitled.jpg

                There are other great use cases as well in that document and I am sure you must have already looked into them. These are practical use cases and customers are looking for a strong BPM product, so, I also feel besides from implementing all the BPMN elements it is also necessary to implement these practical use cases as examples to showcase the power and reach of jBPM to the prospective customers.


                Thanks

                Anindya