Это веб-приложение CRUD, которое я написал для своего работодателя за последние несколько лет и теперь получил разрешение на его использование с открытым исходным кодом:
https://github.com/fhcampuswien/atom
Он использует GWT для внешнего интерфейса и Hibernate для сохранения данных в бэкэнде. Структуру данных нужно определять только в одном центральном месте (классы DomainObject), поскольку как GUI, так и внутренний интерфейс написаны общим способом, который не зависит от структуры данных.
Я хотел бы услышать комментарии или ответить на вопросы об этом, если кто-нибудь найдет время, чтобы взглянуть.