Broadleaf Commerce Microservices benefit from shared libraries and functionality that is common to more than one service.
Below is a summary of some of the interesting common features with links to more detailed documentation.
Broadleaf services anticipate running in multi-tenanted applications. Most entities can be discriminated by tenant and application.
See MultiTenancy.
Broadleaf leverages Spring Cloud Stream as an abstraction layer for interacting with messages and brokers. The framework uses messaging in many areas including data synchronization and inter-service communication.
See Messaging Section.
Data Workflow (Sandboxing) is an architectural feature used by the Administrative application that is supported by many entities within Broadleaf. Data Workflow allows users to make changes in an isolated instance that only the user can see. When they want to share their changes, they can promote them for approval and eventually deployment.
See Data Workflow.
An important architectural concept with Broadleaf is to allow services to be composed into a single, "flex" deployment. Since each service has its own database but in some cases services share common concepts (like translations and sandboxing), we need a mechanism to handle this complexity.
Data Routing
is a general term that describes this somewhat transparent, but important
architectural concept.
See Data Routing.
Broadleaf provides internationalization features. The Pricing Service provides facilities for managing price lists in multiple-currencies and converting between currencies.
Many entities in the Broadleaf system including those in the Catalog Service support field level translations. For example, through the Broadleaf admin and import utilities, you can manage locale specific values for product names, descriptions and other fields
For entities that store amounts, the Money common library is used throughout the services. See Money.
Broadleaf provides shared-libraries to represent key order domain concepts that are used between multiple services.
Many Broadleaf Services utilize admin managed rules to control business logic. The RulesEngine
common library provides a set of classes and functionality to simplify adding rule support to a
service.
See Rules Engine.
Broadleaf provides common libraries to support common error handling needs across services. See Error Common.
Broadleaf provides common libraries for interacting with secure properties. See Secure Vault.
Securing Broadleaf microservices with Spring Security, OAuth2, and Policies. See Security.
Broadleaf supports the concept of a "marketplace" application with contributions from "vendors". See Marketplace Vendor Functionality.
Broadleaf provides its own mechanism to manage and store digital asset content.
See Asset Resolution.