Dynamics 365 for Retail (Часть 2)

Начало

Архитектура Commerce Runtime

Commerce Runtime это коллекция .Net библиотек, которые содержат бизнес-логику.

Архитектура Commerce Runtime

Data access

Доступ к базе данных осуществляется через Data Access Layer. На данном уровне необработанные данные преобразуются в объекты. Например, объект — это продукт. Продукт имеет атрибуты, такие как цена и цвет. С помощью функций работы с объектами данных можно управлять объектами. Хранимые процедуры передают пакеты данных в объекты данных, которые затем могут быть использованы службами и рабочими процессами. Пакеты данных можно изменять, например, добавить новое поле.

Блок бизнес-логики (Business logic) включает в себя сервисы (Services) и рабочие процессы (Workflows).

Services

Сервисы работают с данными в реальном времени. Функциональность работы сервиса можно изменить или добавить новые сервисы с новой функциональностью.

Workflows

Рабочие процессы – это коллекции сервисов и бизнес-логики, которые вместе определяют бизнес процесс. Например, когда клиент добавляет товар в корзину он использует рабочий процесс, который получит цену и проверит наличие необходимого количества на складе, посчитает налог и скидку. Можно использовать существующие процессы, а можно создать свои. Так же рабочие процессы могут использоваться для взаимодействия с внешними системами и это будет являться частью бизнес процесса.

API

Чтобы получить внешним приложениям доступ к рабочим процессам Retail Server существует Client API. Через API можно запрашивать информацию о товаре, рассчитать стоимость доставки, размещать заказы. API можно расширять по требованиям бизнес процесса.

Сервисы, загружаемые в Commerce Runtime, настраиваются в конфигурационном файле xml. В файле сервисы перечислены как типы. Загружаются сервисы в том порядке, в котором они указаны в файле конфигурации. Если создан новый сервис, то его необходимо указать в конфигурационном файле.

Commerce Runtime обменивается данными с Retail HQ через службу Commerce Data Exchange (CDX).

Архитектура Commerce Data Exchange

Commerce Data Exchange (CDX) – это система обмена данными между Retail HQ и розничными каналами, такими как E-Commerce или POS. База данных, которая хранит данные для розничного канала существует отдельно от базы данных Retail.

Архитектура Commerce Data Exchange

База данных канала хранит только данные, которые необходимы, чтобы обеспечить операционные транзакции. Основные данные настраиваются в Retail HQ и затем распределяются по розничным каналам. Данные о транзакциях создаются в POS или E_Commerce и затем выгружаются в Retail HQ. Распределение данных происходит асинхронно. Другими словами, процесс сбора и упаковки данных у отправителя происходит отдельно от процесса получения и применения их у получателя.

Async Service

Используются средства Microsoft SQL Server для отслеживания изменений в базе данных Retail, которые необходимо отправлять в розничные каналы. Основываясь на графике распределения, Retail HQ упаковывает эти данные и сохраняет в центральном хранилище (Azure Blob Storage). Отдельный пакетный процесс используя CDX: Async client library вставляет эти пакеты данных в базу данных розничного канала.

Async Service

График распространения данных основывается на планировщике для розницы (Retail Scheduler). Планировщик для розницы — это механизм распространения данных из/в локацию.

Планировщик состоит из заданий.

Sheduler Job

Задания включают в себя под задания, в которых указываются таблицы и поля таблиц, которые содержат данные к передаче.
Retail HQ включает предопределенные задания и под задания, которые рекомендованы для большинства организаций.

Sheduler Subjobs

Типы предопределенных заданий:

    — Download jobs — отправляют измененные данные из Retail HQ в базу данных каналов. Модификация записей отслеживается с помощью средств Microsoft SQL Server.

    — Upload jobs (P jobs) – отправляют данные о продажах из базы данных каналов в базу данных Retail HQ. Данные выгружаются инкрементно. Async client проверяет счетчик репликации для записей, которые уже были получены из точки. Если счетчик репликации больше чем наибольшее найденное значение, то запись загружается. Ранее загруженные данные не обновляются.

Для некоторых ситуаций, таких как цена или наличие на складе, данные должны быть получены в реальном времени. CDX поддерживает такие сценарии. Система включает в себя сервис, который может производит обмен данными между Retail HQ и розничным каналом в реальном времени.

Real-time Service

Real-time Service – это интегрированная служба, которая обеспечивает связь в реальном времени между Retail HQ и каналами розницы.

Real-time Service

Служба включается на отдельном POS-компьютере или E-Commerce, чтобы получить определенные данные из Retail HQ. Хотя большинство ключевых операций могут быть выполнены с использование локальной базы данных канала, существуют сценарии требующие прямого доступа к данным, которые хранятся в базе данных Retail HQ:

    — подарочные карты;

    — количество бонусов;

    — остатки на складе;

    — выдача или погашение кредита.

  Источник: docs.microsoft.com

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar