Software components and deployment types
Each Role consists of one or more software components, and may also involve one or more databases. These come in a number of deployment types.
| Deployment type | Description |
|---|---|
| Microservice | Interact with one or more microservices, which can be self-hosted or hosted in the Cloud, to use the functionality exposed by the Server Role. Collectively, the microservices are known as Content Interaction Services (CIS). |
| Database | A place for a microservice to store and retrieve its relational data. |
| Client API | Add a client API to your web application to call the microservices. These consist of RESTful APIs, collectively known as the Content Interaction Libraries (CILs), and a GraphQL-based Public Content API (also abbreviated as PCA). |
| Web application extension | Add a web application extension to your own web application to enable certain functionality. |
| Other | A few software components, such as extensions to microservices, or Cartridges, fall into none of the previous categories. |
A Content Delivery environment exposes its functionality through the single Discovery Endpoint in the form of a set of registered Capabilities. Both Content Manager and the presentation environment interact with the Discovery Service, through its endpoint, to discover which Capabilities are available in this particular environment, and where they are located.
Capabilities take the form of server-side microservices, with which you interact from your presentation environment using the CILs and PCA, which are available for Java and for .NET. CILs require no specific web application server, only a compatible version of the .NET framework or of Java. The CILs are included with the product but can also be downloaded through Maven or NuGet. The PCA is GraphQL-based and can be used through a GraphQL client, either provided through the DXA product, or installed yourself for your Java or .NET website.