Архитектура типового Enterprise приложения
История: от магического сервлета до наших дней
Архитектура слоев приложения
Зоны ответственности слоев
Архитектура модулей
Пример структуры
110.01K

Архитектура типового Enterprise приложения

1. Архитектура типового Enterprise приложения

2. История: от магического сервлета до наших дней

Магический
сервлет
(все в одном)
UI-логика
(интерфейса
пользователя)
Не-UI логика
Доступ к
данным
DAO (DAL,
Repository)
• UserDao
• ContractDao
Бизнес-логика
Services
• AdminServic
e
• ContractMan
agementServ
ice
Доменная
модель
Domain
Model
• User
• Contract
Представление
Интерфейсная
Модель
Controllers
Views
Forms
(Commands)
• ListUsersCon
troller
• CreateEditUs
erController
• userlist.jsp
• createeditus
er.jsp
• SearchUserF
orm
• UserForm
Контроллер

3. Архитектура слоев приложения

UI Layer
Слой интерфейса пользователя отвечает за взаимодействие с пользователем
Views
Controllers
Forms
X
Service Layer
X
Слой сервисов приложения отвечает за выполнение бизнес-логики
приложения
Services
Data Access Layer
Отвечает за работу приложения с БД
Data Access
Objects (DAOs)
Domain
Model
Объектная
модель
данных
приложения
Domain
entities

4. Зоны ответственности слоев

Data Access
• Примитивные операции с базой данных (CRUD)
Services
• Реализация бизнес-логики
• Один публичный сервис-метод – одна бизнес-транзакция (use case)
Domain Model
• Модель предметной области приложения (сущности и связи)
• Может содержать доменную (общую для всех use case) бизнес-логику
• Может содержать аннотации для отображения на реляционную модель
Controllers
• Интерфейская логика user-case.
• Вызывает методы сервисов для подготовки экрана или выполнения действия пользователя
Views
• Шаблоны экранных форм
Forms
• Модели экранных форм

5. Архитектура модулей

app-web.war
(controller, form, jsp)
app-services.jar
(dao, model, services)

6. Пример структуры

English     Русский Правила