We're going to be making a decision on the presentation layer of our application framework soon. The back end is EJBs delivering data to the presentation in XML form (via Session Beans). We've narrowed it down to Barracuda or Cocoon based on our needs (must be open source, must be an XML publishing framework) and based on what seems to be best supported.
Cocoon seems the more traditional of the two, it's basically a page-driven publishing framework, and I'm sure our web designers can pick up XSL quickly enough. Barracuda, though, with its component-based design seems really cool with the promise of making UI design for the web more similar to UI design for standalone applications. I'm just not sure whether a component-based approach is practical for web applications of high complexity (i.e. business portals for large companies). Has anyone had experience with either framework that might be relevant to these needs?
I don't know barracuda, but I've use both Cocoon 1 and 2 as a front end connected to an EJB layer. The thought that Cocoon is a page driven framework, is right for Cocoon 1.
In Cocoon 2 you should assemble pages based on reusable elements and patterns.
Because web design and normal app design differ I think the normal XML/XSL transformation together with all kinds of components to influence presentation logic is a great way to design web apps. If you want to design normal apps and webapps the same way, I'd look for a way to make a normal app look more like a webapp than the other way around.
Thanks for the tip! May I ask, what did you use "between" Cocoon and EJB to get the two talking to each other? I've been planning to build a custom Producer, but I don't know if that's the right approach.