3 Replies Latest reply on May 1, 2017 11:46 AM by abhijithumbe

    jBPM newbie questions

    sarathy

      Hi,

       

      I just started evaluating jBPM Suite #6 for use in a large scale enterprise application and have couple of questions.

       

      1. I have a small business process that uses a data object as a variable that deploys and tests fine within business-central.  I am able to start and complete the process and task using the REST APIs below.   However, I am not sure how to pass data for the data object through the REST API.   It pops up a process form when running under business-central for user to provide input but i like to pass this data from an external client application over REST API.  How can I do this?

       

      #start the process

      curl -X POST -u 'userid:password'    /business-central/rest/runtime/sarathySanboxOrganizationUnit:sarathySandbox:2.0/process/sarathySandbox.EchoCustomerDetails/start

      #query the task id

      curl -X GET -u 'userid:password'  /business-central/rest/task/query

      #use the task id obtained from above step to start and complete the task

      curl -X POST -u 'userid:password'  /business-central/rest/task/74/start

      curl -X POST -u 'userid:password'  /business-central/rest/task/74/complete

       

      2. I understand business-central can deploy the artifacts to kie-server which will provide the runtime for production environments.   Is there similar set of REST APIs available to start and complete process and tasks using kie-server URL?

       

      3. My business process contain user tasks for additional input to continue the workflow.   I like the application to have its own angular based UI to collect input for user tasks instead of using the basic HTML supported by task form.  How can I trap user tasks and identify what data it is looking for and provide my own angular based UI to get the input from user and pass it to the workflow?

       

      4.  Is there any additional documentation or more current books available to learn jBPM from design to deployment? I went through available pubs including Red_Hat_JBoss_BPM_Suite-6.4-Development_Guide-en-US.pdf but wondering if there is anything for a newbie that is little easier to follow.

       

      Any help would be much appreciated.

       

      Best Regards,

      -sarathy

        • 1. Re: jBPM newbie questions
          abhijithumbe

          1. To pass process variables while starting process you have to use 'map' with process variable name in query parameter, like as:

          ~~~

          http://localhost:8080/kie-wb/rest/runtime/project1/process/Process.ID/start?map_VariableName=value

          ~~~~

          Go through Chapter 17. Remote API  for more details.

           

          2. Similar REST API's available for Kie-server as well, go through Drools Documentation  for more details

           

          3. You can design your own HumanTask form, through this you can collect HumanTask input data and pass it into process flow.

           

          4. You can refer to Mastering jBPM6 book, I find this interesting

          1 of 1 people found this helpful
          • 2. Re: jBPM newbie questions
            sarathy

            Hi Abhijit,

             

            Thank you so much. 

             

            1.  I tried passing the map_VariableName=value but these variables are introduced the process as discrete varaiables and not getting injecting into the process form.   Per Red_Hat_JBoss_BPM_Suite-6.4-Development_Guide-en-US.pdf snippet below, there is a way to pass a JSON object but not sure what the URL is for business-central for this work.

             

            Example 16.2. Managing Processes

            Create person.json:

            {

            "p" : { "org.kieserver.test.Person": { "id" : 13, "name":

            "William" } }

            }

            Start a process using a custom object (Person) as a parameter:

            $ curl -X POST -u 'kieserver:kieserver1!' -H 'Content-type:

            application/json' -H 'X-KIE-ContentType: JSON' --data @person.json

            'http://localhost:8080/kieserver/

            services/rest/server/containers/person/processes/proc-withpojo.

            p-proc/instances'

             

            Regards,

            -sarathy

            • 3. Re: jBPM newbie questions
              abhijithumbe

              For business-central we cant pass JSON request, its possible only with kie-server. If you want to pass custom objects(org.kieserver.test.Person) then you have to Remote java API's exposed by kie-workbench console.