Architecture Overview

Types of App Builder apps

An App Builder Application is a serverless application that extends Adobe Product APIs. These applications may be headless or headful, as described below.

Headless applications

Headless applications consist of a set of serverless actions or sequences deployed to I/O Runtime, Adobe's serverless platform.

Headless applications integrate well with remote scripts or processes that invoke them, for example AEM Assets workflows or ACS activities.

Headful applications

Headful applications are Single-Page Applications (SPAs) with full-fledged user interfaces (UIs) served from the Content Delivery Network included with App Builder. Headful applications call Adobe Product APIs directly from the client. When there is a need to orchestrate Adobe Product API calls with third-party API calls, or with the Adobe Identity Management System for authentication, you can deploy serverless actions and sequences using Runtime].

JAMStack: anatomy of an App Builder app

Single-Page App Builder applications with full-fledged UIs should follow the JAMStack Architecture.

The three main components of App Builder apps are:

JAMStack Architecture

SDK components

Command-line interface (CLI)

The CLI is one of the main touchpoints for App Builder Developers. It is based on oclif, a popular framework to build extensible command-line tools.

The CLI is supplied with these capabilities:

App Builder generators

Generators help Developers bootstrap App Builder apps when using the CLI. They can be used to create:

SDK libraries

App Builder also provides a collection of JavaScript-based SDK libraries designed to increase Developer productivity when implementing custom applications on top of Adobe APIs.

Main SDK library

The main SDK library bundles smaller, reusable SDK libraries that serve a variety of use cases:

Integration with Adobe APIs
Integration with Adobe's Identity Management System (IMS)

The Adobe IMS SDK library adds authentication management capabilities to Adobe's Identity Management Services, for these scenarios:

Integration with additional services provided with App Builder
Technical framework for Developers

The Core SDK library bundled into the main SDK library provides a lower-level technical framework for Developers.

This framework must be used when contributing to the App Builder SDK, and is recommended for use when building App Builder applications.

Core SDK library

The Core SDK library gives Developers these technical capabilities:

Configuration

The Configuration SDK library allows configurationmanagement of persistent and environment variables .

Logging

The Logging SDK library provides a logger abstraction that can be used in SDK libraries and serverless actions deployed to Runtime.

Errors

The Errors SDK library is the base implementation for all errors thrown by the SDK libraries; Developers may use it to manage their own errors.

Networking

The Networking SDK library provides low-level networking tools such as exponential back-off that can be used in SDK libraries and custom API clients.

Token-Vending Machine

The Token-Vending Machine is exposed as an API deployed to Runtime, provided with App Builder.

It lets Developers perform these actions on behalf of their App Builder application credentials:

CI/CD support

CI/CD support provided with App Builder for App Builder applications includes:

Webpack

App Builder uses webpack for bundling I/O Runtime action code. See Webpack Configuration for an overview on how to configure webpack.

Migration guides

Next steps

Continue to Dealing with Application State.

Return to App Builder Overview.

Return to Guides Index.