Headless Commerce
Headless Commerce
Headless Commerce
Extensions in the
Commerce SDK
Sergey Pikhulya
Yegor Denysov
Luke Graham
1
Agenda
❑ Sealing of CRT Services.
❑ CSU Development/Debugging Demo.
❑ Sealed Installer Demo.
❑ CSU Core Overview.
❑ Session Takeaways.
❑ Q & A.
2
Sealing of CRT Services
3
Sealing CRT Services
What?
❑ Only Requests/Responses for Services are available in the Commerce SDK
❑ Implementations for Commerce Runtime Services classes are not distributed in the Commerce SDK
❑ The following assemblies are not available in the Commerce SDK
❑ Microsoft.Dynamics.Commerce.Runtime.Services.dll
❑ Microsoft.Dynamics.Commerce.Runtime.Services.Desktop.dll
❑ Microsoft.Dynamics.Commerce.Runtime.Services.PricingEngine.dll
Why?
❑ Improved backward compatibility & seamless update experience
❑ Improved performance using the new ASP. Net Core CSU
Coming Soon
❑ Pricing Engine Extensibility for the Commerce SDK in 10.0.27
❑ Synchronous interfaces in CRT will be marked as obsolete in 10.0.26 and removed after the
deprecation period
4
Strategies for removing
dependencies on CRT
Services
NotHandledResponse: Useful to
run a custom handler under a
certain condition
5
Strategies for removing
dependencies on CRT
Services
ExecuteNextAsync: Useful to run
custom logic before/after the
OOB logic and modify the
response if needed
6
CSU Development/Debugging Demo
8
CSU Core
9
CSU Core
❑ Used by new development experience
❑ Available starting 9.32 (10.0.22) with new .NET runtime, ASP.NET Core and new OData
❑ 9.32-9.35 based on .NET Core 3.1 runtime
❑ 9.36+ based on .NET 6 runtime
❑ Roll-out
❑ About to become default for new environments
❑ Initially opt-in for existing environments. Eventually will be broadcasted as old SDK is being phased out
❑ Performance
❑ On https://www.adventure-works.com/ we see P50-P95 latency improved by 30~40% (currently on .NET Core 3.1)
❑ Even bigger performance improvements on 9.36+ (.NET 6)
❑ Pre-requisites
❑ /healthcheck?testname=Extensions
❑ New Commerce SDK
❑ Old SDK may be compatible if following guidelines (e.g. target .NET Standard 2.0, only async APIs, only iController for new APIs)
10
Key Takeaways
❑ CSU Self-Hosted mode is not a replacement for IIS Hosted CSU
❑ Self Host & IIS Hosted Sealed installers use ASP.NET Core CSU
❑ Commerce SDK + Sealed Installers simplify extension development, packaging and deployment
❑ Commerce SDK enables .NET Core Compatibility & significant performance Improvements
❑ Please use GitHub repos to open issues & ask questions about the Commerce SDK
❑ Retail components will be removed from IaaS development machines in a future release
❑ Last release of the Retail SDK will be 10.0.32.
11
Q&A
12