This is how we use it regarding the bpm functionality (i.e. management of tasks assignments to users, groups, deadlines, escalations etc). The application forms and business logic along with the model is in server A i.e. tomcat, glassfish and jbpm5.1 runs in jboss5. The communication is implemented through the jbpm5.1 REST web services API and a little customization of jbpm in order to ensure some transactions by writing directly to the jbpm database through the implementation of the integration point. The customization of jbpm is basically to enrich a little the REST API and have some bootstrap code to start processes or long custom tasks in case the jbpm server is/goes down when communicating.