The storage in the DB is the most important thing. If you do not deploy the process from the seam app, but separately (e.g. via ant, the jBPM console or even via sql scripts (e.g. generated from your dev machine), several seam apps can share this processdefinition. They do share the same processinstances also then. Configuring these different apps with the jbpm jar in them is nothing more than pointing them to the shared db.