Mauricio,
Thanks for the indication of the camel route, but in our case we need several features of a workflow system.
Although you have mentioned that our requirements can be modeled with jBPM5 I have doubts on how to do such things.
For the requirement 2 (maximum number of executions in parallel by activity type) we guess in create a intermediate priority queue (a JMS queue, a table, etc) for each different type of activity we need to limit (in this case the activity of the jBPM just put a 'task' in this queue). For each queue we would have a thread pool where we could do the necessary settings (ex: maximum number of threads).
What do you think of this solution?
Regarding requirement 1, we don't have a workaround for this, since we no found a way to prioritize a particular instance of a process without a non-intrusive change in the code of jBPM.
Do you know how to model this with jBPM5?