2 Replies Latest reply on Mar 18, 2014 11:58 PM by Joey Teo

    Process Management Questions

    Jaco Fourie Newbie

      Hi there all.

       

      We have been using Oracle Workflow for the last 13 years. It works very well but it has been discontinued and Oracle has stated we have to move over to their BPM Suite.

      So we are evaluating other platforms as well. It looks like jBPM can do what we need it to do but I have some questions.

       

      1) Are you able to interact with a running process. Let say you want it to take another path because for some reason you have to change the path it is on. In Oracle Workflow we can expedite the process and choose another transition. The same in Oracle BPM Suite. I can see you are able to change the instance variables in KIE Workbench and I can see that it shows you where it is but I can not see if you can interact with it to change the path.

      2) Is there a list of connectors a service task can have. Lets say I want to call a stored procedure in an Oracle database. Is there a connector or do I have to write custom java code ?

      3) We have a very complex organizational structure. We also have multiple structures one for HR, one for projects and also one for Finance. Therefore we do not want to use the actors in jBPM. We also have more than 3000 employees and do not want to maintain another approval structure. We want to use the current ones. So I want to know if we can assign all the human tasks to the same system user? We will create our own external screens with its own work list. All I want is for the bpm engine to wait (block) at a human task until the external web application tells it to continue.

      4) Because we have very complex screens and data validations we will be using Oracle ADF to build the web / mobile applications. I want the users to fill in all the relevant data using the screens developed in ADF. Once all the data validation has been done then the data will be saved to the database and the ADF application will use an API call to start an instance of the required process. Is this possible ?

      5) When I start a new process instance, do I pass it the key / id to use as unique process key or does the API return the key to me to use later on via other screens ?

       

      Thanks all

       

      Regards.

       

      Jaco.

        • 1. Re: Process Management Questions
          Jaco Fourie Newbie

          Hi there. It seems I have to use an received task if I don't want to use the Human actors. That will wait till I tell it to continue. Anybody who can answer the rest?

           

          Regards.

          • 2. Re: Process Management Questions
            Joey Teo Newbie

            hey Jaco,

             

            Seems like we're on the same boat here. My company project has also been on Oracle Workflow for the past 10++ years! and are looking to move out of Oracle Workflow! On Oracle Workflow, as i Know they did not "REALLY" discontinue it but rather to use it, you'll need to pay on their BPM suites. That's as far as i know.

             

            on your questions here is what I found.

             

            1) Are you able to interact with a running process. Let say you want it to take another path because for some reason you have to change the path it is on. In Oracle Workflow we can expedite the process and choose another transition. The same in Oracle BPM Suite. I can see you are able to change the instance variables in KIE Workbench and I can see that it shows you where it is but I can not see if you can interact with it to change the path.

            - I don't think this is possible as the processes are executed via java serialized persistency. You might need something like Oracle Forms to change the object data. I think in their persistence, the VariableInstanceLog might hold some clue, or if using Drools? I think other more experienced jbpm guru's can give a better perspective on this as I'm too exploring.

             

            2) Is there a list of connectors a service task can have. Lets say I want to call a stored procedure in an Oracle database. Is there a connector or do I have to write custom java code ?

            - You need to write custom java code. Create a factory to call the stored procedures. This is what I've done.

             

            3) We have a very complex organizational structure. We also have multiple structures one for HR, one for projects and also one for Finance. Therefore we do not want to use the actors in jBPM. We also have more than 3000 employees and do not want to maintain another approval structure. We want to use the current ones. So I want to know if we can assign all the human tasks to the same system user? We will create our own external screens with its own work list. All I want is for the bpm engine to wait (block) at a human task until the external web application tells it to continue.

            - Your BPM application sounds similar to ours, I've done something to do somewhat the same and so it is possible. However am looking since JBPM is an open project, might in future if there is a luxury to modify it to our internal application organization structure. They have LDAP integration so there is a start. as for wait for human task, just use the event triggers.


            4) Because we have very complex screens and data validations we will be using Oracle ADF to build the web / mobile applications. I want the users to fill in all the relevant data using the screens developed in ADF. Once all the data validation has been done then the data will be saved to the database and the ADF application will use an API call to start an instance of the required process. Is this possible ?

            - no comment


            5) When I start a new process instance, do I pass it the key / id to use as unique process key or does the API return the key to me to use later on via other screens ?

            - on triggering the process isntance, ksession will return a unique processInstanceId which is known as the externalId in the jbpm Persistence tables. You will need the unique id just like in Oracle WOrkflow to trigger continue events.

             

            Hope this helps!