We have a server application that exposes a certain model, and set of services built on that model, to a particular client UI through a number of protocols. This is the kind of
Naked Objects, OpenXava and Spring Roo, all can do what you are looking for.