0% found this document useful (0 votes)
175 views

CommerceSDK Overview

This document provides an overview of the new Commerce SDK and sealed extensions for CRT and POS. It discusses setting up a commerce development environment and developing headless commerce and POS extensions. The architecture overview shows how extensions fit into the Dynamics 365 Commerce component architecture across back office, in-store, and e-commerce environments. Key points include the new Commerce SDK components being published to a public feed with samples on GitHub, and templates for developing headless commerce and POS extensions.

Uploaded by

ArthurHwang
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
175 views

CommerceSDK Overview

This document provides an overview of the new Commerce SDK and sealed extensions for CRT and POS. It discusses setting up a commerce development environment and developing headless commerce and POS extensions. The architecture overview shows how extensions fit into the Dynamics 365 Commerce component architecture across back office, in-store, and e-commerce environments. Key points include the new Commerce SDK components being published to a public feed with samples on GitHub, and templates for developing headless commerce and POS extensions.

Uploaded by

ArthurHwang
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

Overview of the CRT

and POS Extension


with the new Sealed
SDK

Luke Graham
Mugunthan Mani
1
Dynamics 365 Product
guidance
Implementation Guide General Case
guidance studies
Collective experience gained through
thousands of Dynamics 365 implementations

References to Guide Checklists


other guidance Experience

Highlights Recommended
deliverables
Conceptual
graphic
support

Available at: https://aka.ms/d365implementationguide


2
Agenda
❑ Overview of Commerce Extension.
❑ New Commerce SDK Overview.

❑ Setup Commerce Development Environment.

❑ Develop Headless Commerce Extensions.


❑ Extension installers.

❑ Develop POS Extensions.

❑ Session Takeaways
❑ Q & A.

3
Architecture Overview

4
DYNAMICS 365 COMMERCE
COMPONENT ARCHITECTURE

ENVIRONMENT BACK OFFICE/HEAD OFFICE OPERATIONS IN-STORE COMPONENTS E-COMMERCE WEBSITE VISIT SITE DESIGN & ADMINISTRATION
ADMINISTRATION

IT PRO CALL CENTER AGENT BACK OFFICE USER STORE ASSOCIATE CLOUD POS MODERN POS E-COMM CUSTOMER SITE DESIGNER CONTENT AUTHOR
w/OFFLINE

HARDWARE
LCS WEB PORTAL HQ CLIENT: CALL CENTER HQ CLIENT: BACK OFFICE IOS POS ANDROID POS E-COMM WEBSITE E-COMM SITE BUILDER WEBSITE SITE BUILDER WEBSITE
STATION
MOBILE WEB

ENVIRONMENT BACK OFFICE COMMERCE CORE RUNTIME E-COMMERCE WEBSITE SITE DESIGN & ADMINISTRATION
ADMINISTRATION

DYNAMICS 365 COMMERCE WEB SITE BUILDER


COMMERCE HQ SCALE UNIT STOREFRONT

DYNAMICS 365
SUPPLY CHAIN
LIFECYCLE SERVICES
(ADMIN PORTAL)

DYNAMICS 365 COMMERCE AI CLOUD POWERED DIGITAL ASSET


FINANCE SEARCH MANAGEMENT

DYNAMICS 365 CUSTOMER DYNAMICS 365 RATINGS & REVIEWS


HR INSIGHTS FRAUD PROTECTION

POWER BI AZURE DATALAKE COMMON DATA DYNAMICS 365 DYNAMICS 365 DYNAMICS 365 DYNAMICS 365 DYNAMICS 365 POWER APPS
STORAGE SERVICE MARKETING SALES CUSTOMER SERVICE FIELD SERVICE PROJECT OPS.

UNIFIED DATA PLATFORM

5
COMPILATION

EXTENSIBILITY OVERVIEW
COMPILATION DEVELOPER EXPERIENCE
DYNAMICS 365 FIN & OPS EXTENSION E-COMMERCE EXTENSION HEADLESS COMMERCE & POS EXTENSION

FIN & OPS APP E-COMMERCE HEADLESS COMMERCE HEADLESS COMMERCE MODERN POS
DEPLOYMENT EXTENSION PACKAGE EXTENSION PACKAGE EXTENSION PACKAGE ON-PREM INSTALLER ON-PREM INSTALLER

Runtime/Service Extension Modules, Themes, Data Actions POS UI & Runtime Extension Commerce Runtime Commerce Runtime

Database Extension Configuration Runtime / API Extension Channel Database Schema Channel Database Schema

Modules, Themes, Data Actions Database Extension POS UI & Runtime POS UI & Runtime

DEPLOYMENT Runtime / API Extension Runtime / API Extension

Database Extension Database Extension

POS UI & Runtime Extension POS UI & Runtime Extension

DEPLOYMENT & SERVICING EXPERIENCE


DYNAMICS 365 LIFE CYCLE SERVICES ON-PREM MASS DEPLOYMENT INFRASTRUCTURE
MICROSOFT OWNED AND MANAGED CUSTOMER OWNED AND MANAGED

DEPLOYMENT & SERVICING EXPERIENCE


DYNAMICS 365 E-COM STOREFRONT COMMERCE SCALE UNIT COMMERCE SCALE UNIT MODERN POINT OF SALE
FIN & OPS APPS RENDERING <…> CLOUD-HOSTED SELF-HOSTED
Service Fabric / Azure SQL Azure Web App / Node JS Azure Web App / Azure SQL IIS / SQL Server Windows App / SQL Express
DEPLOYMENT
EXTENSIONS EXTENSIONS EXTENSIONS EXTENSIONS EXTENSIONS

6
Commerce SDK Overview

7
Commerce SDK

Packages published to the public feed.

Samples available in GitHub.


Components Commerce SDK Old SDK (Retail SDK available in LCS Dev VM)

Reference libraries Published in the public feed. Published in the Retail SDK\Pkgs

Samples GitHub Retail SDK\Samples

Packaging tools Packages available in the public feed to generate packages. Retail SDK\Packages

Dev Environment Scripts available in GitHub Preconfigured in LCS Dev VM

POS Templates available in GitHub POS.App/Extension project available in Retail


SDK\POS
Installers New Sealed Extension installer framework (packages Retail SDK\Packages (Combined installer).
required to generate the installer are available in public
feed)
Build pipeline Sample scripts available in GitHub Based on the dirs.proj file available in the Retail
SDK

8
Commerce SDK

Why?

❑ Seamless update experience.


❑ Improved performance using the new ASP. Net Core 3.1.
❑ Sample Extensions are published to GitHub
❑ The new Sealed installers are headless.
❑ Automated packaging and configuration of extensions.
❑ Improved build times.
❑ Improved Dev experience, using VS Code for CSU extensions.

9
Setup Commerce Development Environment

10
Setup Local Commerce Development Environment

Pain points

▪ Tightly coupled with LCS VMs.


▪ Requires AOS.
▪ Deployment and Update process takes hours.
▪ VM COGS.
▪ Need Visual Studio 2017 for CSU development.

11
Setup Local Commerce Development Environment

Benefits

▪ New Sealed Installers framework to setup and deploy extensions.


▪ F5 like Developer experience using Visual Studio Code.
▪ Lightweight Scale Unit without AOS, RTS and CDX
▪ Support for full scale CSU.
▪ No dependency with LCS Dev VM, faster updates and deployment.
▪ Reduces COGS.

12
Demo - Setup Commerce Development Environment

13
Headless Commerce Extension

14
HEADLESS COMMERCE
SAMPLE NATIVE APPS HEADLESS SAMPLE THIRD PARTY
AND SERVICES COMMERCE APPS AND SERVICES

AZURE WEB APP / IIS WEB SERVICE

E-COMMERCE ODATA ENDPOINT THIRD-PARTY


STOREFRONT / POS NATIVE APP OR SERVICE
Search Controller Cart Controller Loyalty Controller Shipping Controller Ext
HTML / JavaScript App

Typescript Proxy Payments Controller Pricing Controller … Tax Controller Ext C# Proxy

MIDDLEWARES

Authentication Authorization Exception Handling …

THIRD-PARTY
COMMERCE RUNTIME
SHIPPING SERVICE

Search Service Order Service Loyalty Service Shipping Service Ext


DYNAMICS 365
FRAUD PROTECTION THIRD-PARTY
Fraud Protection Service Pricing Service Customer Service Tax Service Ext
TAX SERVICE

Recommendations Serv. Shifts Service … Gift Card Service Ext


RECOMMENDATIONS
SERVICE THIRD-PARTY
GIFT CARD SERVICE
Transaction Service Caching Service SQL Data Service …
DYNAMICS 365
FIN & OPS APPS

AZURE SQL / SQL SERVER

CHANNEL DATABASE

Commerce Runtime Schema Commerce HQ Schema Extension Schema

15
COMMERCE RUNTIME

COMMERCE SCALE UNIT COMMERCE SCALE UNIT MODERN ARCHITECTURAL


CLOUD-HOSTED SELF-HOSTED POINT OF SALE HIGHLIGHTS
AZURE WEB APP IIS WINDOWS APP Symmetric and portable architecture
1
that is independent from the host.
ODATA ENDPOINT ODATA ENDPOINT UI LAYER
Composable to fit the context of the
OOB Controllers OOB Controllers 2
hosting application.
Extension Controllers Extension Controllers
Highly extensible with request
3
handlers and pre/post triggers.
MIDDLEWARES MIDDLEWARES NATIVE CLIENT BROKER

COMMERCE RUNTIME COMMERCE RUNTIME COMMERCE RUNTIME

OOB Services OOB Services OOB Services

Common Extensions Cloud Extensions Common Extensions On-Prem Extensions Common Extensions Offline Extensions

AZURE SQL SQL SERVER SQL EXPRESS / SQL SERVER

CHANNEL
CHANNEL DATABASE
DATABASE CHANNEL
CHANNEL DATABASE
DATABASE OFFLINE
CHANNEL DATABASE
DATABASE

OOB Schema OOB Schema OOB Schema

Extension Schema Extension Schema Extension Schema

16
COMMERCE RUNTIME

COMMERCE SCALE UNIT COMMERCE SCALE UNIT MODERN ARCHITECTURAL


CLOUD-HOSTED SELF-HOSTED POINT OF SALE HIGHLIGHTS
AZURE WEB APP IIS WINDOWS APP Symmetric and portable architecture
1
that is independent from the host.
ODATA ENDPOINT ODATA ENDPOINT UI LAYER
Composable to fit the context of
OOB Controllers OOB Controllers 2
the hosting application.
Extension Controllers Extension Controllers
Highly extensible with request
3
handlers and pre/post triggers.
MIDDLEWARES MIDDLEWARES NATIVE CLIENT BROKER

COMMERCE RUNTIME COMMERCE RUNTIME COMMERCE RUNTIME

OOB Services OOB Services OOB Services

Common Extensions Cloud Extensions Common Extensions On-Prem Extensions Common Extensions Offline Extensions

AZURE SQL SQL SERVER SQL EXPRESS / SQL SERVER

CHANNEL
CHANNEL DATABASE
DATABASE CHANNEL
CHANNEL DATABASE
DATABASE OFFLINE
CHANNEL DATABASE
DATABASE

OOB Schema OOB Schema OOB Schema

Extension Schema Extension Schema Extension Schema

17
Demo – Headless Commerce Extension

18
Extension installers

19
Extension installers

❑ Headless Extension installers.


❑ Separates Core and extensions.
❑ Multiple extension installer.
❑ Parameters.
❑ Mass deployment.
❑ Extension installer can be generated by consuming the installer packages.

20
Demo – Extension installers

21
Point of Sale Extensions

22
POS Extensions Overview
 Extend existing POS functionality
 Views –extensions to modify the UI on POS views
 Ex. App Bar Buttons, Custom Column Sets, Custom Controls, etc.

 Request Handlers – Extensions that replace the handlers for select requests within the POS runtime
 Triggers – that add functionality to existing POS business logic workflows
 Header –extensions that add custom functionality to the POS header bar
 Create new functionality
 Controls – that can be re-used throughout the custom UI flows in POS
 Dialogs –that look and feel like existing POS dialogs
 Operations –that can perform custom business logic
 Request Handlers – that enable extensions to re-use business logic throughout the extension package
 Views – that look and feel like core POS views

23
POS Extensions Overview
 Developed in TypeScript/HTML using the PosApi library
 Each POS extension is made up of one or more a TypeScript modules and/or HTML fragments
 PosApi is JavaScript module library organized into three parts
 Create – These APIs enable extensions to create new user experiences and workflows
 Consume – These APIs provide opportunities for extensions to consume existing POS functionality & controls
 Extend – These APIs that enable extensions to extend existing POS functionality like Views and Request Handlers

 Extensions that combine to enable an end-to-end scenario are


packaged into an ExtensionPackage
 Contains a manifest.json file that lists all the extensions in the package
 Modeled as a separate project in the Commerce SDK

24
Changes to POS Extensions in the Commerce SDK

25
Improved way to use common POS controls
The PosUISdk control library was replaced with a new APIs in PosApi/Consume/Controls

Retail SDK Commerce SDK

26
Simplified custom View creation
 Extensions that create new Views
should use the new base class
CustomViewControllerBase
instead of
ExtensionViewControllerBase
 Provides a more maintainable API for
creating custom views and simplifies
extension development
 Automatic handling of the spinner and
header bar

27
Configuring POS Extension Packages
 POS now loads the list of configured
extension package definitions from the
headless Commerce engine by calling
the GetExtensionPackageDefinitions API
instead of from extensions.json
 Removes the need for a code merge in the
extensions.json file
 Enables a true independent packaging model for all
extension packages

28
Independent Packaging of Extensions in the
Commerce SDK
Retail SDK Commerce SDK

29
POS Extension Project Types in the Commerce SDK
 Pos Extension Package Project – Compiles all extensions in an extension package.
 Commerce SDK Nuget Package: Microsoft.Dynamics.Commerce.Sdk.Pos
 Project Type: .NET SDK Class Library Project (netstandard2.0, .csproj)
 Output: POS extensions web artifacts to be included in a Modern POS Modification Package and/or the Commerce
Scale Unit Deployable Package for CPOS
 Modern Pos Extension App Package Project – Creates a package with all the POS, Headless
Commerce & HWS extensions into a Universal Windows Platform App Modification Package.
 Commerce SDK Nuget Package: Microsoft.Dynamics.Commerce.Sdk.Pos
 Project Type: Universal Windows App Package Project (.jsproj)
 Output: The POS Extension Modification Package (.msix)

 Modern Pos Extension App Package Installer Project – Generates a ModernPos extension app
package installer.
 Commerce SDK Nuget Package: Microsoft.Dynamics.Commerce.Sdk.Installers.ModernPos
 Project Type: .NET SDK Console Application Project (net461, .csproj)
 Output: The Modern POS Extension Installer Executable (.exe) used to install the Modern POS extension app package
and channel database extensions

30
Demo – Point of Sale Extensions

31
Takeaways
 Commerce SDK modernizes the development experience while maintaining compatibility the
most of the existing code extensions from the Retail SDK
 Dependencies managed through NuGet simplifying update experience
 No dev VM required
 Independent packaging of extensions enables streamlined upgrade experience with no code
merge required
 Migration to Commerce SDK is required by October 2022 when support for the Retail SDK will
be dropped
 We’re hear to help ensure the migration process is a success
 Upcoming Tech Talks:
 8 am PST November 17th, 2021 - POS Extensions Deep Dive
 8 am PST December 8th, 2021 – Migrating a POS Extension to the Commerce SDK
 TBD – Packages and Build Automation with the Commerce SDK
 TBD – Headless Commerce Engine Extensions Deep Dive
 TBD – Hardware Station Extensions Deep Dive

32
Q&A

33

You might also like