Retail Architecture
Note: Retail SDK contains samples for customizing the
individual retail component.
Microsoft Dynamics 365 provides a large range of solutions
for MNC and SME daily operational tasks, among these Retail is one module that
is used for retail store and operations management in a simplified and unified
manner. Dynamics 365 for Retail is comprised of multiple parts which combined
together forms up a complete retail solution which are:
Retail Headquarter:
Retail
headquarter handles processes including but not limited to retail stores and
channels management, Catalog management, Store wise assortments, Sales
transactions, Pricing etc. It acts as a communication point between the retail
stores, ecommerce stores and the head office. It is D365 for finance and
Operations.
Channels:
Channels
are the retail stores which can be a physical entity or an ecommerce online
store. Channels are the main end point for the retail operations. They are
composed of retail point of sale (pos) and hardware stations. A channel may
contain a retail server as well but not necessary.
Retail POS:
Retail
POS is the point of sale for the end to end business operations. Dynamics 365
for Retail offers two type of POS
Modern
Point of Sale (MPOS)
Cloud
Point of Sale (CPOS)
MPOS is a device based point of sale which can be deployed
on a supported PC, tablet or phone. CPOS is a cloud based solution which is deployed
on the cloud and accessed through a browser.
Retail store scale unit:
Retail
Store Scale Unit (RSSU) is comprised of attributes which provide retail operations
capabilities to the stores where constant internet connectivity is not
available. RSSU keeps in sync with the retail headquarter when internet
connectivity is available.
Hardware Station:
Hardware
station is a server that provides centralized connectivity between the POS and
hardware peripherals devices (printers, cash drawers etc). Hardware station can
also be dedicated, which are peripherals directly connect to the MPOS without an
intermediate server.
Retail Server:
Retail
Server is comprised of a set of APIs which can be accessed in order to perform
operations through POS or online stores.
The main component of retail server are
Entity Type
An
entity is just like an oop class it has a state which is to be monitored
example a Customer
Complex Type
A
complex type is an ODATA concept which groups related information into one that
can be reused by multiple entity types.
Controller
A
controller is a Web Api which contains actions which control the CRUD
operations for the entities. A controller must be related to only one entity
type.
Metadata
Defines
a contract between the client and server.
We can customize a controller or create new controller,
entity type and complex type as per our need in the retail server.
Commerce Runtime (CRT):
Commerce
Runtime is the core engine which performs all the core business operations and
contains the business logic for retail. It is comprised of multiple layers that
are data access layer, workflow layer, service layer and API layer.
Commerce Data Exchange (CDX):
Performs
the synchronization between the retail store and head quarter. It is comprised
of real time services and async services. The real-time services are
responsible for performing task such as issuing and redeeming a gift card, make
payment through loyalty card, Inventory Lookup, while the async services are
responsible for data exchange between the channel database and the retail head
quarter.
Reatil Request Life Cycle:
When
an operation request is generated by the POS it calls a retail server Web Api
which then based on the request type calls the required service, workflow, trigger
or any CRT api. Which then generates a response and provides it back to the
POS.
check out introduction to retail sdk here.