---
title: "Architecture overview"
slug: "architecture-overview"
abstract: "Overview of Sitecore JavaScript Services SDK (JSS) architecture"
---
# Architecture overview

The Sitecore JavaScript Services SDK (JSS) is part of the headless development suite for SitecoreAI, created to enable modern development workflows and application architecture.

## Experience Edge

[Experience Edge](https://doc.sitecore.com/xmc/en/developers/xm-cloud/en/experience-edge.html) is a highly scalable delivery platform for static publishing of JSS sites and runtime content delivery for headless sites.

To use Experience Edge for content and layout delivery, your JSS app must use GraphQL as its fetching method. This is the default option when [creating an app](https://doc.sitecore.com/xmc/en/developers/jss/22/jss-xmc/en/creating-a-jss-app-for-sitecoreai.html), but if needed you can change this method for existing apps that use REST. When the GraphQL option is enabled, *all Sitecore layout and dictionary information* is fetched using GraphQL queries.

The endpoint for Experience Edge is configured in a JSS application's `package.json` file under `config.graphQLEndpointPath`. By default, the Edge delivery endpoint is `/sitecore/api/graph/edge`.

## Sitecore integration and data flow

Applications created with JSS consume Sitecore content and personalization delivered by Experience Edge, as well as other Sitecore and third-party APIs that provide RESTful or GraphQL API endpoints.

![Sitecore integration and data Flow](https://doc.sitecore.com/api/markdown-image/sai/en/developers/jss/215/jss-sai/images/jss-architecture-overview-xmc.png)

## JSS components overview

JSS contains:

- Core SDK functionality for retrieving data from various Sitecore services and APIs to facilitate working with Sitecore data and layout in JavaScript.
- SDKs that facilitate building JavaScript applications with popular JavaScript frameworks such as Next.js. They help render Sitecore dynamic placeholders, providing components and helpers for rendering Sitecore fields, while the layout and field values remain editable by authors.
- Sample applications for frameworks such as Next.js to help developers scaffold an application for getting and showing Sitecore data.
- Developer tooling and utilities.

## Essential use cases supported by JSS applications

JSS supports the following core categories of architecturally significant use cases:

- [Content management using advanced Sitecore editors](https://doc.sitecore.com/xp/en/developers/hd/22/sitecore-headless-development/en/sitecore-editors-and-content-management.html).
- [Content presentation without compromising the Sitecore workflow](https://doc.sitecore.com/sai/en/developers/jss/215/jss-sai/page-composition-in-jss-apps-using-sitecore-data.html "Page composition in JSS apps using Sitecore data").
- [Content internationalization](https://doc.sitecore.com/xp/en/developers/hd/22/sitecore-headless-development/en/supporting-multilingual-applications-in-jss.html).

For more specific technical information, refer to [Features and capabilities of JSS](https://doc.sitecore.com/sai/en/developers/jss/215/jss-sai/features-and-capabilities-of-jss.html "Features and capabilities of JSS").