Featured Post
Quickstart guide - All about Sitecore Experience Edge
- Get link
- Other Apps
Nowadays, many monolithic applications which developed earlier as a packaged solution to provide all the digital experience as single product being converted into a composable product suite in the digital transformation journey.
It means the individual component operates independently in a modular way, and communicate with other component of whole echo system via APIs.
With this idea in mind during digital transformation, organizations are moving away from the typical .NET based implementation to Headless implementation so that at any given point of time there should be no dependency on any component.
To support the composable journey of your organization in the recent past, Sitecore invested more in outstanding products to become a market leader in the composable digital experience platform (DXP) space. With these products, we can have inbound/outbound integrations with Sitecore in terms of Content Management, Personalization, Analytics, Campaign, or we can say that in the Digital Marketing space:
You can integrate components from above which are required by your DXP architecture.
In order to meet current market need, organizations moving towards the true headless CMS offering to build modern applications to support omnichannel experiences.
Once you have decided to move implementation of your web application in the headless way instead of ASP.NET MVC then after that most important architectural point is how you are going to develop decoupled applications by utilizing Sitecore services, APIs, and software development kits (SDKs) and access Sitecore data as a headless content management system (CMS).
Headless development in Sitecore is powered by a layer of services, API endpoints, and rendering SDKs:
In this article, we will explore about Sitecore scalable API layer called Sitecore Experience Edge which provides Sitecore content and to understand the details Sitecore Experience Edge for XM product would be used:
The Sitecore Experience Edge is a globally scalable SaaS API service offering from Sitecore, which provides the contents of Sitecore products and content can be items, layout, data model, and media.
While using Sitecore Experience Edge, the content would not be published to the Content Delivery environment, instead of that it would be published to Sitecore hosted (SaaS) Content Delivery Network (CDN) called Sitecore Experience Edge in the cloud.
Sitecore Experience Edge is a set of services on Sitecore's SaaS platform which helps organisations to deliver headless content at scale with significantly faster time-to-market.
The Sitecore Experience Edge is a highly scalable Content as a Service (CaaS) delivery platform that enables you to build Jamstack architectures on the Sitecore platform.
Please find below High-level view of Sitecore Experience Edge which explain components/process involves to publish content to Sitecore Managed Content as a Service (CaaS)
If you are using Sitecore XM then Sitecore Experience Edge will replace Content Delivery layer.The Experience Edge advantages and Sitecore products
Sitecore Experience Edge is not Layout Service but it's a CDN cache and snapshot of Layout Service response which published to Experience Edge and accessible via GraphQL API.
The Sitecore Experience Edge is a set of services on Sitecore's SaaS platform and it's a win-win for both marketers and developers:
- It's provides faster content delivery and data caching
- Flexibility to select a tech stack
- Decrease architectural complexity
- Extremely scalable delivery and globally replicated platform which provides content delivery using high-performing Sitecore-hosted GraphQL APIs
- Support to create static Sitecore JSS sites
- Sitecore Experience Edge is a centralized distribution layer to manage the content
- With Sitecore Experience Edge, you don't require the Sitecore Web Database and Sitecore Content Delivery Server
- Consume by any channel and application platform
- Support of Jamstack architectures to build a static website creation and deployed to Vercel then we can utilize Vercel's all-in-one platform with global content delivery networks (CDNs) which support the deployment and delivery of static and Jamstack apps
The Sitecore Experience Edge is a scalable content delivery service in the cloud available for following Sitecore Products
This global Content Delivery environment (Experience Edge) provides you a Sitecore-hosted GraphQL (GQL) API. With these Edge GraphQL (GQL) endpoint you can build your solution in any language and pull the required content with the help of GraphQL (GQL).
The major GraphQL APIs of Sitecore Experience Edge are:
- Preview API
- Delivery API
GraphQL is a query language for these APIs that gives you a flexible way to query the data. It also provides the flexibility to define API endpoints with custom url's. These endpoints host the schema, which is a strongly typed graph definition where endpoints understand the GraphQL language.
For example, if we are using the Sitecore JSS Rendering SDK with Sitecore Experience Manager (CMS-only mode) for Headless development then Sitecore Headless Services provide a GraphQL (GQL) API end points that mirrors the schema and behavior of Experience Edge, based on the Sitecore GraphQL API.
This Sitecore Experience Edge for XM Preview GraphQL API endpoint enables, preview, editing, and local development without publishing to Experience Edge (SaaS instance) and you can utilize your self-hosted Sitecore XM instance.
This GQL API endpoint mirrors the GQL Schema of Sitecore Experience Manager (XM) GQL Production schema (this shema will work on both Sitecore CM and Sitecore CD- here Content Delivery is Sitecore Experience Edge) so that development team can do the development without relying on the Sitecore Experience Edge SaaS instance.
To get more information about Sitecore Experience Edge Preview API for different Sitecore Products, you can check below URL's
The Sitecore Experience Edge Delivery API is a GraphQL API that used to deliver approved and published content and media to any app on any channel.
This API is optimized for performance and high availability, and support scaling and serve content faster. We will use this API for all production-related actions and provides a unified and strongly typed interface to access the published items.
To get more information about Sitecore Experience Edge Delivery API for different Sitecore Products, you can check below URL's
The Sitecore Experience Edge is Sitecore managed, optimized and scalable CaaS (CDN) offering, which caches content items/layout snapshot/media items located close to the users to serve content faster.
The Sitecore Experience Edge only acts as a CDN for content items/layout snapshot/media items that are within Content Management Role, and it will not do anything for Static HTML.
Every publishing of content from source (Content Management) invalidate the cached content at Sitecore Experience Edge CDN.
The media items (images/videos) stored in the Content Management (CM) Role and referenced in content items, would also be published to Experience Edge, and cached to Sitecore CDN. The media link url would be from Sitecore CDN not from Content Management (CM) Role.For example, if we are using the Sitecore JSS Rendering SDK with Sitecore Experience Manager (CMS-only mode) for Headless development and using NextJS Client-side framework to build the Front-end and deployed to Vercel then we can utilize Vercel's all-in-one platform with global content delivery networks (CDNs) which support the deployment and delivery of static and Jamstack apps. In the above diagram, NextJS app deployment to Vercel is not part of Sitecore XM Cloud.
You can use interactive browser-based GraphQL Integrated Development Environment (IDE) which based on the GraphQL Playground to validate your queries during the development phase with production schema, and without pushing to PROD environment.
With GraphQL IDE, we can use Preview API and the Delivery API.
The Sitecore Experience Edge has snaphshot of Layout Service output, so Experience Edge can not execute or support Sitecore personalization rules or content testing capabilities of Sitecore XM or Sitecore XP.
We can use Sitecore CDP and Sitecore Personalize on static websites for tracking and personalization purpose instead of Sitecore XP Personalization offerings.
If you are using Experience Edge for XM Cloud then on Content Management (CM) Role:
- You will get Sitecore embedded Personalization (tenant of Sitecore CDP and its thin layer of Sitecore Personalize)
- You will get limited support of personalization on Sitecore XM Cloud CM role and you don't get access to the full Sitecore Personalize tenant and would be using per-build templates to segregate/segment the end user's for content variation
- You will get the advantage of User Interface (UI) for your pages to add personalization to your website (to reflect on your Head application) which not present in other Sitecore SaaS offerings
- Full Sitecore Personalize license required
- These Edge middleware works as Edge Functions
- These Edge functions would be called before getting the data from edge cache and execute before a request is processed on a website
- With middleware we can effectively implement personaliztion on statically generated content by execution of custom logic/rewrite/redirect/security check in server side logic at the edge
For example, if we are using the Sitecore JSS Rendering SDK with Sitecore Experience Manager (CMS-only mode) for Headless development and using NextJS Client-side framework to build the Front-end and to get a custom response from component/rendering if you are using Custom Rendering Contents Resolver then it will work on Sitecore Experience Edge for XM.
During publishing to XM Edge, the layout of the pages is computed on the CM and Custom Rendering Contents Resolver also, then resulting layout service JSON would be send/published to XM Edge CDN for delivery.
If any changes at source, then you have to republish the pages.
The Sitecore Experience Edge provides many ways to secure the content and some options are:
Sitecore Experience Manager |
|
Sitecore XM Cloud |
|
Sitecore Content Hub |
|
Sitecore Content Hub One |
|
The Sitecore Experience Edge has following high-level limitations and restrictions, and for details you can check Limitations and restrictions of Experience Edge of Sitecore XM / Sitecore XM Cloud:
- The Sitecore Experience Edge not support personalization capabilities of Sitecore XM and Sitecore XP
- The Experience Edge schema can't be extended
- You can't customize (custom indexes) the index schema in Experience Edge because Solr indexes are not accessible via Edge or XM Cloud, and they are only used by the Content Management Admin UI
- You wouldn't be getting Sitecore Web Database
- The Experience Edge GraphQL (GQL) search queries are quite limited and support basic search, but for the advance search support you have to rely on third party search providers like Coveo, SearchStax or utilize Sitecore Search
- Get link
- Other Apps
Comments