DId you have a chance to look at this KB Article: “Sharing web services across Composite Applications”
It discusses creating a Utility project (that has java types in it) that can be reused across different CAF applications.
Now, if you’re trying to share common state across applications, you’ll have to use code like the following to get/set that common object:
public static BreadcrumbModel getBreadcrumbModel(FacesContext facesContext) {
#MWS-CAF-Task-Engine#webMethods#webMethods-BPMS