I've integrated Jbpm 5.3 with my webapp and PostgreSQL persistence and Mina human task server working on sockets.
I'm fresh in jbpm and currently I'd like to do my first real life process that will run constantly and wonder how can I do something like this:
1. At any given time in time, a user can register himself to join a list of users, a particular person can deregister any user.
2. At any given time in time, the registered users can go to a particular person and make a payment. The person taking the payment should register who made a payment, and the users balance increases.
Repeat every week:
3. Every week (e.g. every Sunday morning) I want to send an email to all the users from the list.
4. People that receive the email, get a link to a form where they can make a decision, their balance from 2. is modified.
5. At the end of the week, the number of people who made a particular decision is counted and the information about all those peple is send via email somewhere.
Basically I would like to have a one big process that runs constantly without interuption. Within this process there would be 2 subprocesses (1. and 2.) that can be repeated
infinite number of times. Finally every week, a subprocess is run that provides 2. with some data.
Is this a good design, what kind of jbpm nodes and mechanisms should I use. I initially see a few issues:
a) How to constantly reapet a subprocess?
b) in 4. I would like human task server to manage the human tasks, but I don't know how many human task nodes to put in the process definition since the number of them
and the actor ids are decided on runtime
I'll be thankfull for your suggestions about the design.