Skip to content

Stock and Source Configuration design

Igor Miniailo edited this page Jul 16, 2018 · 30 revisions

Table of Contents

CQRS in Source and Stock APIs

The main technical concept we follow in MSI arhitecture is to segregate Command and Query APIs. In our case the role of Query APIs plays StockItem related interfaces and services, as the StockItem entity is an aggregated indexed data among the physical locations (Sources), so that StockItem data is calculated based on the data we have per Source level. This concept has been used for Quantity and Salability status calculation, that's why Magento front-end which works only with Stock Services (i.e. IsProductSalableInterface, IsProductSalableForRequestedQtyInterface, GetProductSalableQtyInterface) is agnostic to the fact whether Magento is Single or Multi-Source under the hood, and the number of sources from which given Stock consists of don't affect the system performance. You can get more details about this concept from video of CQRS and EventSourcing webinar

MSI Documentation:

  1. Technical Vision. Catalog Inventory
  2. Installation Guide
  3. List of Inventory APIs and their legacy analogs
  4. MSI Roadmap
  5. Known Issues in Order Lifecycle
  6. MSI User Guide
  7. DevDocs Documentation
  8. User Stories
  9. User Scenarios:
  10. Technical Designs:
  11. Admin UI
  12. MFTF Extension Tests
  13. Weekly MSI Demos
  14. Tutorials

Clone this wiki locally