The "EMC Documentum Foundation Classes Version 6.6 Development Guide" states on page 120:
Deploying module interfaces
You must deploy the interface classes of your modules to each client machine, that is, to each machine running an instance of DFC. Typically, you install the interface classes with the application that uses them. They do not need to be on the global classpath.
On the other hand there is the interface JAR that needs to be added to the modules definition in Composer.

So do I really have to add a interface JAR in the Composer? If I do so I get often a ClassCastException if i try to this in my WDK application:
IMyModule myModuleService = (IMyModule) client.newService(IMyModule.class.getName(), getSession().getSessionManager());
I understand the reason of the ClassCastException. My WDK application loads the interface class from the JAR that I manually deployed to .../WEB-INF/lib (Thread context class loader = Tomcat class loader). The DFC loads the interface JAR from the docbase (BOF class loader parent first) and now we have a problem. The same class in two different class loaders cause the ClassCastException. For more details look at blog of Don Robertson http://donr7n.wordpress.com/2008/07/03/i-got-an-exception-i-hate-bof/
I can avoid the problem through removing the interface JAR from module definition. But in that case the DAR Installer complains about the missing interface (only a warning that can be ignored).
So I ask the audience what is the best practice for handling interfaces for BOs?