Broadleaf Microservices are developed using Java/Spring and other leading open source technologies. The technology diagram below shows the primary technologies used.
Broadleaf APIs and service components are written in Spring and Java and deployable as Spring Boot applications. Broadleaf utilizes Spring technologies where possible so developers can code in technologies they are used to.
Spring Cloud Streaming
Spring Cloud Gateway
Broadleaf works to provide upgrades compatible with the latest versions of Spring as they are released by Spring and mirrors Spring’s Java compatibility.
While not required, most implementations will utilize docker and Kubernetes for deployments and auto-scaling. See Deployment Flexibility for more information on the ways Broadleaf microservices can be deployed.
Broadleaf uses Spring Cloud Stream for messaging. Broadleaf officially supports Kafka and GCP but other technologies that are also compatible with Spring Cloud Stream
Broadleaf includes a feature rich unified admin application. This admin is able to provide a centralized, secure environment for backend data management including products, customers, and orders. It does so by interacting with services through a rich, configurable metadata representation of each service. You can also add your services. Learn more about the Unified Admin
Broadleaf relies on technologies that are cloud agnostic and can be run in any cloud or private data center in which a complex Spring application could be run. This of course includes, Google Cloud, AWS, and Azure.
Broadleaf has adopted several standards for documentation and security of microservices. All service APIs are documented with OpenAPI version 3. The Broadleaf security model is based on OWASP best practices. Authorization for service calls is based on standards including OAuth although implementation details are flexible as they are based on Spring Security and configurable to work with a variety of security models.
For Broadleaf services that require persistence, all support JPA with first class support for PostgreSQL, Oracle, MySQL, and MariaDB. Other JPA compatible RDBMS can be used but may have some limitations and require additional customization for advanced features.
Some Broadleaf services including those used by PIM have MongoDB implementations. Broadleaf recommends PostgreSQL as the standard that works the best as a whole across all of the use cases; however, broad support is available for organizations that desire to use other DB technologies.
What version of Java is supported?
Java 11 is officially supported since 1.7.0-GA.
Java 17 is officially supported since 1.8.1-GA.
Am I able to leverage OpenJDK for development and deployment of my Broadleaf-based microservices?
Definitely! We develop the framework and microservices with Eclipse Temurin (OpenJDK). Additionally, all the images we deploy to our registry for containerization are based on the freely available Eclipse Temurin JVM.