Я думаю, вы должны сначала задать свой вопрос в своей организации (воспользовавшись тем, что вы новичок в работе).В конце концов, ваша организация должна знать, почему они разработали приложение так, как они это сделали.
Тем не менее, я рискну предположить (и только предположить, поскольку вы расплывчаты в деталях): приложение, которым вы сейчас занимаетесьНа первый взгляд, сложность и цель всего лишь на шаг выше, чем то, над чем вы работали раньше.Если вы присмотритесь, я думаю, вы снова найдете слой DAO, Service и UI - однако они больше не будут находиться в одном приложении.Вместо этого вы, вероятно, обнаружите, что пользовательский интерфейс вставлен в выделенное клиентское приложение, а сервер реализует уровни Service и DAO.Одним из непосредственных преимуществ является то, что серверный компьютер может быть полностью выделен для обслуживания данных, в то время как пользовательский интерфейс обрабатывается на компьютерах пользователей.Вы также можете обнаружить, что некоторые из ваших клиентов приложений вовсе не люди, а другие компьютерные системы (которые по логике не нуждаются в пользовательском интерфейсе).
Редактировать, чтобы ответить на последующий комментарий Эли:
Короткий ответ: это зависит.
Первое, что я бы сделал при проектировании системы Enterprise, - это нашел людей с большим опытом в подобных вещах.Но если оставить в покое мои собственные устройства, я начну с рассмотрения того, что должна делать система;сколько пользователей 50M находятся в сети одновременно;какой интерфейс требуется и так далее.На основе этой информации я бы затем разработал исходную архитектуру и решил, какие технологии использовать.
По всей вероятности, я бы использовал Springs и Hibernate для внутренних функций сервера, поскольку обе технологии являются мощными, хорошо зарекомендовавший себя, но еще и потому, что я с ними немного знаком.Вопрос «EJB-или-нет» снова будет зависеть от обстоятельств - однако обратите внимание, что можно использовать средства EJB просто для реализации взаимодействия клиент-сервер, тогда как остальная часть системы написана более легким способом.