Перейти к основному содержимому

Архитектура

Основные архитектурные подсистемы WMS.

РазделОписание
Конвейер обработки документовЯдро системы: 14-шаговый pipeline сохранения документов
Система движений и регистровСкладской учёт: движения, регистры, координаты
Конструктор формДекларативное описание UI-форм (ListTemplate/EditTemplate)
Event-driven архитектураСобытийная модель, типы событий, подписки

Общие принципы

Многослойная архитектура

Controller → Service → Repository → Database
↓ ↓
DTO DocManager → MovementManager → Registry

Events → Listeners

Ключевые паттерны

  1. Template MethodBaseDocManager и BaseDocItemManager определяют конвейер обработки, наследники переопределяют hook-методы
  2. RegistryDocManager, EntityServiceManager — реестры менеджеров/сервисов, автоматическая регистрация при старте
  3. Event-driven — документы публикуют события, слушатели распространяют изменения
  4. Soft Delete — все документы поддерживают мягкое удаление через isDeleted + Hibernate @Filter
  5. Multi-tenancy — изоляция данных мерчантов через @Filter(name = "merchantFilter") + MerchantFilterAspect
  6. Optimistic Locking + Retry@RetryIfOptimisticLock для автоматического повтора при конфликтах
  7. State Machine — Spring Statemachine 4.0.0 для workflow документов с персистенцией состояний