14 Replies Latest reply on Aug 2, 2012 5:50 AM by cdsosi

    Which Designer?

    cdsosi

      Hi,

       

      As said before, I am starting with jBPM. I have several newbee questions about designing business processes with jBPM. I am a bit confused that's why I need help from community !

       

      Which designer are we intended to use ?

      1- The one inside eclipse supplied with the 5.3.0 Full Package

      2- The web designer also coming wiht 5.3.0 Full Package

      3- Use the eclipse BPMN 2.0 Plugin as mentionned in the jBPM User Guide (Chap 10)

       

      I want to design first (and then execute if possible) a process with some BPMN "components" such as :

      Pools

      Boundary Events

      Message Flow

      ...

      Pools (or Multiple Pools to be more accurate), Message Flows seems to be not available in 1- and 2-.

       

      As far as Boundary Events are concerned I thought it was possible to use them inside the web designer as said in http://kverlaen.blogspot.fr/2011/12/jbpm-52-released.html since I am working with jBPM 5.3.

      I do not see how to use this functionnality in the web designer... Is it available?

       

      The eclipse BPMN 2.0 Plugin seems to offer much more functionnalities for designing processes but if I design with this tool, will I be able to execute it with the jBPM Runtime mainly if I use functionnality not available in standard jBPM designers?

       

      What are the best practices according to you?

       

      Regards

        • 1. Re: Which Designer?
          swiderski.maciej

          Personally I use Web Designer and New BPMN2 modeler. I recommend you to use Web Designer as it supports almost everything that the engine and it is web based integrated with guvnor which allows quick deployment to the running jbpm engine. But if you are more eclipse user then new BPMN2 modeler will do just great.

           

          P.S.

          As far as I know boundary events are supported in web designer, What version are you running on?

           

          HTH

          • 2. Re: Which Designer?
            cdsosi

            Hi Maciej,

             

            First of all, thanks for answering

             

            I use the web designer supplied with jBPM 5.3.0 Full Package (because it is the last full version available so I want to be synchronized with the jBPM 5.3.0 Final User Guide !) so I think it is 2.2 Final. I get this version number in pom.properties in designer.war from JAS 7.0.2.

            Another question by the way : is there a more simple way to get web designer version directly under drools-gubnor ?

             

            My problem is that I am a bit lost with the web designer, as I am a beginner with BPMN and jBPM I really have difficulties to find my way with this designer :

            - many input fields are free and there is not much assistance on what to input

             

            To share with you other problems I am facing :

            - I don't not know what mistake I must have made but now I have nothing the Evaluation process. No matter I will use the import BPMN2 function, but when you paste the orignal source code of the Evaluation.bpmn file, I have an error in the server log of JAS 7.0.2 (NPE).

            - I try to use a "Reusable Subprocess" when in the window "Editor for Called Elements" i have no process in the list although I have other defined in drools guvnor...

            => I try to save all other processes and export bpmn2 files and same for process images (png) and then I have some processes displayed in the list but not all and I don't understand why...

             

            How do you use Boundary Events ? In my version I don't think I am able to specify a Boundary Event on a specific Task, no graphical component named Boundary Event available in the Shape Repository...

            => When writing this, I told myself I must give another try : with a task, miracle it's working. In fact I think I am not used to clicking on the Morph Shape Function. I thought all the possible components were avaibable in the Shape Repository but it seems that it is not the case. (ex: Throwing Error Intermediate Event displayed in blue color not avaibable directly (you must use Morph Shape to get it) although Catching Error Intermediate Event displayed in brown color available in the Shape Repository). Actually I tried till now to put a Boundary Event on a Reusable SubProcess directly and with this web designer version it don't think it is possible : you must first put the Boundary Event on a Basic Task first and then Morph the Basic Task to a Reusable Subprocess so that it works.

             

            Other information : I run the web designer under firefox 14.0.1.

             

            Some others questions !

            1- I read in the 5.3.0 Final User Guide that there were a way to directly use an xml file describing a BPM process so it means that the web designer does not offer all the functionnalities the jBPM engine is able to handle, is that correct?

            2- If I use New BPMN2 modeler unde eclipse will the JBPM Engine be able to handle everything coming from eclipse New BPMN2 Modeler file?

            3- When you create a new BPMN Process under eclipse and then create a Java class to test the process (knowledge base /session creation, add process, ...) it is only local and not deployed under JAS, correct?

            4- To deploy a process in JAS the only way is to use drools-guvnor or is there another way to deploy a process?

            5- I guess real and common life using of jBPM is through JAS so my question is, the only way to interact with the jBPM engine and deployed processes (of course) in JAS is the REST API (apart from the jBPM console)?

            6- I don't think it is available but I need to ask : is there a REST function to signal events (in fact the same as ksession.signalEvent(...) in Java)?

             

            I have plenty of other questions to ask but I must stop there and I will make another post if needed

            I often prefer finding solutions to problems myself but sometimes help is needed so that not to lose too much time !

             

            I must say that I really enjoy jBPM solution through the documentaiton even if I think in my case and opinion the first steps are not easy to handle when using the differents tools.

             

            Kind regards

            • 3. Re: Which Designer?
              tsurdilovic

              >> Another question by the way : is there a more simple way to get web designer version directly under drools-gubnor ? <<

              You can click on the "Info" button in the Designer navigation bar which will give you it's version. It is a round button with an "i" in it

               

               

              >> many input fields are free and there is not much assistance on what to input <<

              This was made easier in Designer 2.3.0.Final, as you now have task-type specific properties. So by changing your task type, the properties shown are specific to it rather than showing general task properties.

               

               

              >> I don't not know what mistake I must have made but now I have nothing the Evaluation process. No matter I will use the import BPMN2 function, but when you paste the orignal source code of the Evaluation.bpmn file, I have an error in the server log of JAS 7.0.2 (NPE). <<

              What is this error? There are some minor differences in the generated BPMN2 code with the Eclipse editor so there could be some problems moving it to Designer, but if you show us the BPMN2 we can point you in the right direction quickly

               

              >> I try to use a "Reusable Subprocess" when in the window "Editor for Called Elements" i have no process in the list although I have other defined in drools guvnor... <<

              I have not encountered this problem yet, in Guvnor if you go to the Administration tab and then Import/Export, can you export your repository (it will generate a .zip file that you can save) and show it so can test?

               

              >> I try to save all other processes and export bpmn2 files and same for process images (png) and then I have some processes displayed in the list but not all and I don't understand why... <<

              Not sure either without seeing some errors in logs or a better, reproducible description of what you are doing

               

              >> How do you use Boundary Events ? In my version I don't think I am able to specify a Boundary Event on a specific Task, no graphical component named Boundary Event available in the Shape Repository... <<

              You can drag an even to the edge of a task/subprocess and you will see its edges turn green color. Dropping your even when the edges are green will make it a boundary event automatically for you.

               

               

              >> When writing this, I told myself I must give another try : with a task, miracle it's working. In fact I think I am not used to clicking on the Morph Shape Function. I thought all the possible components were avaibable in the Shape Repository but it seems that it is not the case. (ex: Throwing Error Intermediate Event displayed in blue color not avaibable directly (you must use Morph Shape to get it) although Catching Error Intermediate Event displayed in brown color available in the Shape Repository). Actually I tried till now to put a Boundary Event on a Reusable SubProcess directly and with this web designer version it don't think it is possible : you must first put the Boundary Event on a Basic Task first and then Morph the Basic Task to a Reusable Subprocess so that it works. <<

              I will try this out..but best for you would be if you encounter issues like this to open a jBPM Jira so we can fix it.

               

              >> 1- I read in the 5.3.0 Final User Guide that there were a way to directly use an xml file describing a BPM process so it means that the web designer does not offer all the functionnalities the jBPM engine is able to handle, is that correct? <<

              Nope, from the current jBPM BPMN2 Editors Designer is the only one what actually supports everything that the jBPM runtime can execute.

               

              >> 2- If I use New BPMN2 modeler unde eclipse will the JBPM Engine be able to handle everything coming from eclipse New BPMN2 Modeler file? <<

              With Eclipse you have to at times modify the BPMN2 XML by hand to some constructs in there.

               

              >> I must say that I really enjoy jBPM solution through the documentaiton even if I think in my case and opinion the first steps are not easy to handle when using the differents tools. <<

              Well we give you free help here or on IRC or if you raise Jiras we fix them also for free ... so you could maybe help with the documentation as well if you feel like contributing something back

              • 4. Re: Which Designer?
                cdsosi

                Hi Tihomir,

                 

                Thanks for replying as well !

                Some answers following next (always with web designer 2.2 Final) :

                 

                >> Another question by the way : is there a more simple way to get web designer version directly under drools-gubnor ? <<

                >>>You can click on the "Info" button in the Designer navigation bar which will give you it's version. It is a round button with an "i" in it

                I pushed many buttons but not that one

                Thanks, now I will be able to give my designer version at the speed of light !

                 

                >> many input fields are free and there is not much assistance on what to input <<

                This was made easier in Designer 2.3.0.Final, as you now have task-type specific properties. So by changing your task type, the properties shown are specific to it rather than showing general task properties.

                So I may have a try to this brand new designer !

                 

                >> I don't not know what mistake I must have made but now I have nothing the Evaluation process. No matter I will use the import BPMN2 function, but when you paste the orignal source code of the Evaluation.bpmn file, I have an error in the server log of JAS 7.0.2 (NPE). <<

                >>>What is this error? There are some minor differences in the generated BPMN2 code with the Eclipse editor so there could be some problems moving it to Designer, but if you show us the BPMN2 we can point you in the right direction quickly

                I reinstall everything (do not know how many times I have done that )

                Here are my steps :

                a- After ant start.demo launch drools-guvnor (http://localhost:8080/drools-guvnor)

                b- Under the defaultPackage, create a New BPMN2 Process named "Test"

                c- When the web designer is opened, use the BPMN2 Import Function and input the file Evaluation.bpmn coming from "jbpm-5.3.0.Final-installer-full.zip"

                => [...]jbpm-installer\sample\evaluation\src\main\resources\Evaluation.bpmn

                • The first time the import works !
                • Inside the web designer the process keeps its original name with Test although the name in the imported file is different (same for Asset in the defaultPackage tree browser on the left)
                • Close the process, open it again and now the correct name is displayed (Evaluation (com.sample.evaluation)), however the Asset in the defaultPackage tree browser on the left is still Test...

                d- Create another New BPMN2 Process named Test2 try to import the file again and an error log message is displayed. Here is an extract of the server.log :

                 

                18:25:01,752 ERROR [stderr] (http-localhost-127.0.0.1-8080-4) org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'script' not found. (inputStream://dummyUriWithValidSuffix.xml, 33, 19)

                 

                18:25:01,753 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.handleErrors(XMLLoadImpl.java:83)

                 

                18:25:01,753 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:191)

                 

                18:25:01,753 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:180)

                 

                18:25:01,753 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1494)

                 

                18:25:01,753 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.jbpm.designer.web.profile.impl.JbpmProfileImpl.getDefinitions(JbpmProfileImpl.java:273)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.jbpm.designer.web.profile.impl.JbpmProfileImpl$2.parseModel(JbpmProfileImpl.java:252)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.jbpm.designer.web.server.TransformerServlet.doPost(TransformerServlet.java:221)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70)

                 

                18:25:01,754 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)

                 

                18:25:01,755 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)

                 

                18:25:01,755 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

                 

                18:25:01,755 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

                 

                18:25:01,755 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139)

                 

                18:25:01,755 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57)

                 

                18:25:01,755 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154)

                 

                18:25:01,755 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

                 

                18:25:01,756 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

                 

                18:25:01,756 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

                 

                18:25:01,756 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

                 

                18:25:01,756 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667)

                 

                18:25:01,756 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952)

                 

                18:25:01,756 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at java.lang.Thread.run(Thread.java:662)

                 

                18:25:01,756 ERROR [stderr] (http-localhost-127.0.0.1-8080-4) Caused by: org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'script' not found. (inputStream://dummyUriWithValidSuffix.xml, 33, 19)

                 

                18:25:01,757 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.reportUnknownFeature(XMLHandler.java:1991)

                 

                18:25:01,757 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleUnknownFeature(XMLHandler.java:1955)

                 

                18:25:01,757 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLHandler.java:1899)

                 

                18:25:01,757 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:1023)

                 

                18:25:01,757 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:1001)

                 

                18:25:01,757 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:712)

                 

                18:25:01,757 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

                 

                18:25:01,758 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

                 

                18:25:01,759 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)

                 

                18:25:01,759 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:181)

                 

                18:25:01,759 ERROR [stderr] (http-localhost-127.0.0.1-8080-4)     ... 24 more

                 

                18:25:01,759 GRAVE [org.jbpm.designer.web.profile.impl.JbpmProfileImpl] (http-localhost-127.0.0.1-8080-4) null: java.lang.NullPointerException

                    at org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.marshallDefinitions(Bpmn2JsonMarshaller.java:201) [classes:]

                    at org.jbpm.designer.bpmn2.impl.Bpmn2JsonMarshaller.marshall(Bpmn2JsonMarshaller.java:157) [classes:]

                    at org.jbpm.designer.web.profile.impl.JbpmProfileImpl$2.parseModel(JbpmProfileImpl.java:252) [classes:]

                    at org.jbpm.designer.web.server.TransformerServlet.doPost(TransformerServlet.java:221) [classes:]

                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.jbpm.designer.web.filter.impl.PluggableFilter.doFilter(PluggableFilter.java:70) [classes:]

                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]

                    at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]

                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952) [jbossweb-7.0.1.Final.jar:7.0.2.Final]

                    at java.lang.Thread.run(Thread.java:662) [:1.6.0_32]

                 

                It may be a conflicting process naming issue? I thought that import function would have renamed the process on the fly so that it feets the orignal process name Test2.

                I must say that the place where this import function is that is to say inside the web designer is strange to me. I thought this function would have been available outside the web designer for exemple with a specific menu in the tree browser on the left in drools guvnor. By doing this, the imported file would automatically create the package if necessary and the process with correct name. Create a new empty process and then import a file or BPMN2 code is a bit strange to me but that's my opinion.

                 

                >> I try to use a "Reusable Subprocess" when in the window "Editor for Called Elements" i have no process in the list although I have other defined in drools guvnor... <<

                >> I try to save all other processes and export bpmn2 files and same for process images (png) and then I have some processes displayed in the list but not all and I don't understand why... <<

                >>>I have not encountered this problem yet, in Guvnor if you go to the Administration tab and then Import/Export, can you export your repository (it will generate a .zip file that you can save) and show it so can test?

                >>>Not sure either without seeing some errors in logs or a better, reproducible description of what you are doing

                Actually I can't reproduce that with a brad new installation. The only thing I see is that when you create a New BPM2 Process and design it, you are able to close it (in other words no check-in done) and it is still available in the tree browser on the left. That may be what I did since no warning message

                is displayed when you close a modified process without saving it... I played a lot with new processes that may explain my problem so it appears not to be an issue. The warning message to close an unsaved process would be a good thing

                 

                >> How do you use Boundary Events ? In my version I don't think I am able to specify a Boundary Event on a specific Task, no graphical component named Boundary Event available in the Shape Repository... <<

                >>>You can drag an even to the edge of a task/subprocess and you will see its edges turn green color. Dropping your even when the edges are green will make it a boundary event automatically for you.

                I agree with you but my first try was directly with a Reusable Subprocess and when you do that the edges keep red

                 

                >> When writing this, I told myself I must give another try : with a task, miracle it's working. In fact I think I am not used to clicking on the Morph Shape Function. I thought all the possible components were avaibable in the Shape Repository but it seems that it is not the case. (ex: Throwing Error Intermediate Event displayed in blue color not avaibable directly (you must use Morph Shape to get it) although Catching Error Intermediate Event displayed in brown color available in the Shape Repository). Actually I tried till now to put a Boundary Event on a Reusable SubProcess directly and with this web designer version it don't think it is possible : you must first put the Boundary Event on a Basic Task first and then Morph the Basic Task to a Reusable Subprocess so that it works. <<

                >>>I will try this out..but best for you would be if you encounter issues like this to open a jBPM Jira so we can fix it.

                You are right but sometimes "newbee" users may be not using the tools in a right way so that we may (the newbees !) not think that it is an issue

                => I will test again and open a JIRA if needed => tested on Web Designer 2.2 Final, still an issue => JIRA Issue Opened  JBPM-3742

                 

                >> 1- I read in the 5.3.0 Final User Guide that there were a way to directly use an xml file describing a BPM process so it means that the web designer does not offer all the functionnalities the jBPM engine is able to handle, is that correct? <<

                >>>Nope, from the current jBPM BPMN2 Editors Designer is the only one what actually supports everything that the jBPM runtime can execute.

                Sorry, I must re-formulate so that I am sure I understand what you are saying :

                a- the jBPM BPMN2 Editors Designer you mentioned is the web designer provided with jBPM 5.3.0 Full Package

                b- Everything available in the jBPM web designer is totally executable by the jBPM runtime

                c- The last step, there is nothing that the jBPM runtime can execute which is not available in the web designer (bijective function)?

                 

                >> 2- If I use New BPMN2 modeler unde eclipse will the JBPM Engine be able to handle everything coming from eclipse New BPMN2 Modeler file? <<

                >>>With Eclipse you have to at times modify the BPMN2 XML by hand to some constructs in there.

                How do you realize that, problems in the server.log? Is there a way to detect as soon as possible the things that must be changed by hand?

                 

                Hey you were on the right way, what about points 3-, 4-, 5-, 6- ?

                 

                >> I must say that I really enjoy jBPM solution through the documentaiton even if I think in my case and opinion the first steps are not easy to handle when using the differents tools. <<

                >>>Well we give you free help here or on IRC or if you raise Jiras we fix them also for free ... so you could maybe help with the documentation as well if you feel like contributing something back

                Ok I'll try to think about that but for now I must go further in using jBPM and be able to evaluate the things that I will be able or not able to do, so keep in touch to help me !!!

                 

                Now I am playing with Signal Events and have some problems but I need to make some further tests to see if I need help from community

                 

                Kind regards

                • 5. Re: Which Designer?
                  tsurdilovic

                  I'll try to answer one at a time

                   

                  ******

                  * Evaluation bpmn2 and error:

                  18:25:01,752 ERROR [stderr] (http-localhost-127.0.0.1-8080-4) org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'script' not found. (inputStream://dummyUriWithValidSuffix.xml, 33, 19)

                  ******

                  This issue was recently resolved: https://issues.jboss.org/browse/JBPM-3728 and you have to either wait for a new jBPM version or build jBPM from its master branch to get the fix now.

                  You have also an option to manually fix the problem by changing all:

                   

                  <tns:onEntry-script .... >

                  <script> .... </script>

                  </tns:onEntry-script>

                   

                  to

                   

                  <tns:onEntry-script .... >

                  <tns:script> .... </tns:script>

                  </tns:onEntry-script>

                   

                  (same for onExit-script nodes) and then import it into Designer.


                   


                  • 6. Re: Which Designer?
                    tsurdilovic

                    *******

                    Inside the web designer the process keeps its original name with Test although the name in the imported file is different (same for Asset in the defaultPackage tree browser on the left)

                    ******

                     

                    The name of your process asset and the actual process name and id attributes are not related. You can name your process asset "MyProcess" but set the name and id attributes inside it to something completely different if you so wish..that is up to you and not Designer Designer however when you create a new process auto-fills the name of your process and the id using the package name and the asset name for you for convenience..this is for new processes only.

                     


                    • 7. Re: Which Designer?
                      tsurdilovic

                      ********

                      The warning message to close an unsaved process would be a good thing

                      ********

                      Completely agree - please raise a Guvnor Jira for this

                      • 8. Re: Which Designer?
                        tsurdilovic

                        ****************

                        Sorry, I must re-formulate so that I am sure I understand what you are saying :

                        a- the jBPM BPMN2 Editors Designer you mentioned is the web designer provided with jBPM 5.3.0 Full Package

                        b- Everything available in the jBPM web designer is totally executable by the jBPM runtime

                        c- The last step, there is nothing that the jBPM runtime can execute which is not available in the web designer (bijective function)?

                        *******************

                        a) yes

                        b) yes if you add correct execution semantics in your business process..otherwise it won't be "Executable"

                        c) not necessarily..we try to stay as close as possible, e.g. as we add more features into the runtime, we update the tooling as fast as possible to utilizy the new functionalities of the runtime..and so on. There could be cases there a version of Designer does not have a certain recently added feature of the runtime, but you can then get it in the next Designer release or build Designer from master branch when the feature has been added right away.

                        • 9. Re: Which Designer?
                          tsurdilovic

                          ******************

                          3- When you create a new BPMN Process under eclipse and then create a Java class to test the process (knowledge base /session creation, add process, ...) it is only local and not deployed under JAS, correct?

                          4- To deploy a process in JAS the only way is to use drools-guvnor or is there another way to deploy a process?

                          5- I guess real and common life using of jBPM is through JAS so my question is, the only way to interact with the jBPM engine and deployed processes (of course) in JAS is the REST API (apart from the jBPM console)?

                          6- I don't think it is available but I need to ask : is there a REST function to signal events (in fact the same as ksession.signalEvent(...) in Java)?

                          *****************

                           

                          3) Depends on how your test is written , but yes unit tests typically run locally..it's up to you to deploy your process definitions and related artifacts yourself to wherever you want for testing

                          4) You don't really need guvnor for deployment. You could create the .pkg yourself using drools-ant tasks and push it to your own servers for example and let the client applications consume it. You could also if you are using the jBPM Console place your process definitions and artifacts like process image, task forms, dependency jars (such as service node impls for example) on the console classpath and it will be able to see them

                          5) jBPM does not need an application server..you can package the jBPM runtime component anywhere you like..in a test case, a stand-alone application, in an applet even and of course also the application server inside your war's WEB-INF/lib for example

                          6) The jBPM Console has the ability to performa signal events

                          • 10. Re: Which Designer?
                            cdsosi

                            ******

                            * Evaluation bpmn2 and error:

                            18:25:01,752 ERROR [stderr] (http-localhost-127.0.0.1-8080-4) org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'script' not found. (inputStream://dummyUriWithValidSuffix.xml, 33, 19)

                            ******

                            This issue was recently resolved: https://issues.jboss.org/browse/JBPM-3728 and you have to either wait for a new jBPM version or build jBPM from its master branch to get the fix now.

                            You have also an option to manually fix the problem by changing all:

                             

                            <tns:onEntry-script .... >

                            <script> .... </script>

                            </tns:onEntry-script>

                             

                            to

                             

                            <tns:onEntry-script .... >

                            <tns:script> .... </tns:script>

                            </tns:onEntry-script>

                             

                            (same for onExit-script nodes) and then import it into Designer.

                             

                            ok I see, however I don't understand why the import works first time, the exception shoud be always be raised since the bpmn file is incorrect according to the syntax...

                            Never mind with this, I tested again several times the import function after modifying by hand the file and it is working !

                             


                            • 11. Re: Which Designer?
                              cdsosi

                              ********

                              The warning message to close an unsaved process would be a good thing

                              ********

                              Completely agree - please raise a Guvnor Jira for this

                               

                              Done => https://issues.jboss.org/browse/GUVNOR-1924

                              • 12. Re: Which Designer?
                                cdsosi

                                *******

                                Inside the web designer the process keeps its original name with Test although the name in the imported file is different (same for Asset in the defaultPackage tree browser on the left)

                                ******

                                 

                                The name of your process asset and the actual process name and id attributes are not related. You can name your process asset "MyProcess" but set the name and id attributes inside it to something completely different if you so wish..that is up to you and not Designer Designer however when you create a new process auto-fills the name of your process and the id using the package name and the asset name for you for convenience..this is for new processes only.

                                 

                                However I think it would be a good think that both Process Name inside the Designer and Process Asset Name in drools-guvnor should be the same since in drools-guvnor it is under the category "Processes". Moreover it is a bit confusing to have the ability to specifiy Name and Package Properties inside the designer that does not reflect the location in drools-guvnor.

                                But no matter this again I understand your point of view

                                • 13. Re: Which Designer?
                                  cdsosi

                                  ****************

                                  Sorry, I must re-formulate so that I am sure I understand what you are saying :

                                  a- the jBPM BPMN2 Editors Designer you mentioned is the web designer provided with jBPM 5.3.0 Full Package

                                  b- Everything available in the jBPM web designer is totally executable by the jBPM runtime

                                  c- The last step, there is nothing that the jBPM runtime can execute which is not available in the web designer (bijective function)?

                                  *******************

                                  a) yes

                                  b) yes if you add correct execution semantics in your business process..otherwise it won't be "Executable"

                                  c) not necessarily..we try to stay as close as possible, e.g. as we add more features into the runtime, we update the tooling as fast as possible to utilizy the new functionalities of the runtime..and so on. There could be cases there a version of Designer does not have a certain recently added feature of the runtime, but you can then get it in the next Designer release or build Designer from master branch when the feature has been added right away.

                                   

                                  a) ok

                                  b) of course

                                  c) ok

                                   

                                  Thanks for clarification, that's what I thought...

                                  • 14. Re: Which Designer?
                                    cdsosi

                                    ******************

                                    3- When you create a new BPMN Process under eclipse and then create a Java class to test the process (knowledge base /session creation, add process, ...) it is only local and not deployed under JAS, correct?

                                    4- To deploy a process in JAS the only way is to use drools-guvnor or is there another way to deploy a process?

                                    5- I guess real and common life using of jBPM is through JAS so my question is, the only way to interact with the jBPM engine and deployed processes (of course) in JAS is the REST API (apart from the jBPM console)?

                                    6- I don't think it is available but I need to ask : is there a REST function to signal events (in fact the same as ksession.signalEvent(...) in Java)?

                                    *****************

                                     

                                    3) Depends on how your test is written , but yes unit tests typically run locally..it's up to you to deploy your process definitions and related artifacts yourself to wherever you want for testing

                                    4) You don't really need guvnor for deployment. You could create the .pkg yourself using drools-ant tasks and push it to your own servers for example and let the client applications consume it. You could also if you are using the jBPM Console place your process definitions and artifacts like process image, task forms, dependency jars (such as service node impls for example) on the console classpath and it will be able to see them

                                    5) jBPM does not need an application server..you can package the jBPM runtime component anywhere you like..in a test case, a stand-alone application, in an applet even and of course also the application server inside your war's WEB-INF/lib for example

                                    6) The jBPM Console has the ability to performa signal events

                                     

                                    3) ok

                                    4) ok thanks for the possibilities I may have a look at further

                                    5) ok

                                    6) Yes I saw the button in the jBPM console (it is a bigger one than the i surrounded button in web designer ).

                                    Is it normal that a process whose first node is a StartSignalEvent can be started with the Start button in jBPM console?

                                    I think it is a mistake since it is a Signal Event that shoud start the Process, in others words :

                                    => the Start button might be disabled since in my process there is no classic Start Event => this may imply that the process should be parsed first to detect the possible start(s) of the process and put correct button states in jBPM console

                                    => anyway the Start button should have no impact on the the Process starting since it is not signaling anything

                                    - the Signal button should not be disabled so that the process can be started with a particular Event as input

                                     

                                    What's your feeling about that?