Я бы определенно поместил бизнес-логику в сессионные компоненты без сохранения состояния. Сессионные компоненты без сохранения состояния хороши тем, что они хорошо фиксируют границы транзакций. И он отделяет слой View от слоя постоянства.
Позаботьтесь о том, чтобы методы SSB соответствовали целям малого бизнеса, которых хочет достичь пользователь.
Другой момент заключается в том, что вы должны быть уверены, что возвращаемые вами данные содержат все данные в дереве объектов, и вы не полагаетесь на ленивую загрузку, чтобы получить остальное, потому что это вызывает все виды проблем.
Держитесь как можно дальше от Stateful Session Beans: это плохие новости и неправильная концепция в контексте веб-приложения.
Для длительной работы рассмотрите возможность использования управляемых сообщениями компонентов, которые вы запускаете, отправляя сообщение JMS. Это хороший способ сделать фоновую обработку, которая быстрее освобождает бизнес-логику, сокращает транзакции и быстрее возвращает управление конечному пользователю.