У меня есть вопрос, который я так и не смог решить:
Учитывая эти две архитектуры
1-й
UI layer
|
Application layer
|
Domain Layer
|
Infrastructure Layer
2-й
Client Tiers
|
Presentation Tiers
|
Business Tiers
|
Integration Tiers
|
Resources Tiers
В чем разница между ними.
Где сущностные бины лежат в этой архитектуре.Если у меня есть бизнес-уровень с объектом, который реализует бизнес-логику, зачем мне добавлять поведение в бинах сущностей.Я где-то читал, что использование модели предметной модели без поведения - это нехорошо.
Спасибо
Обновление
Это фактически проект (обучение), что мне нужно сделать, чтобы получить MS в распределенных системах.
Это на самом деле технологии, которые я использую
Struts 2 JPA HSQLDB
Так что, если я хорошо понимаю
Мое приложение состоит из
Уровень клиента (веб-браузер) Уровень представления (структуры 2) Бизнес-уровень (POJO + JPA) Уровень интеграции (с DAO гибернации) Уровень ресурсов (HSQLDB)
Но так как уровень представления, бизнеса и интеграции реализован на одном сервере (tomact), у меня есть только трехуровневая архитектура.Я прав?
Что касается поведения в моих объектах JPA, обычно это то, что я обычно делал: иметь дао для каждой сущности JPA.Иметь компонент (например, EJB), который будет управлять требуемой бизнес-логикой.Поэтому я никогда не определяю поведение объектов JPA.
Скажем, например, что я хотел сделать запрос на покупку.У меня был бы CatalogueManager, который помог бы мне взаимодействовать с предметами, поставщиками.У меня также был бы EmployeeManager, который помог бы мне взаимодействовать с сотрудниками.И, наконец, PurchaseRequestManager, который будет использовать два предыдущих бизнес-объекта для создания PurchaseRequest.
Теперь вы говорите мне о том, чтобы поместить методы, которые есть у меня в PurchaseManager, в сущность JPA PurchaseRequest и сделать то же самое.чтобы методы в EmployeeManager => поместили их в сущность JPA сотрудника.
Но что произойдет, если мой объект сотрудника также будет использоваться для отдела кадров, мне также нужно было бы поместить туда другие методы.Для большого приложения у меня было бы много методов в сущности JPA сотрудника.Разве это не будет контрпродуктивно?
спасибо