I started developing Java web applications and frameworks since J2EE debuts (servlets), first working on a distributed http bench solution based on RMI and providing dynamic scripting, then creating an advanced object to relational mapping tool.
I used most MVC frameworks (WebObjects, Struts, JSF, Wicket) and J2EE technologies (mapping, asynchronous connectors, BPM) on many projects, finally looking at MDA and agile development, by providing organization procedures targeted to SOA approach and industrialization of development (maven best practices and tools, development of custom Eclipse plugins, etc.).
Cappuccino framework added modern and productive client side framework, bringing advanced design patterns and features. I then worked on a bridge from Cappuccino to SOA based server side, also adding MDA features. Working on a real application allowed to enhance the solution.