is there a best practice on debugging applications which make use of activiti? For example what's the easiest way to make distinction between problems in the workflow and possible problems in the beans' implementation appearing in the flow? Is there some easy way to trace/debug the workflow?
First of all, you have traditional logging, just put the log level low enough and you'll see Activiti spit out MB's of debug information.
Secondly, since Activiti is just a jar, you can debug as you are used to: for example on Tomcat, enable the remote debugging port and attach an Eclipse listener. Debugging Activiti processes is with other words exactly the same as debugging Java code.
Having all the log messages should give you indeed a way of visualizing what happened in the history. This can also be acomplished using the history data in the Activiti tables.