Broadleaf Microservices

Unified Admin

Overview

Broadleaf provides a rich, unified admin application built to interact with headless APIs. The admin application comes configured with support for managing all of Broadleaf’s microservices. In addition, the admin is highly extensible and provides mechanisms to not only change out-of-box views, but add new ones for managing new services.

Guiding Principles

There are several guiding principles we took as we designed and developed the admin application for managing our set of microservices.

API First

It was essential for us to create an admin that was flexible enough to work with any headless API we throw at it. Not only is this important for our internally developed services, but this is important for our customers, who often have existing services that they may want to centrally manage.

Extensibility

It was essential for us to create an admin that was highly extensible. Our out-of-box admin screens and services often work as they come for many customers, but when they do not, it is important to provide ways to customize. We have put a lot of work into creating intuitive and powerful ways to extend and customize the admin to fit business needs.

Modern Technologies

It was essential for us that we keep up on the latest technologies and best practices. We chose to use React with modern tooling for our frontend, and the latest of Spring Boot for many of our services.

Architecture

The Broadleaf admin application includes a frontend written in React, and several supporting services delivered as independent Spring Boot applications.

Admin Architecture Diagram

The diagram above calls out several important components of the admin application:

Admin Client

The frontend admin client written in React. This is a single-page application responsible for rendering the admin within a user’s browser. See the Admin Client section for more on the admin client.

Admin Services

The services used to support different parts of the admin application.

Metadata

The service responsible for providing expressive metadata as JSON that is used to drive the content and layout of the admin views and forms. See the Metadata section for more on the metadata service.

Navigation

The service responsible for providing the navigation hierarchy for the admin. See the Navigation section for more on the navigation service.

Auth

The OAuth2 authorization server responsible for issuing access tokens for accessing Broadleaf Services.

Broadleaf Services

The services Broadleaf provides that the admin is pre-configured to manage and interact with.

Your Services

The services you choose to expose and manage from within the admin application.

Next Steps

Learn more about the admin, how it works, and what you can do with it:

  • Metadata: Learn more about the metadata service, and how you can build and adjust highly configurable, metadata-driven views.

  • Navigation: Learn more about the navigation service, and how you can make changes to the admin navigation.

  • Client: Learn more about the frontend client for the admin, and how it works.

  • Security: Learn more about security within the admin, and how you can manage users, roles, and permissions.