cancel
Showing results for 
Search instead for 
Did you mean: 

How to create sub-process on the fly ? means how to create sub-process dynamically ?

shatrusudan
Champ on-the-rise
Champ on-the-rise

Hi,

I am new in Activiti BPM. i am still learning Activiti BPM  to using in our project. my project based on Java and spring technology.

Basically my requirement is how we can add or create sub process dynamically. if our workflow or process instance already created. i tried multi instance feature to fit my requirement but in multi instance at least we need to fix loop cardinality or how many instance will create we have to fix that. any solution for create sub process.

my business requirement is we are creating One Incident through workflow. in that incident flow we will create some activity like set of task for that we will create a sub process. but in some incident have 2 activity(sub-process) or some incident have 5 activity(sub-process), and in edit case also we can add more activity(sub-process) in that same incident. so my road block is how we can create sub process dynamically or add sub process in running process instance.

Hope i have given clear requirement of my business. If any solution have in activiti BPM please guide me.

Thanks in Advance.

1 ACCEPTED ANSWER

jearles
Star Contributor
Star Contributor

Hi Shatrusudan,

It sounds like you're looking for what it generally called 'Case Management' in the BPM space - where the process isn't so much predefined, as there are several pre-existing, ad-hoc tasks, steps that can be selected and utilized depending on certain parameters within the process. It is not possible in any platform I'm familiar to truly 'generate' a subprocess on the fly, but if you have enough knowledge of different potential pathways, then you might be able to defined those steps enough to use a more ad-hoc, case management approach. At any rate, Activiti does not support a method for dynamic support process generation, or OOTB case management without customizations made to the source code.

Another option is to see if it would be possible to pull some structure out of the unstructured process that you're currently working with in order to help fit it into a more 'process driven' execution that would be able to fit into the OOTB Activiti feature set.

If a structure can't be extracted from the unstructured process you're working with, there are other tools that allow for a more rule-generated, non-linear solutions - look into case management and see if that fits more of what you're looking for.

-JEarles

View answer in original post

5 REPLIES 5

jearles
Star Contributor
Star Contributor

Hi Shatrusudan,

It sounds like you're looking for what it generally called 'Case Management' in the BPM space - where the process isn't so much predefined, as there are several pre-existing, ad-hoc tasks, steps that can be selected and utilized depending on certain parameters within the process. It is not possible in any platform I'm familiar to truly 'generate' a subprocess on the fly, but if you have enough knowledge of different potential pathways, then you might be able to defined those steps enough to use a more ad-hoc, case management approach. At any rate, Activiti does not support a method for dynamic support process generation, or OOTB case management without customizations made to the source code.

Another option is to see if it would be possible to pull some structure out of the unstructured process that you're currently working with in order to help fit it into a more 'process driven' execution that would be able to fit into the OOTB Activiti feature set.

If a structure can't be extracted from the unstructured process you're working with, there are other tools that allow for a more rule-generated, non-linear solutions - look into case management and see if that fits more of what you're looking for.

-JEarles

Hi Jonathan,

Thanks for your valuable suggestion regarding Activiti BPM. can we add user task or service task dynamically in started process instance. or any alternative ways to achieve this functionality. 

Hi shatrusudan sharma ,

Jonathan had said it all but it seems that you are still confused.

I think you need to review and appreciate the concept of BPM (Business Process Modelling) before jumping to its technical aspect. Activiti is a piece of software that was built to help organizations achieve their BPM initiatives. And by definition, BPM is (Business process management - Wikipedia )

improvement and management of a firm's end-to-end enterprise business processes in order to achieve three outcomes crucial to a performance-based, customer-driven firm: 1) clarity on strategic direction, 2) alignment of the firm's resources, and 3) increased discipline in daily operations.[4]

Therefore, your processes should be well thought-of and designed from end-to-end to meet the business goals. This is why Activiti provides the activiti-modeler to help people model their processes before they can be implemented.

Now for your use case, from your description,

my business requirement is we are creating One Incident through workflow. in that incident flow we will create some activity like set of task for that we will create a sub process. but in some incident have 2 activity(sub-process) or some incident have 5 activity(sub-process), and in edit case also we can add more activity(sub-process) in that same incident.

This use case is not possible for any BPM platform out there. You need to understand all possibilities of your Incident Workflow. If there's a reason that it can't be done, can you elaborate that more?

Now for your question

can we add user task or service task dynamically in started process instance. or any alternative ways to achieve this functionality. 

No, you need to define user task, service task in your process definition xml.

Hope I make it clear,

Thanks,

Thong Huynh

Thanks for your answer..