Сообщество RSS DEV

SmartOrder — Часть 3: Внутри сервиса заказа

Служба заказов, критически важный ограниченный контекст в системе SmartOrder, управляет жизненными циклами заказов и связанными данными. Это многомодульный проект Maven с отдельными модулями для API, загрузки и бизнес-логики. Модуль API определяет публичный интерфейс службы, используя контракт OpenAPI для генерации кода. Бизнес-модуль содержит доменную модель, прикладной уровень и адаптеры инфраструктуры, включая Drools для применения бизнес-правил. Бизнес-правила, включая автомат состояний заказа, определены в файлах Drools .drl для гибкости. Механизм правил использует шаблон Strategy для инкапсуляции различных вариантов использования и предотвращает утечки памяти. API разработан по принципу "контракт-в первую очередь", с пользовательскими расширениями поставщиков и шаблонами Mustache для преодоления ограничений стандартной генерации OpenAPI, добавляя поддержку HATEOAS и пагинации. Служба использует HAL-FORMS для ответов API, предоставляя машиночитаемые описания доступных действий. Наконец, доменные события публикуются через шаблон исходящей коробки для обеспечения согласованности данных.
favicon
dev.to
SmartOrder — Part 3: Inside the Order Service
Изображение к статье: SmartOrder — Часть 3: Внутри сервиса заказа