Мои классы домена и логика персистенции (Hibernate) находятся в одном проекте под названием модель. Эта банка включена во все мои приложения.
Упаковано com.company.model & com.company.persistance
Другой Utils.jar - содержит общие вспомогательные классы DateTime, String, Thread и т. Д. Это снова включено во все мои приложения.
Упаковано com.company.utils
У меня есть приложение CXF / Spring, которое предоставляет сервисы для манипулирования моими данными. Функциональность CRUD, ВСЕ другие общие функции. Это путь к моей базе данных для любого приложения, разработанного.
Пакет com.company.services и работает на сервере приложений Glassfish
У меня есть другие приложения, которые используют веб-сервисы (Spring Injected) для манипулирования моими данными. Включая веб-приложение, которое будет использовать виджеты YUI и XML / JSON из веб-служб для создания приятного гладкого интерфейса.
Я понимаю, это не совсем вопрос! Я полагаю, я ищу подтверждение того, что именно так другие проектируют свое программное обеспечение. Если моя архитектура имеет смысл, логичный смысл! Очевидно, что существуют проблемы с безопасностью - я хочу, чтобы некоторые приложения имели доступ только к сервису x. Я займусь этим позже.