From a UI building rapid productivity I’m pretty sold on Vaadin. The documentation is really good, the components look great, and I feel I can build something pretty quick, even though I’ve spent not a lot of time with Vaadin.
However, the missing puzzle piece for me at the moment is where to place business logic especially in conjunction with using the persistent container aspect of Vaadin. For example, if I show a record, and then allow the user to update it, where would I put the logic to validate whether that user should be able to update the record back on the server-side, obviously the client should not allow this, but it also seems the server needs to enforce it.
Another case would be for workflow, the user shouldn’t be able to change the state to certain other states, etc, or it needs to send an email, etc. It looks like the logic gets kind of buried in the container. I imagine there is a “best practice” around this, I just really haven’t found many examples surrounding the container persistence it seems, at least in regard to business logic.
So the short question is:
Using a persistent container, where should business logic go? (ie. on hibernate beans, or ?, what’s best practice?)
J