I think I found some answers after trwaling through the code and user forum. I would like to share them and see if anyone has got any comments:
1. Clustering and Server deployment - Use a Spring bean to bootstrap jBPM using knowledgeBase api and restore Session from Database if it already exists. This bean will act as a Factory for KnowledgeSession.
To benefit from all clustering features, I would ideally need to keep one instance of Session across the cluster.
Questions:
a) What is the best way to configure the session, especially when processes instances are not shared?
2. Dashboard support - I would need to build my own Dashboard with our preferred UI technology, however I could use org.jboss.bpm:gwt-console-server for REST api(with plugged-in custom services)
3. Event management - I would need to make use of tasks(workItems)/events and another business layer to keep mapping between event meta-data to processInstance, workItem/eventId etc.. So when an business event occures I would be able to locate process instance then make following call to move it forward -
ksession.
getWorkItemManager().completeWorkItem(workItemId, parameters);
As always any comments are highly appreciated.